您现在的位置是:首页 > 文章详情

PaddlePaddle 3.2.0 发布

日期:2025-09-09点击:8

飞桨框架3.2版本在大模型训练推理性能、硬件适配、主流大模型及高性能加速库的支持上进一步提升。

  • 大模型训练方面,飞桨框架在计算、并行策略、容错能力三方面进行了升级:
    • 从基础计算性能层面,提出了存算重叠的稀疏掩码注意力计算FlashMask V3,极致优化Attention的计算效率,同时还实现了高效的FP8混合精度效果无损训练技术。
    • 在分布式并行策略层面,提出了动态自适应的显存卸载策略,实现存算最优均衡,再结合创新设计的显存友好的流水线并行调度,进一步降低显存开销。
    • 增强了框架原生的容错能力,实现了大规模集群训练容错系统,可在不影响训练效率的前提下在线监测静默数据损坏等难以察觉的故障,并实现了高可用的检查点容灾方法,降低中断恢复损失。
  • 在硬件适配方面,面向类CUDA芯片,全面升级插件式适配方案。
    • 在设备资源的管理调度和高性能集合通讯库方面,针对类CUDA芯片做了管理接口升级和通信能力的增强,特别增强了分布式通信能力,使XCCL对齐NCCL的各结构体和功能。
    • 新增了类CUDA算子注册机制。以沐曦适配为例,在复用GPU算子内核的基础上,仅需一行代码即可完成算子内核注册。经过统计计算,算子内核的复用率最高可以达到92%,可大幅降低硬件适配成本。
  • 使用体验方面,重点提升了兼容能力,包括开发接口兼容业界用法、safetensors模型格式兼容、和第三方高性能加速库的兼容。
    • 新增和修改开发接口兼容业界用法,新增系列API和别名,新增参数别名,新增专有和通用的参数。
    • 全面兼容 Safetensors 模型格式。新增 FlexCheckpoint 机制,支持跨分布式策略、跨模型结构间自动实现参数重切分,可显著降低权重转换成本,进而提升大模型端到端的训练与推理研发效率。
    • 系统性增强了接口兼容与算子注册能力,实现了高性能加速库一键导入,无需修改代码直接复用于飞桨的模型训练与推理加速过程中。

1. 用户体验

新特性

  • 新增API:paddle.msortpaddle.ravelpaddle.nn.functional.dropout1dpaddle.Tensor.type_aspaddle.Tensor.requires_gradpaddle.view_as_complexpaddle.view_as_realpaddle.nn.Parameterpaddle.broadcast_shapespaddle.rangepaddle.as_tensorpaddle.scatter_reduce/scatter_reduce_paddle.scatter_addpaddle.tensorpaddle.softmaxpaddle.Tensor.softmaxpaddle.rand_likepaddle.is_autocast_enabledpaddle.get_autocast_gpu_dtypepaddle.Tensor.repeatpaddle.permute#74421,#74439,#74444,#74454,#74459,#74491#74466,#74438,#74594,#74542,#74694,#74564,#74540,#74586,#74651,#74807,#74632,#74834,#74952,#74772,#74441,#74561,#74525
  • 新增paddle.compat.*一系列API,支持业界的通用用法,便于迁移代码,包括 paddle.compat.medianpaddle.compat.nanmedianpaddle.compat.softmaxpaddle.compat.sortpaddle.compat.splitpaddle.compat.min/maxpaddle.compat.Unfold#74865,#74874
  • 新增初始化一系列API,支持业界通用的参数初始化方式,包括paddle.nn.init.kaiming_uniform_paddle.nn.init.xavier_uniform_paddle.nn.init.uniform_paddle.nn.init.kaiming_normal_paddle.nn.init.xavier_normal_paddle.nn.init.normal_paddle.nn.init.calculate_gainpaddle.nn.init.constant_paddle.nn.init.dirac_paddle.nn.init.eye_paddle.nn.init.ones_paddle.nn.init.orthogonal_paddle.nn.init.trunc_normal_paddle.nn.init.zeros_#74478
  • API新增参数别名用法,例如既可以输入x,也可以输入input,用法更为灵活。包括 paddle.maximumpaddle.minimumpaddle.sqrtpaddle.topkpaddle.polarpaddle.stackpaddle.cospaddle.floorpaddle.logpaddle.powpaddle.rsqrtpaddle.signpaddle.sinpaddle.multiplypaddle.where等。#74683,#74795,#74887,#74592
  • paddle.Tensor新增支持多种初始化方式,支持灵活的创建Tensor。#74619,#75022,#75065
  • API新增一些专有参数,增强原有功能。包括 paddle.nn.functional.gelupaddle.divide/div/div_paddle.addpaddle.Tensor.copy_paddle.normpaddle.linalg.normpaddle.nn.functional.silupaddle.repeat_interleave#74485,#74562,#74420,#74768,#74855,#74903,#74788,#74631,#74947
  • API新增一些通用参数:outdevicedtyperequires_gradpin_memorybias,增强原有功能。包括 paddle.zerospaddle.zeros_likepaddle.onespaddle.ones_likepaddle.arangepaddle.eyepaddle.emptypaddle.empty_likepaddle.fullpaddle.full_likepaddle.randnpaddle.Tensor.new_fullpaddle.Tensor.new_emptypaddle.Tensor.new_onespaddle.Tensor.new_zerospaddle.tril/triupaddle.bmmpaddle.nn.Conv1D/Conv2D/Conv3D/Embeddingpaddle.diffpaddle.cumsumpaddle.varpaddle.multinomialpaddle.mean等。#74477,#74526,#74711,#74582,#74624,#74849,#74612,#74875,#74641,#74949,#74918,#74914,#74934,#74920,#74955,#74226,#74946
  • API新增别名,支持更多调用方式。包括 paddle.Tensor.mul_/mulpaddle.autograd.Functionpaddle.argwherepaddle.catpaddle.clamppaddle.gerpaddle.take_along_dimpaddle.linalg.matmulpaddle.special.logsumexppaddle.concatenatepaddle.eq/gt、paddle.Tensor.take_along_dimpaddle.nn.Conv1d/Conv2d/Conv3d`等。#74493,#74569,#74870

Bug修复

  • 修复 paddle.nanmedian 精度问题。#74263
  • 修复 paddle.distributed.fleet.utils.hybrid_parallel_util.fused_allreduce_gradients 在0-D下的问题。#74957
  • 修复 paddle.matmul 在分布式下的问题。#74989

功能增强

  • 针对返回多个Tensor的情况,通过paddle数据结构来封装,优化体验。包括 paddle.topk#74931
  • 创建类API支持size为可变参数的用法。#74494

文档

其他

2. 基础执行架构

新功能

  • 动态图支持。#74484
  • 支持 safetensors。#74642, #74609, #75049
  • 添加offloader优化计算效率。 #74837
  • 为 conv_transpose 前向计算添加 API 支持。 #74431
  • 添加offloader优化计算效率。 #74837
  • 推理部署增加了w4afp8量化推理,支持w4afp8量化权重纯排及all2all通信#74270

Bug修复

功能增强

废弃

其他

  • 更改补丁版本。 #74940

3. 分布式&自动并行

并行策略

在3.2版本中,对流水线并行功能进行了多项增强,包括实现了字典参数传递的支持,并扩展了Pipeline Layer和SharedLayerDesc对非流水线并行的兼容性;同时修复了多个关键问题,包括大尺寸张量的IPC API异常、流水线并行中的评估批次和非计算损失问题、MoE模型的梯度释放错误、PP场景下NCCL通信重建导致的hang问题,以及双流水线并行的event管理错误;此外还进行了多项性能优化,改进了双流水线并行的计算重叠效率以提升训练性能,并升级了clear_param_storage方法使其支持sharding模式下多color集合的清除和重置操作。

功能新增

  • 实现流水线并行(Pipeline Parallel)中字典参数传递的支持。#74574,#74867
  • Pipeline Layer 和 SharedLayerDesc 支持非流水线并行(nonpp parallel)。#74573

Bug 修复

  • 修复大尺寸张量的 IPC API 问题。#74472
  • 修复流水线并行中的评估批次(eval batch)及非计算损失(non-compute_loss)问题。#74170
  • 修复 MoE 模型上的梯度释放问题。#74972
  • 修复在pp的场景下重建NCCL comm存在hang的问题。#73625
  • 修复双流水线并行(dual pp)的event管理错误。#74158

优化改进

  • 优化双流水线并行的计算重叠(overlap)效率,提升训练性能。#74527
  • 升级clear_param_storage方法,支持sharding下多个color集合清除和重置。#74741

自动并行

功能改进

  • 支持分布式张量的同一维度被多个mesh维度切分时的默认切分推导规则。#74396
  • 改进 reshape 算子的切分推导规则,以支持分布式张量的同一维度被多个mesh维度切分的场景。#74352,#74579, #74565
  • 支持在不改变分布式张量数据的情况下改变张量的mesh。#74248

Bug 修复

  • 修复调用 ProcessMesh  get_group 方法时重复创建通信组的bug。#73099
  • 修复MoE场景下get_local_slices 方法的bug。#74705
  • 修复MoE场景下梯度裁剪的bug。#74916
  • 修复流水线并行场景下不同stage间无法传递stop_gradient参数的bug。#73459
  • 修复流水线并行场景下梯度裁剪的精度bug。#74409
  • 修复动态图流水线并行场景下产生冗余输出的bug。#74913
  • 修复算子moe_combinemoe_gate_dispatch在MoE场景下跑不通的bug。#74645

其他

  • 支持dataloader手动并行和自动并行的精度对齐。#73941
  • 优化动态图流水并行调度逻辑。#74720

通信库

在3.2版本中,修复了DeepEP支持sm90编译的一个报错,同时对DeepEP申请的显存分配添加了预分配功能,并升级了其intranode和internode计算kernel,进一步优化了性能和稳定性。

Bug修复

  • 修复DeepEP支持sm90 编译的一个报错。#74762

功能改进

  • 对DeepEP申请的显存分配添加预分配功能。#74465
  • 升级DeepEP的intranode和internode计算kernel。#74284

4. 算子机制

新特性

Bug修复

功能增强

性能优化

文档

  • 修复英文文档问题以及版权年份问题。 #74737

其他

  • 在XPU硬件上默认开启 WITH_XPU_FFT 选项。 #74699

5. 硬件适配

类CUDA硬件接入方案完善

主仓单测支持多硬件

新增Custom Device API支持

6. 安装环境

Bug 修复

  • 修复flashattent编译缓存的bug。#74388
  • 修复site.USER_SITE为None的bug。 #74373
  • 修复多架构 Linux 系统下gtest的编译bug。 #74723
  • 修复在 WITH_GPU=ON 情况下 DEBUG 模式编译多个报错。 #74401
  • 修复Windows下CUDA12.6编译bug。 #74990
  • 修复api-benchmark基线流水线bug。 #74770
  • 修复api-benchmark基线流水线bug。 #74778
  • 修复api-benchmark基线流水线bug。 #74779
  • 修复api-benchmark基线流水线bug。 #74780
  • 修复api-benchmark基线流水线bug。 #74800
  • 修复api-benchmark基线流水线bug。 #74803

其他

  • 禁用test_custom_contiguous单测。 #74337
  • 支持录取slice 流水线基线任务定时触发。 #74419
  • 支持slice录基线添加手动指定pr。 #74445
  • 检查代码中是否带有中问题。 #74460
  • 支持CI PaddleX在XPU上的任务。 #74426
  • 支持slice流水线豁免机制。 #74482
  • 更新paddle基础镜像。 #73423
  • windows 固定ninja版本1.11。 #74590
  • 支持添加关闭pr取消CI。 #74604
  • 支持快速跳过所有CI。 #74696
  • 增加api-benchmark基线流水线。 #74690
  • 更新nccl版本。 #74809
  • 更新approve流水线RD名单。 #74838
  • 更新approve流水线RD名单。 #74902
  • 更新safetensor到镜像中。 #74904
  • 添加flashatten的编译flag。 #74959
  • 临时禁用win-inference流水线。 #74980
  • 支持windows编译phi动态库。 #74950

更新说明:https://github.com/PaddlePaddle/Paddle/releases/tag/v3.2.0

原文链接:https://www.oschina.net/news/371061/paddlepaddle-3-2-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章