6月27日,PaddleX 3.0-beta 开源版本发布,该版本聚焦7大主流AI场景,精选68个飞桨优质模型,构建了16条产业级模型产线,包含了多项能力的显著升级,旨在助力企业开发者以低成本、零门槛的方式,有效解决产业中的实际问题。
2023年12月,飞桨正式推出了端云协同的低代码开发工具——PaddleX。这款一站式AI开发工具集成了飞桨开发套件多年积累的模型训练、推理全流程开发的优势能力。同时立足产业真实应用场景,内置12个面向产业应用的飞桨系列模型,如PP-OCRv4、PP-ChatOCRv2、RT-DETR、PicoDet等。基于低代码开发模式,PaddleX不仅可以助力开发者高效实现AI应用,更成为推动企业新质生产力飞跃的利器。
为了进一步提升 PaddleX 用户体验以及产品能力,飞桨基于前后端分离架构,对模型产线进行彻底重构,今年3月正式全新升级推出星河零代码产线!开发者无需代码开发经验,只需准备符合产线要求的数据集,6步即可高效体验从数据准备到模型部署的完整AI开发流程。
为了满足开发者在本地硬件设备上能够顺畅地开发模型的需求,飞桨与清华大学、国防科技大学等高校、科研机构合作,于6月27日发布PaddleX 3.0-beta 开源版本,该版本聚焦7大主流AI场景,精选68个飞桨优质模型,构建了16条产业级模型产线(其中9条基础产线开源,7条特色产线可在飞桨AI Studio星河社区上免费使用),包含了多项能力的显著升级,旨在助力企业开发者以低成本、零门槛的方式,有效解决产业中的实际问题。
核心亮点
- 模型丰富场景全面: 精选 68 个优质飞桨模型,覆盖图像分类、目标检测、图像分割、OCR、文本图像版面分析、文本图像信息抽取、时序分析等任务场景。
- 低门槛开发范式,便捷开发与部署: 低代码开发方式,通过统一的 API 接口实现模型产线的全流程开发,同时支持用户自定义模型流程串联。
- 本地多硬件支持,兼容性强: 支持英伟达、昆仑芯、昇腾和寒武纪等多种硬件纯离线使用。仅需修改一个设备参数,即可完成在对应硬件上的训练和推理。
PaddleX 3.0-beta开源体验地址:
http://github.com/PaddlePaddle/PaddleX
模型丰富场景全面
模型开发的过程中,开发者们常常面临模型零散、选择困难等挑战。为了解决这些问题,当前 PaddleX 精选了68个优质的飞桨模型,覆盖了图像分类、目标检测、图像分割、文字识别、时序预测等多个关键领域,并整合为16条模型产线。
产业级模型产线
低门槛开发范式
模型产线开发工具
在实际的项目开发中,一个 AI 系统往往需要考虑复杂的情况,通常需要将多个模型通过串联或者并联的方式组合使用,为了解决开发者的这个实际问题,我们提出了模型产线的概念,模型产线指的是可以独立完成某类任务且具备落地能力的模型或模型组合,可以是单模型产线,也可以是多模型组合的产线。在PaddleX 3.0-beta 版本中,我们开源了基础模型产线,这些模型产线可以帮助我们快速完成模型的体验和部署。您可以根据实际体验情况,通过 6 步,快速完成产线部署落地。
- 选择产线:开发者根据场景任务选择对应的产线;
- 在线体验:前往星河社区【模型产线】版块,点击【创建产线】,点击对应产线进行在线体验。
体验链接:https://aistudio.baidu.com/pipeline/mine - 选择模型:对产线中效果不及预期的模块,可以根据 PaddleX 提供的模型 benchmark 信息选择可替换的模型,开发者可以根据实际场景替换精度更高或者速度更快的模型;
- 模型微调:选择好对应的模型后,即可使用单模型开发工具进行模型的开发,包括数据校验、模型训练、模型评估等;
- 产线测试:将产线中的模型替换为微调后的模型进行测试,如果符合预期,就可以直接集成和部署,如果不符合预期,可以继续重新选择模型升级迭代。
- 开发集成/部署:使用 PaddleX Python API 将模型产线集成到个人项目中,或使用离线部署包实现基于 FastDeploy 的本地高性能推理/服务化部署。
模型产线开发流程
单模型开发工具
模型产线中的模型优化依靠单模型开发工具,如何低成本开发和优化单模型一直是业界关注的问题,PaddleX 为了解决这个问题,在模型的开发流程上做了升级,开发者无需深入底层原理,仅需要统一的命令,加载不同的配置,即可完成不同任务的数据校验、训练、评估、推理。在此基础上,PaddleX 暴露了关键超参数,支持开发者快速修改调参优化模型。
- 统一的命令完成数据校验、训练、评估、推理
python main.py -c config.yaml -o Global.mode=train
main.py 为模型开发统一入口,config.yaml 中包含了具体模型的信息,如模型名字、学习率、批次大小等,mode 支持数据校验(dataset_check)、训练(train)、评估(evaluate)、推理(predict)。模型训练完之后,会自动保存模型的动态图和静态图权重,方便后续集成。
- 快速进行模型优化
python main.py -c config.yaml -o Global.mode=train -o Train.learning_rate=0.001 -o Train.epochs_iters=100
PaddleX支持开发者对常用超参数进行快速修改进而完成模型的优化,对于模型优化的关键超参数,已经在模型对应的config.yaml中暴露,可以通过命令行方便地修改替换。
- 三行代码集成到自己的项目中
from paddlex import create_model
model = create_model(model_name="PP-YOLOE_plus-S", model_dir="your_model_dir")
result = model.predict({'input_path': "xxx.jpg"})
开发者可以方便地将训练好的模型通过三行代码,集成到自己的项目中,也可以通过这些简单的 Python API 完成模型的组合使用。
本地多硬件支持
为了满足用户的多硬件需求,PaddleX团队基于飞桨框架在硬件兼容性和灵活性方面的优势,积极适配了多种芯片,为用户在硬件上提供更大的选择空间。除了英伟达GPU之外,PaddleX 3.0-beta 还支持昆仑芯、昇腾、寒武纪等硬件。只需添加一个配置设备的参数,即可在对应硬件上使用上述工具。每款硬件上,PaddleX 3.0-beta 支持的模型数量都达到数十个,详细的模型支持列表请在下方链接中查看,未来我们还将持续在这些硬件上适配更多的模型,敬请期待。
昆仑芯:
https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/tutorials/models/support_xpu_model_list.md
昇腾:
https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/tutorials/models/support_npu_model_list.md
寒武纪:
https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/tutorials/models/support_mlu_model_list.md
在PaddleX上基于多硬件启动训练的方式非常简单,只需要参照安装文档安装多硬件版本的飞桨框架后,在启动训练时指定使用设备即可。
- 基于昆仑训练模型:
指定使用设备为昆仑芯xpu
python main.py -c config.yaml -o Global.mode=train -o Global.device=xpu
- 基于昇腾训练模型:
指定使用设备为昇腾npu
python main.py -c config.yaml -o Global.mode=train -o Global.device=npu
- 基于寒武纪训练模型:
指定使用设备为寒武纪mlu
python main.py -c config.yaml -o Global.mode=train -o Global.device=mlu
为了让小伙伴们更快速地了解模型开发全流程操作技巧,以及基于真实产业用户场景与业务数据,如何利用本地GPU算力,低成本零门槛解决产业实际问题,百度高级研发工程师将于7月16日(周二)19:00为大家深度解析从数据准备、数据校验、模型训练、性能调优到模型部署的开发全流程开发难点,从场景、产线、工具完成产业实操体验。赶快扫描下方海报二维码预约报名!
同时,关于 PaddleX 的技术问题欢迎大家扫码上方二维码入群讨论,也欢迎大家在 GitHub 点 star 支持我们的工作!
相关链接
- PaddleX 3.0-beta开源版体验地址:
http://github.com/PaddlePaddle/PaddleX
- PaddleX星河零代码产线云端体验地址: