PaddlePaddle has released version 2.3.0, marking a shift toward a more modular and high-performance framework architecture. The update focuses heavily on a new operator library and significant upgrades to distributed training capabilities.
PHI Operator Library: A Modular Approach
A central focus of this release is the introduction of the PHI (Paddle HIgh reusability operator library). PaddlePaddle describes PHI as a function-based operator library designed to address issues with the original operator library, such as unclear interfaces, high reuse costs, and performance bottlenecks.
PHI supports three key reuse modes:
- Composition: Reusing operator functionality through composition.
- Primitives: Reusing Primitive operator kernels across different hardware.
- Plugins: Integrating hardware acceleration libraries as plugins.
From a technical standpoint, the library provides over 200 C++ operator class APIs that mirror the Python development interface. It also offers nearly 500 function-style operator kernels (forward and backward) for composition. This architecture aims to significantly reduce the development cost for both native and custom operators.
Distributed Training Upgrades
The framework has undergone a comprehensive upgrade to its adaptive distributed training architecture. This upgrade includes modules for elastic scaling, asynchronous pipeline execution, heterogeneous communication, and automatic parallelism.
For dynamic graph mixed parallelism, the release introduces new strategies including MoE (Mixture of Experts) parallelism, GroupSharded parallelism, and Pure FP16 training. These additions are intended to support the efficient training of large models.
In terms of performance, PaddlePaddle reports that the upgraded general heterogeneous parameter server architecture has improved GPU parameter server performance by 2.38x under conditions of billions of parameters and data points with minute-level streaming training.
Hardware Support and Inference Updates
The release broadens hardware compatibility and inference tooling:
- New Hardware: Support has been added for training and inference on Huawei Ascend 910, GraphCore IPU, Cambricon MLU, and Kunlunxin 2nd Gen. A plugin-based extension mechanism is also provided for custom hardware backends.
- Inference: New capabilities include a Java API and an ONNX Runtime CPU backend. For TensorRT users, support has been added for versions 8.0 and 8.2, along with structured sparsity support, specifically optimized for ERNIE-style structural models.
- API Expansion: Over 100 new APIs were added, covering areas such as automatic differentiation, linear algebra, probability distributions, sparse tensors, framework profiling, and hardware device management.