PaddlePaddle 3.1.1 发布
PaddlePaddle 3.1.1 现已发布。3.1.1版本围绕大模型训练全流程进行了系统性强化,通过体系化修复大模型场景下算子数值精度和功能等底层稳定性问题,结合API的日志系统规范化与单元测试全覆盖,显著提升大模型训练的正确性和稳定性;性能层面,在提高部分关键框架API和FP8场景下的量化计算效率的同时增强分布式训练场景下FP8量化和流水线并行效率,大幅提升训练吞吐。
扩展自动并行架构的切分推导覆盖范围;推理部署提高兼容性的同时进一步增强EP并行推理能力;整体上在保持API兼容性的基础上构建出更稳健、高效的大模型研发技术底座。
- 算子与执行体系正确性、稳定性增强:系统化修复0-size、大shape Tensor、CPU/GPU 精度一致性问题,保障大模型训练正确性、稳定性。
- FP8相关算子优化: 进一步提升FP8相关量化和计算融合算子的性能,并调整了部分算子的sm使用量,提升FP8混合精度训练效率
- 大模型训练更稳更快:系统性优化了Slice相关场景的执行效率,大幅提升Slice相关操作性能;修复流水线场景下的参数同步问题、新增Sharding场景的FP8参数量化能力和DualPipe下的极致通信计算重叠能力,保障并行训练稳定高效。同时增强自动并行架构下的切分推导能力增强自动并行切分效率。
- 推理部署:新增支持safetensors加载功能,EP并行方面对internode_ll_two_stage进行了功能增强助力进一步提升推理效率。
1. 用户体验升级
在3.1版本中,主要对大模型场景下常用的的多个API进行了补充,并且系统化修复了API日志以及部分代码实现问题。
新特性
- 新增API
paddle.device.device_guard
,动态图的设备切换上下文管理器。#73964 - 新增API
paddle.Tensor.bool
、paddle.Tensor.float16
、paddle.Tensor.half
、paddle.Tensor.bfloat16
、paddle.Tensor.float32
、paddle.Tensor.float
、paddle.Tensor.float64
、paddle.Tensor.double
、paddle.Tensor.int8
、paddle.Tensor.char
、paddle.Tensor.uint8
、paddle.Tensor.byte
、paddle.Tensor.int16
、paddle.Tensor.short
、paddle.Tensor.int32
、paddle.Tensor.int
、paddle.Tensor.int64
、paddle.Tensor.long
、paddle.Tensor.complex64
、paddle.Tensor.complex128
、paddle.Tensor.cfloat
、paddle.Tensor.cdouble
,支持灵活的数据类型切换。#74416 - 新增API
paddle.msort
,支持多维数组的排序。#74421 - 新增API
paddle.ravel
、paddle.Tensor.ravel
,支持对Tensor进行拉平。#74439,#74454 - 新增API
F.dropout1d
,支持对Tensor沿指定维度进行随机丢弃。#74444 - 新增API
paddle.Tensor.type_as
。#74459 - 新增API
paddle.Tensor.mul_
、paddle.autograd.Function
、paddle.argwhere
。#74493 - 新增API
paddle.nn.MultiLabelMarginLoss
。#73538 - 新增API
paddle.is_autocast_enabled
、paddle.get_autocast_gpu_dtype
。#74441 - 新增Tensor属性
paddle.Tensor.requires_grad
。#74491
问题修复
- 修复
Tensor.place
之间比较的问题。#73532 - 修复
F.adaptive_log_softmax_with_loss
的问题。#73554 - 修复
Tensor.__radd__
、Tensor.__rmul__
相关问题。#73833 - 修复API的 0-size 相关问题。#73874
- 修复
_DataLoaderIterMultiProcess
、_DataLoaderIterSingleProcess
的问题。#73931 - 修复
paddle.nanmedian
的问题。#74263 - 修复
paddle.eigh
的问题。#73349 - 修复
paddle.arange
的问题。#74159
功能增强
paddle.cumprod
支持设置dim为None。#74106paddle.zeros/zeros_like/ones/ones_like/eye/empty/empty_like/full/full_like
支持device、dtype、requires_grad等更多参数。#74477paddle.ones
支持shape为可变参数的用法。#74494F.gelu
的approximate参数支持字符串格式。#74485F.scaled_dot_product_attention
支持输入为3D。#73804
文档
其他
-
代码风格相关的优化。#73659,#73661,#73660,#74001,#74145,#73863,#73655,#73724,#73764,#73849
-
代码实现相关的优化,文件命名优化,typo修复,MKLDNN相关的优化。#74132,#73626,#73641,#73587,#73801,#73812,#73827,#73845,#73841,#73859,#73858,#73840,#73826,#73825,#73824,#73887,#73949,#73823,#73218,#73948,#74479,#74233,#74513,#74518,#74516,#74178,#74166,#74165,#74163,#74174,#74164,#74162,#74208,#74180,#74205,#74288,#74232,#74299,#74244,#74230,#74314,#74392,#74424,#74417,#74536,#74473,#74135,#74245,#74327,#74325,#74326,#74315,#74385,#74395,#74398,#74393,#74367,#74391,#74436,#74410,#74475,#74517
-
单测相关的优化,单测问题修复。#73664,#73723,#73725,#73728,#73731,#73726,#73786,#73727,#73721,#73798,#73791,#73784,#73788,#73794,#73822,#73839,#73843,#73790,#73905,#73903,#73902,#73900,#73909,#73917,#73906,#73904,#73947,#73944,#73945,#73969,#74068,#74082,#74399,#74423,#74458,#74501,#74487,#74502,#74507,#74504,#74505,#74509,#74535,#74503,#74142,#74287
-
优化调试与打印信息,优化报错信息。#73783,#73886,#74188,#73720,#73857,#74519,#74520,#74384,#74386,#74387,#74383,#74381,#73830,#74128,#74203
-
增加pybind层的接口
get_event_handle_from_custom_stream
。#73918 -
执行机制相关。#74015
2. 并行策略优化
在3.1版本中,对并行策略进行了多项优化,包括新增VPP流水线的前向状态标注和空泡hook支持,修复了流水线并行的共享参数未同步问题、Sharding通信的维度冲突导致的训练hang问题以及DualPipe的event管理错误,同时提升了Sharding策略下的FP8量化支持和DualPipe的通信计算overlap能力,显著提升了并行训练的稳定性和性能。
功能新增
Bug修复
- 修复流水线并行下,共享参数的无法同步的问题。#74047, #74087, #73913
- 修复sharding通信下,ep维度和sharding维度相同时,训练hang的问题。#74268
- 修复dual pipeline调度下,event管理的bug。#74158
性能提升
3. 通信库
在3.1版本中,我们对通信库进行了功能增强和性能优化,新增了stream接口支持,修复了初始化后额外comm context导致的显存浪费问题,并通过新增通信库初始化配置开关、为DeepEP算子支持multicast=2功能以及实现TMA优化的internode能力,显著提升了通信效率和计算性能。
功能新增
- 增加通信库stream 接口。#74016
Bug修复
- 去除初始化后额外的comm context,节约显存。#73297
性能提升
4. 推理部署
在3.1版本中,推理新增支持safetensors加载功能,修复了一些算子问题,对internode_ll_two_stage实现了一些功能增强,支持通过环境变量启动stream_k,支持使用wint8算法加载int8权重等。
功能新增
- 使用MmapStorage加速safetensors格式模型文件加载。#73820
Bug修复
- 修复当输入数据类型大小小于输出数据类型大小时的view算子问题#73769
- 更新dynamic_loader.cc文件 #73577
- 修复非截断top_p_sampling问题 #73852
- 修复moe_gemm中的stream_k问题 #74351
- 修复使用.json模型时的GetInputTypes()和GetOutputTypes()问题#74358
- 修改Layout断言#74415
- 修复编译问题#74492
- 修复deep_ep st_release问题#73578
功能增强
- 删除hidden_size的冗余缓冲区和循环#74167
- 在internode_ll_two_stage中实现缓冲区间插#74276
- 使internode_ll_two_stage支持异步和hook模式#74405
性能提升
- 支持通过环境变量启用stream_k功能#74317
其他
5. 基础执行架构
3.1版本中,我们主要针对Slice相关的算子和操作进行了系统化的升级,大幅提升了Slice操作的效率。同时针对一些大模型训练中遇到的问题进行了修复。
问题修复
功能增强
6. 自动并行架构
在3.1版本中,我们主要针对自动并行架构的切分推导规则进一步进行了完善,增强了自动并行的切分推导效率,同时修复了之前功能中一些易用性和正确性问题。
功能改进
新增以下算子的切分推导规则
take_along_axis
#72063index_put
,index_put_grad
#73486conv3d
,conv3d_grad
#72882depthwise_conv2d
,depthwise_conv2d_grad
#73134conv2d_transpose
,conv2d_transpose_grad
#73188einsum
#73753moe_combine
,moe_combine_grad
,moe_gate_dispatch
,moe_gate_dispatch_grad
#74215
问题修复
- 修复长文并行策略的bug。#73735
- 修复save/load在开启流水线并行策略下的bug。(#73749)
- 修复分组切片并行的overlap优化策略的bug。#73717
- 修复reshape算子在inplace机制下的bug。#73836
- 修复 MoE 场景下 all2all 的bug。#73894
- 修复分组切片并行场景下通信融合的bug。#73997
- 修复动态图模式下重计算策略的bug。#74075
- 修复
group_norm
和layer_norm
算子切分推导bug。#74139 - 修复调用
ProcessMesh
的get_group
方法时重复创建通信组的bug。#73099 - 修复流水线并行场景下梯度裁剪的精度bug。#74409
- 修复流水线并行策略的bug。#73615
- 修复流水线并行场景下不同stage间无法传递stop_grad=True参数的bug。#73459
性能优化
- 支持流水线并行场景下的参数共享及通信优化。#73733
其他
7. 算子机制
在3.1版本中,我们重点针对大模型训练中遇到的大shape tensor、0 size tensor、以及一些关键kernel的精度问题进行了系统化修复,为大模型训练的稳定性和正确性提供了更好的保障。
新特性
- MoE(混合专家系统)优化。 #73592,#73763
- 复数运算支持。 #73674
- 动态图与自动微分增强。 #73622,#73601,#73737,#73747,#73761,#74137
- 组合算子优化。 #73923
- API兼容性提升。 #74449
- 增加 pd.rint 算子。 #74012
问题修复
-
修复算子 0-size 相关问题。 #73680,#73715,#73702,#73550,#73736,#72986,#73740,#73821,#73889,#73882,#73962,#73998,#73040,#73853,#74046,#74006,#73848,#73806,#74022,#73933,#74057,#74042,#73832,#73844,#73854,#74153,#74131,#74129,#74119,#74143,#74152,#74175,#74112,#74185,#74184,#74200,#74150,#74157,#74229,#73986,#74261,#74259,#74295,#74305,#74323,#74354
-
修复算子大 tensor 相关问题。 #73380,#73635,#73706,#73712,#73745,#73738,#73802,#73899,#73895,#74019,#73996,#73979,#74063,#74213,#74061,#74070,#74155,#74062,#74089,#74134,#74058,#74183,#74196,#74223,#74252,#74060,#74273,#74211,#74055,#74242,#74058,#74293,#74289,#74172,#74330,#74329,#74342,#74369,#74279,#74370,#74404,#74451,#74537,#74324,#74254,#74360
-
Paddle CPU/GPU Kernel 精度问题推全。 #73562,#73739,#74009,#74081,#74160,#74077,#74102,#74219,#74257,#74198,#74182
-
其他重要修复。 #73670,#73774,#73877,#73993,#74032,#74034,#74073,#74096,#74065,#74002,#74282,#74313,#74303,#74306,#74298,#74044,#74149,#74290,#74348,#74364,#74332,#74224,#74382,#74406,#74434,#74448,#74457,#74322,#74530,#74442,#74123,#73892,#74025
功能增强
性能优化
- 显存优化。 #73803
其他
- 算子 CPU 支持。 #73872
8. 框架性能优化
功能增强
其他
- 添加 slice 相关检查。 #74103
9. 编译器
功能增强
Bug修复
修复各类场景下的一些处理逻辑 Bug。 (#73940, #74050, #73929, #74040, #74240, #74316, #74328, #74412, #74432, #74450, #74461, #74462)
10. 硬件适配
新特性
- XPU上concat_grad OP增加zero dim支持 #73808
- XPU上weight_only_linear支持fp16 weight_scale #73963
- XPU上python memory api 升级 #73189
- XPU上python streams api 升级 #73924
问题修复
其他
- 升级XHPC版本到20250722。 #74277
11. 安装环境
问题修复
详情可查看:https://github.com/PaddlePaddle/Paddle/releases/tag/v3.1.1

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mindolph V1.11 发布,生成式 AI 流式输出和摘要功能
Mindolph 是一个支持多种桌面平台的开源个人知识库管理软件 https://github.com/mindolph/Mindolph V1.11 版本主要改进了生成式AI功能的使用体验,包括实现 AI 的流式输出,提供了 AI 摘要功能等,并且优化了 UI 。 新功能 生成式AI 支持流式输出文本内容(支持Markdown,PlantUML,文本文件) 新的摘要功能,对选中的文本进行摘要(支持思维导图,Markdown,PlantUML, 文本文件) 增加对 DeepSeek API 的支持。 允许用户设置输出语言,并提供选项使生成内容的语言与用户输入的文本语言一致。 重新设计弹出面板,让用户在开始生成之前选择模型和输出语言。 添加新选项 UI font size 和 UI icon size 用以设置全局界面字体大小和图标大小,图标大小分三个级别: 小(16),中(20),大(24),这两个设置需要重启应用才能生效。 PlantUML 编辑器新增对 Regex 和 EBNF 的支持。 改进 生成式AI 优化用户在 AI 输出过程中主动停止的情形的处理。 为了避免出现不可预...
- 下一篇
性能飞跃与重大变革:Zig 0.15.1 释放编译速度革命
系统编程语言 Zig 刚刚发布了 0.15.1 版本,这不仅仅是一次常规更新,更是一场深刻的技术变革。经过162名贡献者历时5个月的辛勤工作,这个版本在647次提交中实现了多项突破性改进,最引人注目的是调试模式下编译速度的惊人提升——整整快了5倍。 编译速度革命:告别漫长等待 对于任何程序员来说,编译等待时间都是开发过程中的噩梦。Zig 0.15.1 版本通过默认启用自研的 x86 后端,彻底改变了这一现状。在调试模式下,相比之前依赖 LLVM 后端的版本,新版本的编译速度提升了约5倍,这意味着原本需要1-2分钟的编译过程现在只需要几秒钟就能完成。 这种提升并非偶然。Zig 团队多年来一直在默默投入资源开发自主的代码生成后端,现在这些努力开始显现成效。更令人兴奋的是,这个自研后端天然支持增量编译技术,预示着未来还将带来更加极致的编译速度体验。 值得一提的是,新的自研后端不仅速度更快,在语言特性支持上也更加完整。它通过了1984项行为测试中的全部测试,而 LLVM 后端仅通过了1977项。这表明 Zig 正在摆脱对外部工具的依赖,向着更加独立自主的技术路线迈进。 语言特性的大刀阔斧改革 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果