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.boolpaddle.Tensor.float16paddle.Tensor.halfpaddle.Tensor.bfloat16paddle.Tensor.float32paddle.Tensor.floatpaddle.Tensor.float64paddle.Tensor.doublepaddle.Tensor.int8paddle.Tensor.charpaddle.Tensor.uint8paddle.Tensor.bytepaddle.Tensor.int16paddle.Tensor.shortpaddle.Tensor.int32paddle.Tensor.intpaddle.Tensor.int64paddle.Tensor.longpaddle.Tensor.complex64paddle.Tensor.complex128paddle.Tensor.cfloatpaddle.Tensor.cdouble,支持灵活的数据类型切换。#74416
  • 新增API paddle.msort,支持多维数组的排序。#74421
  • 新增API paddle.ravelpaddle.Tensor.ravel,支持对Tensor进行拉平。#74439,#74454
  • 新增API F.dropout1d,支持对Tensor沿指定维度进行随机丢弃。#74444
  • 新增API paddle.Tensor.type_as。#74459
  • 新增API paddle.Tensor.mul_paddle.autograd.Functionpaddle.argwhere。#74493
  • 新增API paddle.nn.MultiLabelMarginLoss。#73538
  • 新增API paddle.is_autocast_enabledpaddle.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。#74106
  • paddle.zeros/zeros_like/ones/ones_like/eye/empty/empty_like/full/full_like 支持device、dtype、requires_grad等更多参数。#74477
  • paddle.ones 支持shape为可变参数的用法。#74494
  • F.gelu 的approximate参数支持字符串格式。#74485
  • F.scaled_dot_product_attention 支持输入为3D。#73804

文档

  • 修复文档相关的问题。#73640,#74356

其他

  • 代码风格相关的优化。#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

  • 编译与CI问题修复,编译warning优化。#73581,#73984,#74104,#74376,#74468

  • 优化调试与打印信息,优化报错信息。#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能力,显著提升了并行训练的稳定性和性能。

功能新增

  • 支持在VPP流水线调度下,标注当前是否为前向状态。#74187
  • 支持在VPP均衡显存下的空泡hook。#74100

Bug修复

  • 修复流水线并行下,共享参数的无法同步的问题。#74047, #74087, #73913
  • 修复sharding通信下,ep维度和sharding维度相同时,训练hang的问题。#74268
  • 修复dual pipeline调度下,event管理的bug。#74158

性能提升

  • 在sharding策略下,支持fp8 量化参数。#73690
  • 支持dual pipeline调度下,通信计算overlap。#73690, #74527

3. 通信库


在3.1版本中,我们对通信库进行了功能增强和性能优化,新增了stream接口支持,修复了初始化后额外comm context导致的显存浪费问题,并通过新增通信库初始化配置开关、为DeepEP算子支持multicast=2功能以及实现TMA优化的internode能力,显著提升了通信效率和计算性能。

功能新增

  • 增加通信库stream 接口。#74016

Bug修复

  • 去除初始化后额外的comm context,节约显存。#73297

性能提升

  • 新增通信库初始化配置开关。#73297
  • 对于DeepEP算子,支持multicast=2功能。#74144
  • DeepEP支持TMA优化的internode。#74284

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

其他

  • 支持使用wint8算法加载int8权重#73689
  • 添加num_experts和num_rdma_ranks的调度#74078

5. 基础执行架构


3.1版本中,我们主要针对Slice相关的算子和操作进行了系统化的升级,大幅提升了Slice操作的效率。同时针对一些大模型训练中遇到的问题进行了修复。

问题修复

  • 修复大 tensor 相关 api。 #73283,#74120,#73657,#73654,#73559

  • 修复动转静遗留问题。 #71520

  • 修复cuda多流问题。 #74011

  • 其他重要修复。 #74378

功能增强

  • 支持slice相关功能。 #74038,#74147,#74344

6. 自动并行架构


在3.1版本中,我们主要针对自动并行架构的切分推导规则进一步进行了完善,增强了自动并行的切分推导效率,同时修复了之前功能中一些易用性和正确性问题。

功能改进

  • 优化 reshape 算子的切分推导规则,以支持分布式张量的同一纬度被多个mesh维度切分的场景。#74352
  • 支持分布式张量的同一维度被多个mesh维度切分时的默认切分推导规则。#74396

新增以下算子的切分推导规则

  • take_along_axis #72063
  • index_putindex_put_grad #73486
  • conv3dconv3d_grad #72882
  • depthwise_conv2ddepthwise_conv2d_grad #73134
  • conv2d_transposeconv2d_transpose_grad #73188
  • einsum #73753
  • moe_combinemoe_combine_gradmoe_gate_dispatchmoe_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

其他

  • 清理废弃代码,以便于维护代码。#73967, #73744
  • 支持dataloader手动并行和自动并行的精度对齐。#73941

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

功能增强

  • fp8 运算相关算子性能优化。 #73564,#73370,#73881,#73644,#73639,#73777,#74173,#74471

  • linalg.lu算子功能支持。 #73885,#74130,#74258,#74456

  • Paddle API 兼容性提升。 #74480,#74523,#74490,#74548

  • 其他重要优化。 #73815,#74372

性能优化

  • 显存优化。 #73803

其他

  • 算子 CPU 支持。 #73872

8. 框架性能优化


功能增强

  • 提升 slice 性能。 #73247,#73628,#73834,#73971

其他

  • 添加 slice 相关检查。 #74103

9. 编译器

功能增强

  1. 支持float8e4m3数据类型(#74111)
  2. 新增支持rint算子,优化arange算子性能 (#74013, #74209)
  3. 增强表达式化简能力 (#74292)

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

问题修复

  • 修复XPU上FFT算子 #73785
  • 修复XPU strided_copy data_size param #74225

其他

  • 升级XHPC版本到20250722。 #74277

11. 安装环境


问题修复

  • 修复macOS-x64在使用-DONNXRUNTIME=ON时编译失败的问题。#73631
  • 更新昆仑镜像。#73669

详情可查看:https://github.com/PaddlePaddle/Paddle/releases/tag/v3.1.1


相關推薦

2025-05-23

后续迭代与维护奠定基础。 更新说明:https://github.com/PaddlePaddle/PaddleOCR/releases/tag/v3.0.0

2023-12-05

发布openKylin AI框架安装助手,支持智能推荐、一键安装PaddlePaddle、PyTorch、TensorFlow三种框架,后续还将支持更多主流AI框架及其套件的安装。 02 openKylin with AI 上线智能语音助手,用户可通过语音下达指令,无须键

2024-07-05

型框架有Facebook的PyTorch,谷歌的TensorFlow,国内有百度的PaddlePaddle等。从2016年开始,作为世界范围内研发工业级通用深度学习框架的唯一创业团队,袁进辉带领的OneFlow团队推出了高性能分布式深度学习框架。 之所以敢挑战以大

2025-07-06

” 如今,Gitee 已收录了大量例如 OpenHarmony 、openEuler 、PaddlePaddle 等中国顶级且自主的开源项目,这些项目不仅是中国技术创新的结晶,同样也体现了中国开源生态的一个当前态势。对此,马越的看法是,目前我们国家的开源生

2023-03-02

I产业生态发展为愿景。 目前该项目已和天数智芯、百度PaddlePaddle、昆仑芯科技、中国移动等深度合作,共同推进AI硬件评测建设。围绕FlagPerf,也将有更多厂商和团队加入共同贡献的大家庭。 项目地址:https://github.com/FlagOpen/Fl

2023-05-18

在这个版本中,我们主要升级并调整了多种语言类型的构建包版本, 并支持了直接删除应用以及应用下的所有资源。 各语言源码构建包版本升级 Rainbond 支持一键将源码构建成镜像并运行起来,但在之前的版本中,部分语言支持

2023-06-29

777):使用 Kebab Case Option 时不会填充选项值 详情可查看发布公告。

2022-10-01

载均衡,以及服务自动注册和发现。Apache Dubbo 3.1.1 现已发布,具体更新内容包括: 错误修复和优化 相关 PR :#10488, #10481, #10495, #10504, #10503, #10498, #10508, #10518, #10514, #10525, #10529, #10530,

2022-11-03

载均衡,以及服务自动注册和发现。Apache Dubbo 3.1.1 现已发布,具体更新内容包括: 错误修复和优化 相关 PR : #10660, #10669, #10677, #10685, #10686, #10700, #10701, #10708, #10715, #10544, #10738, #10783, #10785, #10789, #10825, #10718, #10741, #10779, #107

2023-03-21

当前版本涉及几个主要更新。 DataCap is released Release Version Release Time 1.7.0 2023-03-20 General 添加其他问题模板 添加路由管理 升级JDK 8 到 11 支持 chatgpt 添加提交 pipeline api Experimenta

2023-04-26

OpenShot 3.1.1 现已发布,该版本带来了更高的稳定性和 Quality-of-Life 改进。OpenShot 是跨平台的开源视频剪辑软件,该项目在 2008 年 8 月由 Jonathan Thomas 发起,其目标是提供稳定、自由且易于使用的视频编辑器。OpenShot 的核心视频编

2025-08-06

Recharts 3.1.1 现已发布,具体更新内容包括: General:不要在 DOM 中应用重复的 ID #6111 Stacked Area/Bar:为所有图形项赋予其各自唯一的标识符,并使用该标识符来选择堆叠数据。修复了无法从图形项数据属性创建堆叠图

2023-03-06

Pandoc 3.1.1 发布了,Pandoc 是一个通用标记转换 Haskell 库,用于从一种标记格式转换为另一种,同时也是一个使用该库的命令行工具,它可以转换 28 种标记格式。 此版本带来如下更改: TSV 阅读器:不将制表符当作空格 ( #8661 )

2024-08-10

介绍 crabc-api 是低代码接口开发平台,企业级 API 管理系统,深度整合 SpringBoot 和 Mybatis 实现动态数据源和动态 SQL。 支持接入(mysql、oracle、postgresql、sqlserver、达梦、TiDB、es)等 SQL 或 / NoSQL 数据源, 在编辑框内编写好 SQL