this is version 2.3.0

我们很高兴地发布飞桨框架 2.3.0 版本,本版本包含如下重要更新。

API

  • 新增 100 多个 API,覆盖自动微分、线性代数、概率分布、稀疏张量、框架性能分析、硬件设备管理、视觉领域等方面。

  • 新增 4 个自动微分 API,11 个线性代数 API,21 个概率分布类 API,更好地支持科学计算、强化学习等场景。

  • 新增 11 个 稀疏张量计算 API,支持创建 COO、CRS 格式的 Sparse Tensor 以及与 Tensor 互相转换等基础功能。

  • 新增 9 个框架性能分析 API,以paddle.profiler.Profiler为核心,提供对训练、推理过程中性能数据的收集、导出和统计的功能。

  • 新增 7 个硬件设备管理 API,更好支持硬件相关信息获取。

  • 新增多个视觉、文本领域 API,方便复用 MobileNetV3, ResNeXt等骨干网络,实现快速组网。

飞桨高可复用算子库 PHI

  • 发布飞桨高可复用算子库 PHI (Paddle HIgh reusability operator library),支持组合式算子功能复用、Primitive算子内核复用、插件式硬件加速库复用。针对飞桨框架原算子库存在的算子接口不清晰、算子复用成本较高、调用性能不够快的问题,我们重构了飞桨框架的算子库,设计了灵活、高效的函数式算子库 Phi,可以通过对函数式算子接口组合调用的方式实现新算子。新算子库提供了 200 余个跟 python 开发接口保持一致的 C++ 运算类 API,以及近500个可供组合调用的前、反向函数式算子内核 Kernel,可大幅降低框架原生算子和自定义算子的开发成本。新算子库支持Primitive API方式开发算子内核,可支持不同硬件(比如GPU和XPU)的算子内核复用。新算子库支持以插件方式接入硬件(比如NPU)的加速库,实现低成本复用硬件加速库。

分布式训练

  • 全面升级自适应分布式训练架构,含弹性扩缩容、异步流水执行器、异构通信、自动并行等多个模块,支持了多种异构硬件下自动感知的分布式训练及分布式推理。

  • 动态图混合并行下新增MoE并行策略、GroupSharded 并行策略、Pure FP16 等,进一步支持了动态图下大模型的高效并行训练。

  • 全面升级优化了通用异构参数服务器架构,进行各模块的抽象简化,如通信、存储等,提升了参数服务器的二次开发体验;GPU 参数服务器在千亿参数百亿数据分钟级流式训练下性能提升2.38倍。

编译安装

  • 从 2.3.0-rc0 版本开始,飞桨对框架支持的 GPU 架构种类进行了调整和升级。

推理部署

  • 新增 Java API 和 ONNX Runtime CPU 后端。

  • 支持 TensorRT 8.0 / 8.2 和结构化稀疏,针对 ERNIE 类结构模型性能深度优化。

硬件适配

  • 新增自定义新硬件接入:提供一种插件式扩展 PaddlePaddle 硬件后端的方式。

  • 新增对华为昇腾910 / GraphCore IPU / 寒武纪MLU / 昆仑芯2代多种异构芯片的训练/推理支持。

框架架构

Thanks to our Contributors

This release contains contributions from the project core team as well as :

Adam Osewski, Allen Guo, arlesniak, chenenquan, chenyanlann, fengkuangxiaxia, fuqianya, fwenguang, guguguzi, helen88, houj04, Jacek Czaja, jakpiase, jianghaicheng, joanna.wozna.intel, joeqiao12, Leo Chen, Leo Guo, Li-fAngyU, lidanqing, Liyulingyue, Matsumoto GAO, maxhuiy, Ming-Xu Huang, Nyakku Shigure, piotrekobi, piotrekobiIntel, QingshuChen, qipengh, Skr Bang, Sylwester Fraczek, Sławomir Siwek, taixiurong, tanzhipeng, Tomasz Socha, TTerror, Webbley, yaozhixin, ykkk2333, yujun, Zhangjingyu06, zhangxiaoci, zhangyikun02, zhangyk0314, zlsh80826, zn, Zuza

项目简介

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/paddlepaddle/paddle

发行版本 60

PaddlePaddle 2.5.0 Release Note

全部发行版

贡献者 246

全部贡献者

开发语言

  • C++ 49.8 %
  • Python 41.0 %
  • Cuda 7.0 %
  • CMake 1.1 %
  • Shell 0.6 %