github PaddlePaddle/Paddle v3.3.0
PaddlePaddle 3.3.0 Release Notes

6 hours ago

重要更新

飞桨框架 3.3 版本在大模型训练效率、开发体验及国产硬件适配等关键领域持续突破创新,在计算显存高效利用、训推衔接转换、生态兼容性、调试效率、国产硬件适配等方面带来多项重要升级,全面提升大模型训推能力。

1. 训练效率突破

  • FlashMaskV3升级:深度优化稀疏注意力掩码计算FlashMaskV3计算内核,性能全面超越FlexAttention,算子性能最高领先2.1 倍;原生支持上下文并行并引入计算负载均衡机制,分布式场景算子性能相比Megatron-LM快80%,全面强化长文训练能力。
  • FlexCheckpoint参数自动切分重组系统:基于首创的轻量级描述语言AOA (All in One Arrow),支持从单卡视角灵活描述复杂的权重转换关系,并自动推导分片映射;通过跨机通信的高并发与负载均衡调度,在大参数规模下权重转换性能相比Megatron-LM领先1.2倍以上,有效解决大模型训推不同阶段参数转换的成本与效率难题。
  • 虚拟内存动态碎片整理:引入基于虚拟内存技术的显存分配机制,可根据运行时显存占用情况动态进行碎片整理。在主流MoE模型训练中,显存碎片率从超过10%降至最低3%,显著提升显存利用率。

2. 开发体验优化

  • 生态兼容:通过框架API、算子注册、执行调度等关键链路的兼容设计,实现无缝衔接使用外部生态算子,支持FlashInfer、FlashMLA、DeepGEMM、DeepEP、TorchCodec和SonicMoE等社区高性能模块的高效集成应用。
  • 动态图调试能力升级:新增动态图前反向计算图可视化功能,支持导出算子调用栈与张量MD5校验信息;系统优化关键路径日志,新增局部日志打印功能,提升调试信息丰富度与获取便捷性。
  • 显存观测工具:新增显存观测功能,可视化显存池中内存块分布,支持追踪特定代码段的显存申请/释放与全局状态,助力大模型显存异常的精准定位与处置。

3. 国产硬件深度适配

  • 昆仑芯 XPU:系统完善MoE场景适配,为相关算子新增bool、bfloat16、complex64数据类型支持,并对FlashAttention、DeepEP、Profiler等模块进行深度适配。
  • 海光 DCU:支持 Hygon数学库后端,进一步优化海光芯片推理性能。

1. 执行调度机制

针对大模型预训练、后训练与推理阶段中,因分布式策略及组网差异导致的权重转换困难,飞桨FlexCheckpoint机制创新提出高效的权重重组方法与灵活的模型编辑原语AOA,为模型研发到生产全流程提供高效、统一的分布式参数转换与重组支持。该机制全面适配训推衔接、跨策略断点续训、生态兼容格式加载导出、强化学习参数同步等多种场景下的权重转换需求,并在大参数规模场景下实现超越Megatron-LM 1.2倍以上的转换性能,从根本上解决了分布式参数转换成本高、效率低的难题。
在显存管理方面,针对MoE模型因专家路由动态性导致的显存碎片率高、资源浪费严重等问题,本版本推出了基于虚拟内存管理技术的高性能VMM Allocator。该分配器可在模型运行期间根据系统显存使用情况,动态自适应执行碎片整理,显著提升显存利用效率。
飞桨3.3版本持续深耕自动并行与AI编译器技术。在自动并行架构中新增对FSDP等策略的支持,并增强了动态Shape流水线并行功能;面向科学计算场景,实现了对高阶导数的支持,并拓展了相关算子切分推导规则的覆盖范围,进一步提升了自动并行架构的通用性与易用性。此外,围绕推理场景,优化了AI编译器CINN及动转静SOT功能,显著提升易用性与执行调度性能。

新特性

功能增强

  • FlexCheckpoint优化AOA宏展开功能,为fuse类宏支持传入axis属性。#75282
  • FlexCheckpoint AOA解析功能增强,支持优化器状态与模型状态共用一套AOA标记,切分信息传递、模型加载与存储共用一套AOA标记。#75613, #76013, #76437
  • FlexCheckpoint支持ShardingStage2和ShardingStage3策略。#76309, #76538
  • 优化FlexCheckpoint报错信息。 #76813, #77266
  • 自动并行中层 API 流水线 Hook 支持处理元组对象。#75081
  • 自动并行流水线并行策略支持动态shape。#75724
  • 支持自动并行场景下的FlexCheckpoint机制及优化器状态字典的分片处理。#76240, #76305
  • 动转静升级 DLPack 到v1.2 版本,全面支持 TVM FFI,支持 C 函数交换协议、DataType 交换协议、Device 交换协议等新特性。#75193, #75205, #75650, #75854, #75973, #76828, #76673
  • 将ComparePriority 函数返回类型从 bool升级为int,以满足 std::sort 的严格弱序要求,并引入 SortComparePriority 包装函数确保排序算法正确性。#76027
  • 动转静支持禁用编译超时自动回退功能。#76386
  • 统一EqualAllOpInferSymbolicShape 函数与InferMeta 逻辑,提升编译器与框架动态图调度结果的一致性。#76477
  • 为all_reduce,c_allreduce_sum,c_concat,c_identity,flash_attn_unpadded,mp_allreduce_sum等算子添加 infer_symbolic_shape 接口,支持符号化形状推导。#76783, #76836

性能优化

  • 将FlexCheckpoint保存阶段重组摊平权重的通信操作延后至加载阶段执行,减少高频保存操作的耗时。#75613
  • FlexCheckpoint支持使用Grouped Send Recv进行参数重切分通信。#76779, #76810
  • FlexCheckpoint支持权重冗余存储,减少热启时权重重切分时间。#76857
  • CINN支持编译Kernel 缓存功能,节省编译耗时开销。 #75989, #76825, #76853
  • 优化动转静子图打断率,提升整体转静性能。#76104, #76354, #76641, #76862
  • CINN化简过长的 shape 表达式以减少符号推导耗时。#76969

Bug 修复

2. 算子优化完善

为突破大模型注意力掩码计算复杂度高、存储占用大导致的训练效率瓶颈,飞桨持续优化并打磨自主创新的列式稀疏注意力掩码计算技术FlashMask。Paddle 3.3新升级的FlashMask V3版本首次提出前向持久化抢占式Tile调度器(Persistent Preemptive Tile Scheduler,PPT),实现 GPU 流式多处理器(SM)间的计算负载均衡,并原生支持长文本上下文并行下的复杂掩码注意力计算,全面强化长文训练能力,在多种掩码模式下实现训练性能质的飞跃:相比上一版本性能最高提升超过 1.4 倍,全面超越FlexAttention,单卡性能最高领先FlexAttention 达 2.1 倍,分布式性能最高领先Megatron-LM 分布式实现版本 80%。除FlashMask外,Paddle 3.3版本对主流MoE模型的高频算子kernel进行了专项精度优化,并增强stride、超大Tensor等场景的支持能力,大幅改进框架算子在超大规模模型训练场景的数值精度、稳定性和健壮性。

新特性

  • 新增API: paddle.compat.nn.functional.linear,paddle.dot,paddle.is_floating_point,paddle.is_tensor,paddle.isin。 #76144, #75150, #75032
  • 新增Flashinfer支持。#75075
  • FlashMask V3实现block mask,支持稀疏 Attention 计算。#76407

功能增强

性能优化

  • FlashMask v3 通过引入PPT负载均衡调度器、TileSize调优及kernel控制流优化等多项技术手段,提升kernel整体性能。#75984, #76003, #76216
  • 优化FusedRope 内核,提升计算性能。#76824

Bug 修复

3. 用户体验升级

全面提升生态兼容性,支持在paddle框架中无缝衔接和使用外部生态算子,并推出paddle.compat系列API,包含paddle.compat.nn.Linear、paddle.compat.nn.MultiheadAttention等近10个功能模块,降低飞桨模型接入外部生态模块的成本。优化动态图调试体验,新增前反向计算图可视化功能,构建了API、Tensor与GradNode的统一命名关联体系并支持导出调用栈与MD5校验信息,同时对关键路径日志进行治理并新增局部日志打印功能,特别针对PyLayer嵌套场景显著提升报错信息精准度与日志层级可读性,实现调试信息的丰富度和获取便捷性的提升。新增显存观测功能,直观展示显存池中各个内存块的分布情况,并支持追踪特定代码段的显存申请/释放与全局状态,实现对大模型显存异常的精准定位与高效治理。

新特性

功能增强

Bug 修复

  • 修复paddle.Tensor构造时的place相关问题。#75017
  • 修复装饰器中缺失泛型参数导致类型传播中断的问题。#75162
  • 修复动态shape处理中除法操作问题。#75526
  • 修复设备类API、model.to(device=tensor.place)相关问题。#75308, #75530, #75867
  • 修复Tensor.__eq__和Tensor.__ne__对不支持类型的处理。#76118
  • 修复to_sparse_coo,to_sparse_csr问题。#76076
  • 修复CTCLoss的zero_infinity参数位置和文档。#76156,#76188
  • 修复Embedding的weight[padding_idx]初始化问题。#76204
  • 修复XPU pin_memory问题。#76147
  • 修复张量打印问题。#76380
  • 修复Windows编译错误。#76322
  • 修复paddle.nn.Parameter的kwargs参数传入问题。#76476
  • 修复Layer.zero_grad,normalize,uniform_,unfold问题。#76494, #76600
  • 修复窗函数的dtype相关问题。#76623
  • 修复view梯度在out_grad不连续时的问题。#76679
  • 修复custom_device中的.cuda问题。#76755
  • 修复SDPA在分布式上运行的错误。#76782
  • 修复paddle.compat.equal问题。#76658
  • 修复MultiHeadAttention中GQA中的head为0问题。#76761
  • 修复Dy2St因字典顺序触发的重新编译问题。#76944
  • 修复SDPA的attn_mask扩展问题和变量名问题。#76959
  • 修复Tensor.data相关问题。#76818, #76933

4. 国产硬件适配

对XPU算子能力进行了系统性增强,针对MoE相关算子新增bool、bfloat16、complex64等数据类型支持,并完善FlashAttention、DeepEP、Profiler等关键模块,显著提升了大模型训练场景的昆仑芯适配能力。此外,通过引入Hygon数学库后端,进一步优化了海光DCU芯片推理性能。

新特性

  • 系统增强XPU硬件上assign,assign_value,concat,fill_any,multiply,scatter_nd等关键算子在bool、bf16、complex64等数据类型的支持能力。#75249, #76893, #76903, #76904, #76912
  • 新增XPU硬件的index_elementwise_get和masked_fill算子支持。
  • aarch64 架构支持XCCL。#75797
  • 支持XPU DeepEP。76284, #76362, #76594, #76869
  • 支持XPU moe_gate_dispatch算子。#75230
  • 自定义设备支持mixvector。#75182

功能增强

  • profiler功能支持XPU Nvtx和CUPTI事件采集。#76385
  • FlashAttention 重构,支持 float16的fa_taccum。#76737
  • 升级XHPC至20251014版本。#75872
  • pool2d和pool2d_grad算子底层升级xpudnn实现。
  • CUDAExtension 支持 Custom Device。#76876
  • 将 asin升级为 arcsin 以支持 NumPy 1.x。#76485

性能优化

  • 引入Hygon 数学库后端以提升海光设备推理性能。#76266

Bug 修复

  • 修复pinned memory 在 Custom Device 上的误用问题。#75593
  • 修复arange,beam_search_decode,binomial_kernel,combine,dispatch,expand,fused_layernorm,mask_select,mp_allreduce_sum,multiclass_nms3,nonzero,psroi_pool_grad,quantize_linear,top_p_sampling 等一系列算子问题。#75532, #75938, #76238, #76487, #76547, #76548, #76561, #76651, #76666, #76690, #76792, #76901, #76906, #77025
  • 修复iluvatar_gpu和metax_gpu相关编译问题。#75969
  • 更新xhpc以修复 strided_copy 参数检查问题。#76213
  • 修复在启用编译选项-DWITH_XPTI=ON时的构建失败问题。#76577
  • 修复 XPU下AddGradKernel,SoftmaxWithCrossEntropy,view等算子问题。 #76631

5. 贡献者名单

ADchampion3, ALGO1832, AlAuAu, Android zhang, Ayakouji, Bvicii, Chang Lu, Chen Zhiyang, Difer, Echo-Nie, Eddie-Wang, Fang Chengjie, Felix Schladt, Frank Lee, GoldPancake, Gu Shiwei, HU Shenwei, Haco, Hammer, Haonan Luo, Haze188 灏喆, HydrogenSulfate, Jia Ningyu, Jianbang Yang, Jiaxin Sui, Jingzong Liu, Kunbo Ding, LLSGYN, Leo Guo, LiaoYFBH, LixinGuo, Lucas, Luckycheng222, Ma Xiaolong, MayYouBeProsperous, MingkunZhang, Nyakku Shigure, Pan Zhichen, Patrisam, Qianyue He, Ricardo-shuo-liu, Rockway, Ruibiao Chen, Runming Xie, Ryan, SUN Dong, SZTULDH, Shuhao Liang, SidusAntares, Sunday019, Sunny-bot1, Tao Luo, Tianyu Zheng, Tofu, Wang Jiabao, Wenfei (Charles) Qi, Wennie396, Xiangrui Yu, XiangzheWang, XiaoguangHu, YUNSHEN XIE, Yami, Yiqun Liu, Yohanna, Yuan Xiaolan, YuanRisheng, Yuang Liu, Yufei Liao, Yuntao Nie, Yuqiang Ge, Yutian Rao, Z784555, Zero Rains, Zhan Rongrui, Zhang Ting, Zhaowu Pan, ZhenxingLi, Zhou Xin, ZhouDuan, ZhouMinhao98, Zx, baiyue, baoqiwen, bigwhite37, blacksheep-Aristotle, bukejiyu, chen, chen2016013, co63oc, cyberslack_lee, cyy536, dakelong, ddchenhao66, dongzezhao, fangfangssj, fanhaoxuee, feri, fxyfxy777, gouzil, huangjiyi, ice, jzhang533, lijialin03, lijin23, liufengwei0103, liuruyan, lzy, megemini, mikethegoblin, ooo oo, paddle-xpu-bot, qjyyy77, qw86972190, sneaxiy, starcrown001, tianhaodongbd, tianlef, tianshuo78520a, umiswing, waliwali777, wanghuancoder, wanrui, xiaoguoguo626807, xingmingyyj, xinruiM, xuanyuanminzheng, xxiu1, yangjianfengo1, yongqiangma, yunruoxi, zccjjj, zhangbo9674, zhanghonggeng, zhangyikun02, zhangyuqin1998, zhengshengning, zhupengyang, zhwesky2010, zoeczy, zyfncg, zzm, 周周周, 苍天荒, 椿下湫咚, 正在学习, 学习中的牛马

Don't miss a new Paddle release

NewReleases is sending notifications on new releases.