PaddleNLP 3.0:实现千亿模型训推全流程的一站式解决方案
背景与简介
大语言模型的快速发展对训练和推理技术提出了更高的要求。基于飞桨框架 3.0 版本打造的 PaddleNLP 大语言模型套件,通过极致的全流程优化,为开发者提供从组网开发、预训练、精调对齐、模型压缩以及推理部署的一站式解决方案。
产品亮点
1. 大模型自动并行,千亿模型训推全流程开箱即用
基于飞桨框架 3.0 版本,通过统一的分布式表示结合自动并行技术,大幅简化了组网开发的复杂性。分布式核心代码量减少 50% 以上,全分布式策略支持的组网使得 Llama 3.1 405B 模型开箱即用。同时预置了 80 多个主流模型的训练 - 压缩 - 推理的全流程方案,以满足不同场景需求。
动静统一、自动并行
本次 PaddleNLP 3.0 升级总计涵盖了 80+ 业界主流的开源大语言模型,参数量覆盖从 0.5B 到 405B 不等,能够灵活满足各种场景下的用户需求。借助飞桨 3.0 版本框架的最新特性,通过统一的分布式表示和自动并行技术,大幅简化了组网开发的复杂性。分布式核心代码量减少 50% 以上,全分布式策略支持的组网使得 Llama 3.1 405B 的 SFT 与 PEFT 功能开箱即用。
2. 大模型训推一体,提供产业级高性能精调与对齐方案
基于飞桨框架独有的 FlashMask 高性能变长注意力掩码计算机制,结合 Zero Padding 零填充数据流优化技术,可最大程度减少无效数据填充带来计算资源浪费,显著提升精调和对齐性能。以 Llama 3.1 8B 模型为例,相比 LLaMA-Factory 方案,性能提升了 1.2 倍,单机即可完成 128K 长文的 SFT/DPO。借助飞桨训推一体特性,提供产业级的 RLHF 方案,PPO 采样可复用推理加速算子,训练吞吐提升达 2.1 倍。
精调对齐性能极致优化,支持 128K 长上下文训练
在精调和对齐训练中为业界普遍采用定长 Padding 策略解决数据长度不一的问题,该做法随着数据集长度分布差异增大,无效的 Padding 计算也会同步增加,继而导致训练时间增长。针对这一问题,飞桨框架独有 FlashMask 高性能变长注意力掩码计算结合 PaddleNLP 中 Zero Padding 零填充数据流优化技术,通过分组贪心的数据填充策略,可最大程度消除无效 Padding 的比例。同时,ZeroPadding+FlashMask 稀疏计算的特性也大幅减少了显存开销,使精调训练代码无缝从 8K 扩展到 128K 的长文训练。
综合上述优化,相比 LLaMA-Factory,PaddleNLP 在 SFT 环节性能提升 120%,DPO 环节性能提升 130%~240%,大幅降低了大模型精调和对齐环节所需的计算成本。
训推一体框架特性加速 RLHF 训练效率
人类反馈强化学习(RLHF)通过不断接收人类对于模型行为的直接评价或示例指导,促使模型效果逐渐逼近人类预期的行为模式。然而,多样化的样本导致待对齐模型出现奖励信号互斥和策略更新程度难以平衡的现象,进而导致模型训练时波动幅度大且收敛速度慢,多模型生成和训练容易占用显存大,训练速度慢。针对这一系列问题,PaddleNLP 基于飞桨训推一体框架特性和多种策略结合的来解决:
- 训推一体:依托飞桨框架训推一体特性,在 Policy 模型采样生成复用推理高性能融合算子,使 RLHF 训练加速 2.1 倍。
- 显存优化:基于飞桨原生的张量并行/流水线并行能力,结合 Offload 训练模式控制显存占用,单机即可完成训练百亿级别 PPO 训练。
- 策略优化:支持优势函数平滑、EMA 参数策略,提升模型训练稳定性。
综合上述优化,以 LLaMA-7B 模型为例,PaddleNLP 的 PPO 训练性能达 Beaver 框架的 3.2 倍。
3. 大模型多硬件适配,30 余接口低成本适配实现软硬协同优化
基于飞桨框架 3.0 发布的大模型多硬件适配技术,通过插件式软硬件松耦合的分层设计,可以低成本完成芯片的大模型基础适配和软硬协同优化,其具备以下特点:
- 硬件适配简捷高效:不同硬件仅需适配 30 余接口,即可全面支持大模型训压推。
- 基础算子体系完备:通过基础算子体系,减少硬件适配所需开发的算子数量。
- 大模型性能极致优化:支持算子融合、显存复用等方式实现高效算子流编排,极致显存复用优化。
- 硬件编译接入自动优化:支持通过神经网络编译器代码后端 CodeGen 的方式接入,实现多硬件后端的算子生成与性能优化。
PaddleNLP 目前一站式支持英伟达 GPU、昆仑芯 XPU、昇腾 NPU、燧原 GCU 和海光 DCU 等多款芯片的大模型训练和推理,依托框架多种算子接入和适配模式,以及自动并行调优等技术,便捷实现框架与芯片软硬协同的性能优化。
当前 PaddleNLP 3.0 在支持英特尔 CPU 和英伟达 GPU 的硬件基础上,针对 Llama 类模型结构已适配了昆仑芯 XPU、昇腾 NPU、海光 DCU 以及燧原 GCU 等国产硬件的训练和推理,只需要一行代码即可轻松切换硬件。
paddle.device.set_device("gpu")
paddle.device.set_device("xpu")
paddle.device.set_device("npu")
paddle.device.set_device("gcu")
paddle.device.set_device("cpu")
总结
PaddleNLP 3.0 通过自动并行技术降低开发成本,通过训推一体优化提升训练效率,并通过多硬件适配实现广泛的生态兼容。这些特性共同构成了一个高效、灵活且易于使用的大模型开发平台,助力开发者快速构建和部署大规模语言模型应用。