PaddlePaddle 3.2.0 发布
飞桨框架3.2版本在大模型训练推理性能、硬件适配、主流大模型及高性能加速库的支持上进一步提升。
- 大模型训练方面,飞桨框架在计算、并行策略、容错能力三方面进行了升级:
- 从基础计算性能层面,提出了存算重叠的稀疏掩码注意力计算FlashMask V3,极致优化Attention的计算效率,同时还实现了高效的FP8混合精度效果无损训练技术。
- 在分布式并行策略层面,提出了动态自适应的显存卸载策略,实现存算最优均衡,再结合创新设计的显存友好的流水线并行调度,进一步降低显存开销。
- 增强了框架原生的容错能力,实现了大规模集群训练容错系统,可在不影响训练效率的前提下在线监测静默数据损坏等难以察觉的故障,并实现了高可用的检查点容灾方法,降低中断恢复损失。
- 在硬件适配方面,面向类CUDA芯片,全面升级插件式适配方案。
- 在设备资源的管理调度和高性能集合通讯库方面,针对类CUDA芯片做了管理接口升级和通信能力的增强,特别增强了分布式通信能力,使XCCL对齐NCCL的各结构体和功能。
- 新增了类CUDA算子注册机制。以沐曦适配为例,在复用GPU算子内核的基础上,仅需一行代码即可完成算子内核注册。经过统计计算,算子内核的复用率最高可以达到92%,可大幅降低硬件适配成本。
- 使用体验方面,重点提升了兼容能力,包括开发接口兼容业界用法、safetensors模型格式兼容、和第三方高性能加速库的兼容。
- 新增和修改开发接口兼容业界用法,新增系列API和别名,新增参数别名,新增专有和通用的参数。
- 全面兼容 Safetensors 模型格式。新增 FlexCheckpoint 机制,支持跨分布式策略、跨模型结构间自动实现参数重切分,可显著降低权重转换成本,进而提升大模型端到端的训练与推理研发效率。
- 系统性增强了接口兼容与算子注册能力,实现了高性能加速库一键导入,无需修改代码直接复用于飞桨的模型训练与推理加速过程中。
1. 用户体验
新特性
- 新增API:
paddle.msort
、paddle.ravel
、paddle.nn.functional.dropout1d
、paddle.Tensor.type_as
、paddle.Tensor.requires_grad
、paddle.view_as_complex
、paddle.view_as_real
、paddle.nn.Parameter
、paddle.broadcast_shapes
、paddle.range
、paddle.as_tensor
、paddle.scatter_reduce/scatter_reduce_
、paddle.scatter_add
、paddle.tensor
、paddle.softmax
、paddle.Tensor.softmax
、paddle.rand_like
、paddle.is_autocast_enabled
、paddle.get_autocast_gpu_dtype
、paddle.Tensor.repeat
、paddle.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.median
、paddle.compat.nanmedian
、paddle.compat.softmax
、paddle.compat.sort
、paddle.compat.split
、paddle.compat.min/max
、paddle.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_gain
、paddle.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.maximum
、paddle.minimum
、paddle.sqrt
、paddle.topk
、paddle.polar
、paddle.stack
、paddle.cos
、paddle.floor
、paddle.log
、paddle.pow
、paddle.rsqrt
、paddle.sign
、paddle.sin
、paddle.multiply
、paddle.where
等。#74683,#74795,#74887,#74592 paddle.Tensor
新增支持多种初始化方式,支持灵活的创建Tensor。#74619,#75022,#75065- API新增一些专有参数,增强原有功能。包括
paddle.nn.functional.gelu
、paddle.divide/div/div_
、paddle.add
、paddle.Tensor.copy_
、paddle.norm
、paddle.linalg.norm
、paddle.nn.functional.silu
、paddle.repeat_interleave
。#74485,#74562,#74420,#74768,#74855,#74903,#74788,#74631,#74947 - API新增一些通用参数:
out
、device
、dtype
、requires_grad
、pin_memory
、bias
,增强原有功能。包括paddle.zeros
、paddle.zeros_like
、paddle.ones
、paddle.ones_like
、paddle.arange
、paddle.eye
、paddle.empty
、paddle.empty_like
、paddle.full
、paddle.full_like
、paddle.randn
、paddle.Tensor.new_full
、paddle.Tensor.new_empty
、paddle.Tensor.new_ones
、paddle.Tensor.new_zeros
、paddle.tril/triu
、paddle.bmm
、paddle.nn.Conv1D/Conv2D/Conv3D/Embedding
、paddle.diff
、paddle.cumsum
、paddle.var
、paddle.multinomial
、paddle.mean
等。#74477,#74526,#74711,#74582,#74624,#74849,#74612,#74875,#74641,#74949,#74918,#74914,#74934,#74920,#74955,#74226,#74946 - API新增别名,支持更多调用方式。包括
paddle.Tensor.mul_/mul
、paddle.autograd.Function
、paddle.argwhere
、paddle.cat
、paddle.clamp
、paddle.ger
、paddle.take_along_dim
、paddle.linalg.matmul
、paddle.special.logsumexp
、paddle.concatenate
、paddle.eq/gt、
paddle.Tensor.take_along_dim、
paddle.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
功能增强
文档
其他
- 代码风格相关的优化。#74654,#74655,#74665,#74660,#74667,#74664,#74662,#74661,#74658,#74657,#74666,#74659,#74663,#74656,#74673,#74672,#74671,#74674,#74675,#74670,#74669,#74677,#74709,#74714,#74712,#74713,#74704,#74746,#74748,#74743,#74742,#74744,#74745,#74747,#74794,#74789,#74793,#74786,#74791,#74787,#74827,#74608,#74288,#74287,#74385,#74395,#74475,#74647
- MKLDNN/ONEDNN相关的优化。#74299,#74244,#74230,#74314,#74327,#74325,#74326,#74315,#74399,#74398,#74393,#74392,#74367,#74391,#74423,#74424,#74436,#74417,#74410,#74473,#74458,#74501,#74487,#74502,#74513,#74518,#74516,#74507,#74504,#74505,#74509,#74535,#74536,#74517,#74503,#74557,#74550,#74575,#74587,#74576,#74588,#74549,#74581,#74583,#74628,#74630,#74635,#74679,#74648,#74127,#74636,#74552,#74551,#74678,#74680,#74730,#74751,#74895,#74821,#74897,#74734
- 代码实现相关的优化,变量与文件重命名。#74309,#74597,#74613,#74376,#74479,#74960,#74968,#74977
- 单测相关的优化,单测问题修复。#74595
- 编译相关的优化,CI问题修复。#74356,#74936
- 优化调试与打印信息,优化报错信息。#74765,#74381,#74384,#74386,#74387,#74383,#74519,#74520,#74468
- 自定义算子相关优化。#74402
- 分布式FlexCheckpoint支持。#74966,#74593,#74785,#74814
2. 基础执行架构
新功能
- 动态图支持。#74484
- 支持 safetensors。#74642, #74609, #75049
- 添加offloader优化计算效率。 #74837
- 为 conv_transpose 前向计算添加 API 支持。 #74431
- 添加offloader优化计算效率。 #74837
- 推理部署增加了w4afp8量化推理,支持w4afp8量化权重纯排及all2all通信#74270
Bug修复
- 核心框架与基础设施优化。#74336, #74554, #74634
- 计算精度与类型处理。 #74278, #74222, #74830
- 动态维度检查逻辑优化。 #74633, #74650
- 内存与非法访问修复。 #74347, #73443, #74953
- 修复报错/告警信息打印。 #74474, #74533, #74685, #74721, #74754
- 代码质量与文档修正。 #74378, #74828
- 修复 flashmask API 处理逻辑。 #74928
- 修复动转静模式下切分CudaGraph子图未生效的问题。 (#74749)
功能增强
废弃
其他
- 更改补丁版本。 #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
优化改进
自动并行
功能改进
- 支持分布式张量的同一维度被多个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_combine
和moe_gate_dispatch
在MoE场景下跑不通的bug。#74645
其他
通信库
在3.2版本中,修复了DeepEP支持sm90编译的一个报错,同时对DeepEP申请的显存分配添加了预分配功能,并升级了其intranode和internode计算kernel,进一步优化了性能和稳定性。
Bug修复
- 修复DeepEP支持sm90 编译的一个报错。#74762
功能改进
4. 算子机制
新特性
- API 兼容性支持。 #74506, #74676, #74558, #74572, #74691, #74703, #74750, #74757, #74802, #74546, #74547, #74802, #74859, #74910, #74873, #74882, #74901, #74899, #74449
- 新增 fused_partial_rope 算子。 #74577
Bug修复
- 0-size Tensor 相关修复。 #74295, #74305, #74323, #74354
- 大 Tensor 相关修复。 #74242, #74293, #74289, #74279, #74330, #74329, #74342, #74369, #74370, #74404, #74537, #74451, #74172, #74324, #74964, #74360, #74379, #74377, #74380, #74362, #74197
- API 兼容性相关修复。 #74764, #74869, #74935
- 【开源任务】Paddle CPU/GPU Kernel 精度问题推全。 #74149, #74598, #74719, #74625, #74555
- 其他重要修复。 #74282, #74313, #74303, #74306, #74298, #74044, #74290, #74348, #74364, #74332, #74224, #74382, #74406, #74434, #74448, #74457, #74322, #74530, #74716, #74839, #74842, #74854, #74919, #74767, #75003
功能增强
- API 兼容能力提升。 #74456, #74480, #74523, #74490, #74548, #74596, #74568, #74559, #74629, #74623, #74700, #74643, #74602, #74783, #74781, #74735, #74725, #74815, #74856, #74925, #74545, #74932, #74784
- slice/stride 相关优化。 #74731, #74740, #74769, #74810, #74841, #74954, #74888, #74944, #74312, #74291, #74271, #74320, #74344, #74727, #74637
- 算子优化与 CUDA 支持。 #74693, #74922, #74967
- 改进调试信息、兼容性增强。 #74372, #74622
- 算子功能扩展与优化。 #74790, #74979
性能优化
- FP8 计算优化。 #74471, #74684, #74911
- 基础算子性能优化。 #74442, #74638
- 支持 fa3 变长序列反向计算并优化前向 API。 #73831
- 新增 FlashMask V2 功能。 #74729
文档
- 修复英文文档问题以及版权年份问题。 #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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
BFE Server v1.8.0 发布,新增 AI 网关能力
BFE 开源项目的数据面转发引擎 BFE Server 发布了新版本v1.8.0,具体更新内容包括: 功能新增 支持AI网关的部分基础功能 支持调用第三方WAF服务 支持通过HTTPS向后端RS转发请求 对AI网关的功能支持 AI网关是模型与业务间的流量中枢,可统一接入多种大模型,实现鉴权、流控、缓存、内容检测等多种功能。 BFE本次新增AI网关的部分基础能力支持,包括: 在条件表达式中,增加req_body_json_in()原语,用于对请求body中的JSON数据做条件匹配 新增mod_ai_token_auth模块,用于支持大模型 API-key(token) 的鉴权和配额控制 新增mod_body_process模块,用于提供 body 的流式处理框架 调用第三方WAF服务 WAF即Web应用防火墙,通过过滤、监控和拦截恶意流量与攻击,保护网站免受SQL注入、XSS等威胁,保障业务安全。 BFE本次新增mod_unified_waf模块,用于支持将待检测内容发送给第三方WAF服务,并获取检测结果。 为了便于第三方WAF服务和BFE对接,项目团队定义了BWI(BFE WAF I...
-
下一篇
gfast cms V2.1 版发布
平台简介 gfast基于全新 Go Frame 2.x+Vue3+Element Plus 开发的全栈前后端分离的管理系统 前端采用 Vue、Element UI。 特征 高生产率:几分钟即可搭建一个后台管理系统 模块化:单应用多系统的模式,将一个完整的应用拆分为多个系统,后续扩展更加便捷,增加代码复用性。 插件化: 可通过插件的方式扩展系统功能, 目前插件有:工作流引擎、自定义表单、CMS、微信公众号、在线客服、商城系统、在线考试、资产管理、活动报名、在线点餐 等 认证机制:采用 gftoken 的用户状态认证及 casbin 的权限认证 自主研发:全部自主研发,功能完整可控面向接口开发 本次CMS更新内容: 修复文章列表分页错误的问题 增加jquery.simplePagination 分页插件 模板增加了“加、减、乘、除、取模”5个数学运行函数 增加生成静态Html功能 修复上传时upload缺少参数的问题,修正上传附件时检查文件是否存在 修改cms路由配置 修改文章模型字段是日期类型时修改错误 修改cms搜索关键字的xss BUG 修改短信验证码功能 修正自定义模型的备份功能 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL数据库在高并发下的优化方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Thymeleaf,官方推荐html解决方案