PaddlePaddle 3.0 正式版概述 - PaddlePaddle/Paddle GitHub Wiki
作为中国首个自主研发的产业级深度学习平台,飞桨一直坚持开源路线,支撑产业智能化升级。飞桨框架3.0版本不仅延续了飞桨框架2.0系列动静统一、训推一体的特性,更在自动并行、神经网络编译器、高阶自动微分等方面取得突破,为大模型时代的技术创新与产业应用提供了强大支撑,为开发者打造了一站式、高性能的深度学习开发体验。无论是前沿算法研究还是产业级大模型落地,飞桨框架3.0都将成为开发者的首选利器。重点特性说明如下:
- 动静统一自动并行: 这一功能大幅度降低了产业开发和训练的成本。用户只需在单卡基础上进行少量的张量切分标记,飞桨框架便会自动完成分布式切分信息的推导,并添加通信算子以确保逻辑的正确性。同时,根据模型结构和集群信息,结合显存和调度层的优化,飞桨能自动寻找最高效的分布式并行策略,从而大幅降低混合并行训练的开发成本,使开发者能够更专注于模型和算法的创新。自动并行架构进行了深入的验证和打磨,以更好地支持纯文稠密模型、纯文稀疏模型(MoE)和多模态理解模型等常见大模型场景的预训练+精调流程;完善算子的切分推导规则,并支持将自动并行训练参数转化成手动并行参数进行下游推理,自动并行达到了全面可用的状态,帮助用户降低大模型并行程序的开发成本。同时,为了进一步简化用户的分布式开发流程,推出全新的
paddle.distributed.parallel
接口,基于对分布式张量标记语法的封装,支持用户在模型组网外不侵入地配置数据并行、模型并行、流水并行等常见的并行策略。此外,静态图自动并行架构基于PIR完成了全面的升级,底层的基础组件、核心模块、并行策略和性能优化策略均统一基于扩展的PIRDistDialect
进行实现,进一步增强了自动并行的动静一致性,并在Llama系列模型上性能达到了持平甚至领先手动并行方式的水平。 - 大模型训推一体: 自2.0版本起,飞桨便采用了“动静统一、训推一体”的设计理念,3.0版本也将继续秉持这一理念。得益于动静统一的架构和接口设计,飞桨能够完整支持动态图和静态图这两种不同的运行模式,并且具备出色的整图导出能力。飞桨的动转静整图导出成功率高达95%,高于PyTorch的62%。“训推一体”意味着能够在同一套框架下,尽可能复用训练和推理的代码,特别是复用模型组网代码。在完成模型的开发训练后,只需进行少量的开发工作,即可实现快速推理部署。这一特性为产业提供了极致的开发体验。它使训练和推理的能力能够相互复用,为大模型的全流程提供了统一的开发体验和极致的训练效率。通过动转静的工作,训练和推理的工作得以无缝衔接。支持多款主流大模型、DeepSeek-R1满血版实现单机部署,吞吐提升一倍。
- 科学计算高阶微分: 飞桨框架3.0为科学计算提供了高阶自动微分、编译优化和分布式训练能力的支撑。英伟达Modulus的41个不同方程实验显示,飞桨的微分方程求解速度比PyTorch开启编译器优化后的版本平均快 115%。同时,飞桨还建设了面向通用数理问题求解的赛桨PaddleScience以及专注于生物计算的螺旋桨PaddleHelix工具包。此外,飞桨框架3.0还原生支持复数技术体系,这对于气象预报、汽车飞行器气动分析等场景下的数据特征分析具有重要意义。
- 神经网络编译器: 这一功能显著降低了性能优化的成本。飞桨的编译器采用与框架一体化的设计,能够支持生成式模型、科学计算模型等多种模型的高效训练与可变形状推理,在计算灵活性与高性能之间提供了良好的平衡点。使用 CINN 编译器后超过 60%的 模型有显著性能提升,平均提升达 27.4%。CINN神经网络编译器在完备性、性能表现等方面效果全面提升。此版本中,我们对编译器前端、后端各个环节进行了全面优化:包括新增反向计算图自动Re-Compute机制、前端 Pass 性能优化、符号推导机制升级、算子融合策略优化、后端 Schedule 策略和下标表达式化简能力增强等,同时排查并修复了大量正确性和性能问题,系统化的提升了编译器的通用优化能力。
- 异构多芯适配: 飞桨的重要特色之一是适配异构多芯并充分释放硬件潜能。在接入机制上,飞桨提供了简洁高效的抽象接口和基础算子体系,降低了适配成本。在运行机制上,它优化了调度编排和存储共享等机制,提升了调度效率。从算子内核角度,飞桨提供了编译器自动融合调优方案,以提升端到端的性能。同时,飞桨还为新硬件厂商建设了代码合入、持续集成、模型回归测试等研发基础设施。这些机制保障了新硬件被纳入飞桨的正常发版体系中,用户无需编译即可直接安装试用。飞桨这种功能完善、低成本接入的机制吸引了硬件厂商共同为飞桨贡献了4001个PR,共包含26584个commits。
除了上述核心特性外,高扩展中间表示为了提升飞桨框架的可扩展性,我们研发了高扩展中间表示PIR(Paddle Intermediate Representation)。这一表示系统性地抽象了底层核心概念,提供了灵活且高效的组件。PIR作为基础设施,支撑着动转静、自动微分、自动并行、组合算子、图优化等多项技术,并广泛应用于分布式训练、模型压缩、推理部署等场景。通过PIR提供的DRR(Declarative Rewrite Rule)机制,Pass的开发成本可以降低60%。同时PIR完成在全场景的验证,并默认开启,支持一键动转静,保证了框架卓越的性能表现和良好的拓展性。对框架2.0版已有功能的持续改进,同时新特性在使用体验、性能、二次开发便利度以及硬件适配能力等方面带来了显著提升。此版本在用户体验层面持续丰富并增强了满足更多场景的API功能,针对大模型场景优化完善了分布式并行策略优化和推理功能增强,在编译安装方面做了比较彻底的易用性改进,对依赖包的安装方式和版本进行了全新同步升级,对系统安全进行了全面加固,对产品文档也进行了全面的纠错检查,同时也对一些废弃代码做了大量的清理以保证架构的简洁性。
不兼容升级
飞桨API支持隐式类型提升。在加减乘除等最常用的计算中,如果两个输入的数据类型不一样,就需要确定输出的数据类型问题。飞桨历史上的现状是部分支持且实际规则并不清楚,客观上表现为动静不一致、API和运算符重载不一致 及 不符合交换率,特别是在大模型广泛使用 bf16/fp16 与 fp32 进行混合计算时容易出现非预期问题且难以定位。飞桨从3.0 beta版本开始,明确了隐式数据类型提升规则,其中详细定义了 Tensor与Tensor 和 Tensor与1个数(Scalar)计算结果的类型,保证了计算符合交换律,运算符重载与二元 API 结果一致,动态图与静态图结果一致。更符合用户理解和业界习惯。https://github.com/PaddlePaddle/Paddle/pull/60638, https://github.com/PaddlePaddle/Paddle/pull/63842, https://github.com/PaddlePaddle/Paddle/pull/60011
废弃功能
支持0维Tensor已经稳定了2个版本,本版本取消了在一些情况下将0维Tensor转成只含1个元素的1维Tensor的开关FLAGS_set_to_1d,这个开关是为了兼容一些套件中用1个元素的1维Tensor表示0维Tensor的不正确写法。即当前飞桨完全区分0维Tensor和只含1个元素的1维Tensor的语义,两者不等价。https://github.com/PaddlePaddle/Paddle/pull/61227
1. 用户体验升级
新特性
- 新增飞桨API,扩展飞桨功能。包括
paddle.nn.FeatureAlphaDropout
,paddle.cartesian_prod
,paddle.distributed.to_distributed
,paddle.pi
等。#64881, #65605, #70757, #71030, #69946, #70021, #69613, #68123, #70032 - 新增Tensor类方法和属性,及新增相关单测,使得Tensor更易用。#68334, #68681, #69132, #69270, #69256, #69197, #69231, #69222, #69257, #69301, #69361, #69348, #69464, #69542, #69667, #69563, #69796, #69477, #69779, #69724, #69835, #69781, #69982, #69913, #70026, #70013, #69539, #69736, #69841, #70277, #69580, #69599, #69693, #69848, #69751, #70556, #70591, #69673, #70647, #68192, #68511, #68833, #69406, #69480, #69463, #69632, #69473, #68694, #69534, #69820, #70121
API功能增强
- 增强了43个API的功能,使得已有API更易用,也更容易进行代码转换。包括但不限于增加API参数,扩展API支持的数据类型,以及修正原有不合理设计等。#65105, #65103, #62975, #64436, #63346, #68079, #67878, #68432, #68677, #69012, #69385, #65032, #64977, #67071, #67298, #66687, #65946, #66170, #66929, #67994, #67947, #68033, #68046, #68294, #68214, #68281, #68390, #68772, #69451, #69252, #69529, #69750, #69827, #69099, #68594, #70090, #70228, #70166, #70389, #70790, #71029, #71283, #71342
- 飞桨Python API全面支持类型提示。所有Python API的参数和返回值都添加了类型提示,以便于开发和使用。#65209, #65201, #65190, #65082, #65226, #65076, #65238, #65236, #65247, #65249, #65244, #65272, #65191, #65290, #65255, #65292, #65300, #65301, #65332, #65323, #65326, #65273, #65317, #65354, #65283, #65372, #65337, #65085, #65382, #65381, #65378, #65274, #65380, #65386, #65351, #65284, #65366, #65308, #65375, #65376, #65464, #65197, #65455, #65457, #65487, #65486, #65547, #65504, #65460, #65183, #65454, #65559, #65560, #65570, #65569, #65566, #65620, #65568, #65567, #65660, #65645, #65600, #65532, #65765, #65767, #65770, #65768, #65771, #65772, #65774, #65769, #65773, #65766, #65776, #65775, #65755, #65779, #65777, #65823, #65807, #65821, #65819, #65810, #65808, #65824, #65553, #65818, #65812, #65803, #65865, #65870, #65866, #65844, #65845, #65853, #65874, #65871, #65809, #65867, #65822, #65872, #65873, #65869, #65868, #65849, #65875, #65876, #65843, #65727, #65587, #66006, #66005, #65785, #65784, #65811, #65919, #65838, #65852, #65847, #66014, #65805, #66009, #66012, #65633, #66011, #66010, #66013, #66015, #66016, #66030, #66028, #66029, #66054, #66040, #65993, #66058, #66280, #66037, #66057, #66077, #66051, #65912, #66090, #66189, #66127, #66277, #66119, #66270, #66305, #66306, #66279, #66276, #66295, #66301, #66473, #66384, #66505, #66328, #66394, #66392, #66432, #66575, #66572, #66656, #66475, #66654, #66616, #66694, #66686, #66766, #66749, #66760, #66803, #66770, #66693, #66771, #66792, #66862, #66867, #66684, #66966, #66793, #66987, #66985, #66989, #66639, #66994, #66986, #66993, #67002, #66996, #67001, #66864, #67031, #67089, #67143, #67179, #67178, #67284, #67104, #67079, #67132, #67147, #67204, #67112, #67233, #67366, #67067, #67391, #67428, #67197, #67047, #66890, #67159, #67439, #67555, #67448, #67556, #67469, #67558, #67405, #67644, #67624, #67679, #67677, #67785, #67767, #65319, #65277, #67673, #65557, #67527, #66965, #65905, #65657, #66357, #68163
- 优化了较多飞桨API的报错信息,使得报错更易懂。#67148, #67154, #67546, #67335, #67255, #67099, #67074, #67073, #66957, #67063, #67575, #67608, #67634, #67325, #67429, #67401, #66881, #68492, #67695, #69833, #70398
Bug 修复
- 修复
paddle.nn.functional.max_unpool1d
中当输入output_size为tuple时的bug。 #65910 - 修复
paddle.base.core.eager.Tensor
中不支持 paddle::DataType 的问题。 #66765 - 修复打开pir开关时,bf16训练报错的问题。 #66833
- 修复流水线并行中,线性层bias的问题。 #67212
- 修复流水线并行中,使用loss进行判断时的报错问题。 #66980
- 修复流水线并行中,使用
paddle.Tensor.item
的报错问题。 #67441 - 修复
paddle.einsum
在特定场景的bug。 #67588 - 修复
paddle.nn.SyncBatchNorm
在梯度计算时的报错问题。 #67559 - 修复 issue #69992 提到的问题。 #70017
- 修复
paddle.arange
在遇到大整数时,计算结果错误的问题。 #70188 - 修复
paddle.max
、paddle.min
在输入存在nan时传播不正确问题。 #70049 - 修复
paddle.linalg.svd
,paddle.linalg.any
等API在处理0-size Tensor时的问题。 #70235, #70489, #70047, #70103, #70127, #70098, #70077, #70130, #70254, #70125, #70342, #70369, #71094, #71089, #71185, #70537, #70481 - 修复一些类型提示标注的问题、文档问题等。#65429, #65496, #65461, #65542, #65575, #65545, #65609, #65644, #65700, #65697, #65719, #65639, #65742, #65891, #65877, #65895, #66007, #66679, #66680, #66676, #66677, #66884, #67288, #67302, #66978, #67295, #67520, #67421, #67529, #67536, #67618, #67661, #67698, #67800, #67933, #67893, #68108, #67927, #68322, #68341, #68415, #68372, #68559, #68598, #68708, #68780, #68992, #68989, #68895, #69014, #69139, #68996, #69090, #68922, #69333, #69141, #69609, #69652, #69715, #69716, #69934, #70253, #70297, #70252, #70468, #70102, #70546, #70616, #70582, #70635, #70499, #70755, #70935, #71133, #71172, #71238, #71230, #71394
文档优化
- 增强了若干API文档,使得文档易读和易懂。#67772, #69895, #65904, #66480, #66974, #67100, #66991, #67287, #67841, #68206, #68305, #68462, #67061, #66503, #68856, #68866, #68768, #69215, #69449, #69396, #69498, #69413, #69404, #69729, #69749, #69266, #69989, #70209, #70128, #70143, #69874, #70242, #70145, #70813, #71046
2. 基础执行架构
PIR 全面推全并默认开启,支持一键动转静,保证了框架卓越的性能表现和良好的拓展性。
Bug 修复
- 修复参数配置导致的精度问题。 #65814
- 修复save/load相关Bug。 #65268, #65359, #65373, #65314, #65446, #65476, #66891, #66931, #65978, #67654, #67906, #68723, #71452, #71457, #67819, #68120, #68300, #68315, #68743, #68744, #69585, #71165, #71400
- 跳过/修复在PIR模式下的失败单测,包括Windows、XPU等场景。 #65690, #65759, #65730, #65760, #65833, #65834, #65856, #65886, #65899, #65932, #65998, #65953, #65997, #66061, #66111, #66137, #66073, #66203, #66227, #65744, #66234, #67487, #67561, #67584, #67742, #69832, #65885, #66709, #66734, #66959, #67399, #67389, #67230, #67403, #67619, #67662, #67902, #67382, #67430, #67517, #67533, #67573, #67468, #67640, #67667, #67716, #68386, #67234, #67266, #67362, #67631, #68081
- 修复动态图相关Bug。 #65619, #69163, #68862, #68164, #69867
- 修复控制流相关Bug。 #65722, #70181
- 修复kernel运算相关Bug,包括运算位置、空指针等。 #66334, #67931, #70353
- 修复Amp相关Bug。 #66778, #67582, #67704, #68655
- 修复CINN相关Bug。 #69577, #71101, #71387, #71401
- 修复动转静相关Bug。 #67617, #67936, #68938, #68734, #69010, #69408, #69461, #69699, #69774, #69803, #69853, #70510, #70830, #70904, #70913, #71040, #71048, #71106, #71201, #71216, #71223, #71296, #71385, #71505, #66934, #71096, #71144, #71430, #71437, #71473, #71412, #65648, #67853, #66543, #68229, #70846, #67532
- 修复其他Bug,包括反向传播梯度计算、内存拷贝、执行器报错等。 #65493, #65678, #65673, #65794, #66358, #66875, #67339, #67465, #67754, #67835, #67892, #67967, #67952, #68036, #68063, #68128, #68151, #68140, #68167, #68200, #68325, #68376, #68539, #68530, #68637, #68639, #68688, #68751, #68806, #68810, #68779, #68811, #68844, #68790, #68870, #68960, #68999, #69036, #69188, #69234, #69375, #69399, #69538, #69603, #69633, #69765, #69768, #69821, #70091, #70123, #70147, #70201, #70198, #69815, #70420, #70377, #70552, #70545, #70595, #70836, #70771, #70922, #70969, #70926, #71117, #71151, #71194, #71234, #71339, #71445, #66350, #66533, #66622, #67721, #67700, #69207, #69615, #69785, #67805
功能优化
- 支持save/load。 #65296, #65671, #66231, #66185, #66722, #66863, #67057, #68101, #68628, #66359, #68481
- 优化自定义算子编译流程。 #67615, #67659
- 支持组合算子。 #69121, #69144, #70204, #71098, #71335
- 支持 CINN 编译器执行。 #69589, #70115
- 支持custom device。 #70909, #71294, #71362, #71010, #71036, #70637, #71085
- 其他场景的执行支持。 #65050, #65664, #65741, #65786, #65499, #66441, #67668, #68199, #69088, #70199, #70308, #70709, #70937, #71066, #71079, #71121, #71136, #71205
新特性
- SOT 适配 Python 3.13 版本字节码,支持 Python 3.13 下以 SOT 模式转静。#68071, #69126, #69131, #69196, #69232, #69253, #69267, #69412, #69431, #69432, #69436, #69557, #69567, #69700, #69707, #69735, #69738, #69744, #69753, #69887, #69920, #69950, #70319, #70927
- 适配 custom device。 #68061, #68836, #70366, #70549
- 适配 PIR 前向执行。 #65335
- 适配 save/load。 #67910
- 适配 pylayer。 #70335
- 适配 lazy_init。 #67379, #67467
- 优化 PIR 下的逻辑。 #67961
- 其他场景的支持。 #68344, #70071, #70291, #70752, #70812, #71033
普通用户无关改动
- SOT 调试体验优化,开发效率提升。#67560, #69072, #69837, #70134, #70387, #70740, #71118, #71268, #71275, #71458, #71460
- 其他与用户使用无关的改动。 #65393, #65795, #65799, #65911, #65977, #66982, #67563, #68761, #68909, #69130, #69233, #69956, #71142
安全问题
- 为IR(中间表示)的保存/加载操作引入了审批规则,以增强模型序列化过程中的安全性和治理。 #65737
其他
- Sparse API 迁移。 #66139, #66319, #66866
- PIR 功能扩展。 #67966, #69909
- 迁移文件位置。 #66477, #66824, #67592
- 日志添加。 #68382, #70506
- 默认打开 PIR。 #68278
- 头文件整理。 #68422, #68471
- 编译优化。 #67831, #67821, #68717
- 用 guard 管理相关 test。 #67816, #67827, #67989
- 拼写错误修复。 #70784, #70787
- 检查 cuda 错误。 #70399
开发者
- 动转静功能修复,提升整图转换成功率,优化推理导出体验。#65291, #66153, #66379, #66557, #67021, #67482, #67495, #67981, #68030, #68078, #68328, #68442, #68679, #68850, #68892, #68991, #69043, #69097, #69210, #69295, #69428, #69518, #69642, #69940, #70118, #70169, #70218, #70287, #70412, #71099, #71156, #71193, #71336, #71463, #71476, #71503
- Inplace 策略升级。 #65491
- 控制流相关开发。 #67251
- 添加环境变量。 #68467
- 支持稀疏算子运算。 #67111
- 其他执行支持开发,包括逻辑优化、版本适配、添加单测等。 #69241, #69806, #70768, #66829, #67110, #67442, #67041, #67452, #69061, #69307, #68669, #69829, #70003, #70443, #70364, #71495
性能优化
- 优化动态 shape 场景转静能力,降低构图次数,减少编译时间。#65235, #65477, #65517, #65882, #66346, #66746, #67786, #67876, #68113, #68302, #68337, #68616, #69354, #70009, #70877
- SOT 端到端性能优化,减少子图打断,降低调度开销,提升转静训练性能。#67591, #67746, #67823, #67890, #67921, #68031, #68153, #68729, #69249, #69263, #69300, #69313, #69325, #69353, #69411, #69506, #69672, #69746, #69834, #69836, #69852, #69975, #70151, #70293, #70405, #70851, #71039, #71254, #71295, #71298, #71346, #71377, #71407
- 优化动态shape场景性能。 #68491, #68629
- 加速PIR执行器执行速度。 #69513
- 优化PIR保存和加载性能。 #69683
- 针对 device 进行优化。 #69676
- 清理输入输出冗余信息。 #66278
废弃功能
- 移除过时的测试用例。 #66269, #66690, #67505, #67464, #68400, #68178, #68194
- 清理废弃的flag和配置。 #69124, #69176, #69274, #68384
- 淘汰旧API。 #66032, #67303
- 对PIR冗余策略及单测进行清理。 #66366, #70534, #68444, #70599, #68801, #66303, #67854, #70795
- 废弃动转静相关单测、api等。 #66421, #68251, #68252, #68253, #68254, #68409, #70569, #71279
- 废弃自动并行相关单测。 #67857, #67862, #67995, #68012, #68013, #67798
3. 编译器架构
CINN 编译器在完备性、性能表现等方面效果全面提升。此版本中,我们对编译器前端、后端各个环节进行了全面优化:包括新增反向计算图自动Re-Compute机制、前端 Pass 性能优化、符号推导机制升级、算子融合策略优化、后端 Schedule 策略和下标表达式化简能力增强等,同时排查并修复了大量正确性和性能问题,系统化的提升了编译器的通用优化能力。在飞桨 PaddleX 系列模型开启 CINN 编译器后相比动态图模式有超 60% 模型有显著性能提升。
新功能
- 新硬件后端支持:新增 HIP 和 SYCL 两种后端的支持。(#65146、#65329、#69554、#71204、#65438、#66476、#66620、#67813)
- 新增支持了推理场景下符号维度的数值范围、相等约束等信息的手工设置。(#67628、#67384)
功能优化
- 优化报错信息打印,提升开发调试体验。(#67738、#68769、#71076)
- 支持 welford 算法,可以同时保证 BatchNorm 相关算子 Kenrel 的性能和精度。(#71184、#71057)
性能优化
- 新增了 GridReduce、Loop合并、Transpose调优、自动向量化等后端优化策略,显著提升了各种维度空间、不同硬件配置全场景下的 Kernel 性能。(#67236、#68897、#69409、#65336、#66419、#68338、#68364、#71087、#68019、#68122、#65187、#66742、#67083、#68667、#68750、#69376、#69350、#69740、#68918、#70092、#69607、#69794、#70258、#70547、#70581、#70649、#69732、#70786、#70942、#71014、#71263、#71249、#71340、#71301、#71380)
- 优化算子融合策略,升级了包括水平融合、多下游融合、Reshape对齐融合等多种策略,进一步增强算子的融合能力,提升端到端优化性能。(#66034、#67829、#68171、#69478、#69691、#70665、#71103、#70873)
- 升级了后端下标表达式的化简能力,支持动静态维度的复杂表达式化简,显著降低后端生成 Kernel 的下标计算开销。(#68011、#68617、#68624、#68685、#68220、#68720、#68753、#68986、#68987、#69071、#69164、 #69282、#69522、#69857、#70208、#70355、#70427、#70450、#68737、#70500、#70953、#70933、#71026、#70456、#70257、#70461、#70142、#71018、#71278)
- 新增了反向计算图自动 Re-Compute 机制,可有效降低模型训练显存并提升性能。(#69342、#70255、#68241、#69954、#70832)
- 优化后端 Host、Device 代码编译流程,降低编译耗时,同时提升 Broadcast 场景下分支的处理性能。(#65669、#65916、#66109、#65611、#65990、#66088、#66207、#66537、#66768、#70685、#71410、#66062)
- 完善升级了动态维度的符号推导、化简、缓存等机制,添加了所有常规算子(580+)的符号推导接口实现,为 Kernel 编译提供更多约束信息。(#65343、#66582、#65500、#65591、#66637、#68208、#68056、#68015、#68096、#68236、#68973、#68967、#69133、#68550、#68882、#69005、#69911、#70376、#71153、#66644、#66650、#66642、#66729、#66838、#66762、#66580、#66612、#66625、#66643、#66837、#66946、#67018、#67049、#66956、#67008、#66930、#66877、#66896、#67120、#67117、#67098、#67136、#67294、#67327、#66827、#67201、#66892、#67377、#66619、#67037、#67412、#67394、#67374、#67418、#67348、#67337、#67390、#67407、#67491、#67422、#67461、#67458、#67486、#67490、#67462、#67364、#67435、#67665、#67426、#67507、#67730、#67776、#67806、#67803、#67788、#67705、#67814、#67858、#67751、#67875、#67663、#67434、#67818、#68180、#68547、#68548、#68670、#68964、#68929、#68907、#68917、#68984、#68644、#69167、#68975、#68947、#68978、#68980、#68979、#69329、#69055、#69331、#69414、#69335、#69017、#69344、#69069、#69698、#69919、#69964、#70337、#70282、#70741、#70818、#71031、#70541、#66609、#66889、#66633、#66735、#66935、#66627、#66730、#67210、#67115、#67275、#67472、#67577、#67328、#67566、#67451、#68098、#68225、#68177、#68102、#67951、#67957、#68235、#68447、#68446、#68183、#68318、#68385、#67635、#65623、#65956、#66063、#65992、#65880、#66343、#65889、#66606、#66618、#66737、#66607、#66579、#66732、#66849、#66400、#66952、#66570、#66967、#66595、#67121、#67206、#67444、#67494、#67499、#67267、#67567、#67455、#67161、#67581、#67539、#67625、#67690、#67454、#67731、#67734、#67735、#67607、#67413、#67387、#67882、#67864、#67503、#67861、#67888、#67884、#67826、#68044、#67851、#68276、#69888、#70093、#70436、#70914、#71222)
- 优化了部分前端Pass,提高前端处理流程的鲁棒性,提升计算密集型的子图性能。 (#65142、#67466、#69228、#70994、#71226、#71297、#71443)
- 设计了新的后端 IR 基础组件和相关 Pass 接口,提供更加简洁高效的优化策略开发方式,通过自动剪枝策略同时可有效降低后端 IR 的遍历开销。(#70485、#70765、#71042、#70952、#69454、#70361、#70334、#70406、 #70191、#70462、#70548、#70592、#70437、#70619、#70543、#69611、#70739、#70533、#70696、#70498、#70829、#71111、#70883)
Bug修复
- 修复部分算子符号推导实现逻辑的Bug。(#65185、#65231、#65266、#65951、#67142、#67286、#65958、#65955、#66470、#66764、#66036、#66662、#66741、#66745、#66807、#66791、#66859、#66880、#66962)
- 修复部分特殊算子 Lowering 到编译器时的 Bug。(#68698、#68699、 #68691、#68948、#70144、#70895)
- 修复算子融合在部分场景报错的问题。(#67038、#67400、#67655、#67723、#68029、#68042、#68888、#69250、#69937、#70924)
- 修复后端在处理极端值时的正确性问题,提高编译器的鲁棒性。(#68327)
- 修复后端 Schedule 和 后处理调优过程的实现逻辑Bug,解决部分case下的报错和性能问题。(#68605、#68937、#68587、#69060、#69608、#71471、#71068)
- 解决了算子融合过程中的存在随机性的问题。(#69547、#70931)
4. 自动并行架构
在3.0正式版中,我们对自动并行架构进行了深入的验证和打磨,以更好地支持纯文稠密模型、纯文稀疏模型(MoE)和多模态理解模型等常见大模型场景的预训练+精调流程。具体而言,我们针对这些场景新增了20+算子的切分推导规则,并支持将自动并行训练参数转化成手动并行参数进行下游推理,使自动并行达到了全面可用的状态,帮助用户降低大模型并行程序的开发成本。同时,为了进一步简化用户的分布式开发流程,我们推出了一个新的paddle.distributed.parallel
接口,基于对分布式张量标记语法的封装,支持用户在模型组网外不侵入地配置数据并行、模型并行、流水并行等常见的并行策略。此外,静态图自动并行架构基于PIR完成了全面的升级,底层的基础组件、核心模块、并行策略和性能优化策略均统一基于扩展的PIR DistDialect
进行实现,进一步增强了自动并行的动静一致性,并在Llama系列模型上性能达到了持平甚至领先手动并行方式的水平。
新特性
- 新增
paddle.distributed.parallel
接口,支持在模型组网外配置常见并行策略,简化分布式开发流程。#69004, #69033, #69077, #69136, #69169, #69212, #69217, #69283, #69288, #69326, #69365, #69384, #69426, #69443, #69462, #69492, #69628, #69677, #69697, #69776, #69896, #70138, #70182, #70539, #71116, #71210 - 面向纯文稀疏场景支持MoE专家并行,实现专家并行变mesh切分转换机制并支持自动调用all2all通信。#66462, #66750, #68004, #68053, #68187, #68477, #69098, #69262, #69296, #70715, #71292, #71320
- 为了满足极致手工优化场景下用户自行管理切分状态和通信操作的需求,同时解决部分非SPMD场景下无法使用张量切分语法的问题,我们新增了
LocalLayer
接口,支持自动并行和手动并行混合组网。#70519, #70525, #70600, #71232, #71264, #71373 - 为了让用户可以使用国产硬件运行自动并行程序,完成了对昆仑芯片的适配,其它芯片的支持也在进行中。#70997, #71126, #71229, #71289, #71425, #71500
- 针对数据维度无法整除设备维度的情况,支持了非均衡的切分推导和切分转换。#66103, #67756, #69265, #70072
- 对shard_dataloader功能进行了升级,支持通过
batch_sampler
设置梯度累加步数,同时支持模型多输入的场景。#65325, #70659 - 对参数保存和加载功能进行了升级,支持参数异步存储、支持动态图和静态图互相加载
master_weight
、同时支持参数版本控制和offload功能。#66858, #67427, #70105, #70639 - 为了满足用户对含有
PyLayer
的组网进行动转静的需求,在静态图模式下对PyLayer
进行了支持,允许在PyLayer
内部运行分布式张量。#67326, #68190, #69089, #70831 - 为了解决数据流输入格式与模型动转静实际需要的
input_spec
不一致导致无法正确动转静的问题,对动转静接口支持了用户自定义input_spec
功能,允许用户自行传入需要的input_spec
。#69183 - 针对混合并行场景,对梯度裁剪策略进行了适配和支持。#65259, #65928, #69287, #69760, #71421
- 针对模型层数不整除设备数的场景,支持非均衡流水并行策略,允许用户在不同流水阶段切分数量不同的网络层。#69728, #70164, #70230
- 新增
set_mesh
和get_mesh
接口,支持用户方便地设置和获取全局mesh。#69999 - 新增自动并行和手动并行精度对齐开关,方便将已有的手动并行模型改写成自动并行后验证精度正确性。#67681
功能改进
对于算子切分推导规则进行完善和优化
- 新增
add_n
、split
和softmax_grad
算子切分推导规则。#65606, #69439 - 新增
assign
和embedding_grad
算子切分推导规则。#67457 - 新增
clip
算子切分推导规则。#70632 - 新增
dist_stack
和gather_nd
算子切分推导规则。#65426 - 新增
dropout
算子切分推导规则。#70216 - 新增
fused_dropout_add
算子切分推导规则。#67722 - 新增
fast_ln
自定义算子切分推导规则。#68148 - 新增
greater_equal
和less_equal
算子切分推导规则。#68868 - 新增
greater_than
和less_than
算子切分推导规则。#68133 - 新增
if
算子切分推导规则。#69357 - 新增
logical_and
、logical_not
、logical_or
和logical_xor
算子切分推导规则。#67840 - 新增
logsumexp
算子切分推导规则。#67840 - 新增
non_zero
算子切分推导规则。#67996 - 新增
pad
算子切分推导规则。#68304 - 新增
p_norm
算子切分推导规则。#68317 - 新增
scatter_nd
算子切分推导规则。#67980 - 新增
sigmoid
算子切分推导规则。#71092
静态图自动并行架构基于PIR升级
- 混合精度训练(AMP)升级。#65089, #65892, #66418, #66674, #68545
- 重计算策略升级。#69681, #70064
- 参数切片并行策略升级。#63542, #67748, #68288, #68314, #69059, #71167
- 流水并行策略升级。#66810, #67174, #67522, #68141, #68742, #68962, #69052, #69201, #69244, #69578, #69584, #69654, #69799, #69894, #70360, #70615
- 梯度累加策略升级。#66641, #67254, #67907, #68391, #68460, #68472, #68664, #68727, #69171, #69805
- 算子融合策略升级。#68087, #68207, #68383, #68623, #68650, #68736, #69103, #70889
tensor_fusion
优化策略升级。#66130, #68475, #69243, #69560, #69823, #70195, #70309, #70363, #70869- 张量并行优化策略升级。#68182, #68389
- 自定义算子切分推导机制升级。#67614
- 参数保存和加载机制升级。#66416, #67045, #67369, #68203
- 计算图编译时间优化。#68796
bug修复
- 修复切分推导机制及若干算子的切分推导规则bug。#65702, #65835, #66098, #66955, #67052, #67059, #67101, #67283, #67729, #67996, #68413, #68455, #68533, #68976, #68977, #69027, #69203, #69223, #69862, #69991, #70100, #70624, #71024, #71152, #71214, #71253, #71388
- 修复切分转换机制的若干bug。#65060, #65820, #67630, #67809, #68115, #68468, #70023
- 修复参数切片并行中
shard_degree
推导错误的bug。#68781, #69214 - 修复
shard_dataloader
动态图和静态图结果不一致以及切分dict类型数据、自定义sampler
场景等场景下的问题。#65262, #66096, #66882, #69620 - 修复
recompute
设置use_reentrant=false
时和参数切分不兼容的bug。#65188 - 修复参数加载和保存功能的bug。#66266, #69764
- 修复
Conv2D
、fill_constant
、flash_attn_grad
、reduce_scatter
、if
、tuple_push
和tuple_pop
等算子的bug。#67587, #68008, #68586, #68589, #69519, #70207 - 修复
reduce_scatter
、p_send
、p_recv
等通信算子的bug。#67386, #71433 - 修复张量类型提升的bug。#66541, #68342
- 修复在部分卡上未初始化的分布式张量转numpy时自动分配显存的bug。#66361
- 修复非切分张量调用to_tensor时触发数据拷贝的bug。#67169
- 修复
scaler
参数切分的bug。#68289 - 修复
enable_delay_scale_loss
精度问题。#68525 - 修复通信组创建顺序不同导致的hang问题。#68847
- 修复静态图场景下
op_role
设置错误的bug。#67850, #67986, #68156 - 修复静态图下无法切分随机数算子输出变量的bug。#67589, #67750, #68067
- 修复静态图下计算图cache机制失效的bug。#68488
- 修复
paddle.distributed.to_distributed
索引越界的bug。#70174 - 修复流水并行可视化工具的bug。#71386
5. 算子机制
算子相关PR,包括组合算子拆分、新硬件适配算子kernel、稀疏算子运算、旧IR算子退场等工作,为PIR适配编译器、多硬件并取得性能优势奠定了基础;规范了算子体系优化了代码结构,减少了技术债,并提升了可维护性。
新特性
- 支持组合算子拆分。 #65148, #65007, #65482, #65006, #65692, #65961, #65968, #65967, #66510, #66795, #66835, #67151, #67342, #67481, #67502, #67606, #67757, #67775, #67891, #67790, #67965, #67968, #68168, #68125, #68228, #68295, #68353, #68357, #68827, #68834, #69239, #68817, #69108, #69373, #69372, #68829, #69684, #68818, #68835, #69838, #69998, #69675, #70367, #70080, #71352, #66450, #67593, #67988, #68346, #68399, #68319, #68485, #68961, #68575
- PIR 支持 Pylayer。 #69674, #70375
- 支持XPU相关算子计算。 #65684, #65976, #68497
- PIR 支持稀疏算子。 #62663, #67885, #67976, #68261, #68326
- 支持手动 Recompute。 #65879
- 实现kernel并注册算子。 #63130
- 支持Custom Op。 #68824, #68748
- 添加acos的动态图二阶反向组合。 #70409
- 支持 0-size tensor 的初始化和计算。 #70504
Bug 修复
- 修复组合算子相关Bug。 #70250, #67170, #71218, #69095, #70189
- 修复XPU相关Bug。 #65149, #70845
- 修复shape相关Bug。 #68722, #70210, #70492
- 修复save/load相关Bug。 #69153
- 修复类型相关Bug。 #65721, #65859
- 其他算子调用和执行过程中的问题修复,包括类型匹配、类型推导、参数类型支持等,。 #65360, #65024, #66308, #67085, #67285, #67076, #67547, #68007, #68527, #68549, #68543, #68604, #68741, #68859, #69025, #69065, #69405, #69688, #69912, #70177, #70517, #70596, #70788, #70870, #71332, #71454, #71442, #71499, #67459, #68470, #70206
其他
- 优化代码风格。 #68536
- 修复拼写错误。 #67456, #66673, #68702, #68735, #68718, #70700, #70682, #70670, #70241, #69626, #70051, #67764, #68872, #70055, #67954, #67404, #69273, #66981, #68145, #69148, #69145, #69168, #68940, #70344
- 修改接口文档。 #69378
- 替换 fluid 算子体系下的算子及参数命名。 #69345, #69382, #69484, #69444
废弃
- xshape输出退场。 #66769, #67009, #67152, #67172, #67355, #67373, #66089
- 移除 fluid 体系下废弃的算子及其kernel、相关单测、相关调用代码。 #67370, #67088, #67324, #67666, #68058, #68311, #68358, #68312, #68355, #67528, #68316, #68356, #68397, #68441, #68417, #68567, #68583, #68649, #68331, #68730, #69754, #69445, #69921, #70268, #69446, #69544, #70272, #69745, #70300, #70388, #70421, #70302, #70445, #69275, #69081, #70588, #67778, #67953, #68093, #68092, #67684, #69665, #67915, #67917, #68403, #68404, #68969, #68953, #68954, #68942, #68950, #69381, #69380, #69448, #69680, #69775, #69812, #69840, #69828, #69742, #69923, #69922, #69904, #70002, #70054, #70052, #70053, #70713, #70718, #70718, #70717
- 移除废弃Flag。 #70727, #70726
- 移除组合算子废弃API。 #69873, #69309
开发者相关
- 支持组合算子,包括适配算子、添加Flag、测试用例等。 #67725, #65252, #67590, #68076, #66711, #68813, #68928, #69054, #69156, #69255, #69460, #70270
- 为算子添加单测。 #68272, #68490
- 增加算子 API 别名用于 PaddleCustomDevice。 #69526
- 移动算子定义位置,使其只支持动态图。 #69289
- 标注仅前向计算算算子。 #68580
- 将view运算的反向算子改为复用前向算子,从而支持科学计算场景下高阶微分的需求。 #71086
- 迁移算子文件位置/修改函数命名空间/修改函数参数名等。 #66393, #67066, #67012, #67243, #67367, #67760, #67242, #67189, #67899, #67687, #68035, #67682, #68464, #68469, #67900, #68563, #68562, #68564, #68479, #68588, #68726, #68719, #68767, #68557, #68671, #68786, #67948, #64999, #68581, #68361, #68656, #68396, #68059, #68785, #68665, #68869, #67626, #68921, #69268, #69271, #69306, #69302, #69341, #69364, #69343, #69383, #69415, #69437, #69494, #69541, #69543, #69540, #69569, #69568, #69621, #69622, #69701, #69702, #69704, #69743, #69780, #69814, #69822, #69893, #69967, #69976, #70011, #70015, #70007, #70010, #70346, #70414, #69951, #70299, #70441, #70435, #68420, #70671, #70705, #68540, #70211, #67489, #66927, #66942, #66848, #66796, #67036, #67244, #67299, #67171, #67293, #67208, #67408, #67523, #67689, #67694, #67797, #67894, #65969, #65939, #67928, #68097, #66744, #68496, #66943, #68773, #69272
- 移动测试文件位置。 #67564, #68266, #68634
- xshape输出退场相关前置修改。 #67543, #67572
改进
- 支持了更多数据类型。 #69143
- 更新xpu接口。 #69800
- 改进了算子打印功能。 #69916
- 升级了 normalize 操作以支持更多场景。 #70152
- 扩展了group_norm以处理rank大于5的情况。 #68774
- 改进了backward_blacklist的使用。 #69356
性能提升
6. 框架性能优化
性能优化相关PR,包括优化算子性能、优化kernel表现、优化内存、优化命名空间等,给使用者带来更好的开发体验。
新特性
- 增强对 fp8 类型的支持。 #64735, #64955
- 增强对 xpu 的支持。 #65362, #65304, #68451
- 增强对 DCU 的支持。 #65398, #65857, #66423
- 扩展 oneDNN 能力。 #66000, #66474, #66568
- 重命名参数并支持更复杂的 mask。 #65409
- 支持 flash-attention。 #68968
- 支持 OpenVINO CPU 高性能推理。 #69122
功能改进
- 增强PIR pass以实现更好融合。 #65540
- 增强 OneDNN 功能。 #65971, #70430, #70630, #70871
- 提升FlashMask性能。 #68109
- 优化kernel表现。 #69660, #69596
- 组合算子优化。 #69515, #69616
Bug 修复
- 修复PIR、CINN、SOT、OneDNN等相关的Bug。 #68951, #69553, #69682, #67741, #69346, #69401, #68903
- 修复组合算子相关Bug。 #69479, #69487, #67176
- 修复CPU上的FP8数据类型问题。 #65539
- 去除计算流下不必要的创建event的开销 。 #67315
- 修复性能问题。 #68378
- 修复类型相关问题。 #69720
- 修复其他问题。 #70019, #70008, #70645, #71209, #68152, #69907, #71207
性能优化
- CINN编译器相关优化。 #69455, #70284, #67576, #68946, #68615
- oneDNN相关优化。 #68784, #68716, #67554
- 内存相关优化。 #68660, #69930, #68174, #68660, #70359
- kernel计算相关优化。 #65507, #68541, #71479, #71403
- XPU相关优化。 #67051
- 其他优化例如推理过程的pass优化、动态shape在自动并行的优化及FlashAttention计算优化等。 #68394, #68696, #68759, #68791, #69390, #69961, #69939, #70455, #70663, #71290
其他
- 修改函数命名空间。 #66818, #67023, #67114, #67217, #67524, #67796, #67881
- 升级OneDNN。 #69917
- 修改pass等级。 #69524
- 内存读写相关优化。 #65804, #66923
- 优化 GetValueName 相关签名。 #66363, #66559, #66738
废弃
7. 推理部署
重点围绕新一代中间表示(PIR)生态建设与大模型推理优化两大核心方向, 主要突破包括:
-
PIR-TensorRT深度融合
- 完成核心执行机制重构与代码优化,开发50+算子转换器
- 新增低精度支持(FP16/INT8)与Generic Plugin执行能力
- 构建完整单测体系,支持模型加载/保存全流程
-
大模型推理性能飞跃
- 新增混合专家系统(MoE)全流程支持,覆盖Hopper架构优化
- 支持128K超长序列处理,提升长文本推理能力
- 实现FP8/W8A8等前沿量化方案,降低显存占用
-
基础架构全面升级
- OneDNN升级至3.6版本,CPU推理性能显著提升
- 模型加载速度优化40%+,支持PIR模型快速加载
- 完善分布式推理支持,修复allreduce数据类型问题
新增功能
- 支持基于飞桨新一代中间表示(PIR)的Paddle-TensorRT
- 核心基础执行机制功能开发及代码优化。#64995,#67054,#67660,#67755,#70762,
- 算子Marker及Converter开发。#67753,#67956,#68084,#67974,#68395,#68216,#68529,#68608, #68663,#68757,#68614,#68783,#68775,#68839,#68686,#68840,#68941,#69015,#69038,#69117,#69208,#69315,#69261,#68878,#69705,#69706,#70170,#70267,#70429,#69330,#70507,#70535,#70667,#70816,#70826,#70955,#71028,#71013,#71157,#71231,#69199,#68956,#66658,#66811,#67519,#67877,#68090,#69086,#68787,#68778,#69318,#69995,#70325,#70817,#70879,#70875,#71041,#68876
- Generic Plugin执行功能支持。#66634,#70251
- 低精度(FP16,INT8)功能支持。#69597,#71127,
- 单测体系、pass使用支持等辅助功能完善#67525,#68034,#71281,#71235,#67568,#70139,#70529
- 大模型推理优化
功能完善
- Inference在PIR下功能机制完善
- 大模型推理机制完善
性能优化
- OneDNN 升级到3.6版本(在GNR/EMR设备上模型推理性能获得普遍提升)#69386
- 算子性能优化(layer_norm/top_p_sampling)#65711
- 模型加载加速(常规/PIR模型)#69110, #70219
Bug修复
- 修复 Predictor 在保存/加载 PIR 模型时有关问题。 #65180,#65019,#65714,#69619,#67570,#65595,#69200
- 修复推理单测在 PIR、多硬件等场景下的执行问题。#65763,#66481,#67105,#67248,#67470,#67638,#68135,#68191,#68211,#68160,#68185,#68127,#68887,#69191, #70961,#68020,#67923,#67963,#68482,#68546,#68593,#68793
- 修复Paddle TensorRT转换与执行相关问题。#66932,#66655,#67274,#67504,#65780,#68170,#68647,#68776,#69573,#69598,#69510,#69864,#69885,#70161,#70116,#70791,#70801,#70824,#70939, #71143,#71154,#71163,#71183,#71233,#71287,#71319,#67720,#69671,#70168,#69957
- Paddle Inference 编译链接相关问题修复。#65846,#67081,#63184
- 量化问题修复。#67839,#68049,#70099, #64878,#65717,#67552,#67715
- OneDNN推理问题修复。#67836,#68021,#68132,#71426,#68057
- 内存问题修复。#68631,#69129,#70314,#67863
- Paddle Inference 支持OpenVINO问题修复。#70212,#70288,
- Pass相关问题修复。#65349,#65421,#65677,#66850,#67443,#67620,#68158,#68642,#68837,#68880,#68935,#69112,#69205,#69242,#69352,#69421,#69690,
- 其他类问题修复。#70237,#68173
- 修复 fused_moe 相关问题(测试/GEMM/WINT4/多架构兼容性/Bias可选)#67353, #67396, #67717, #67794, #67783
- 修复 block_attention 系列问题(GQA差异/越界风险/多头支持)#67175, #69001, #70763
- 修复 PIR 相关问题(布局转换/BF16替换错误)#66977, #67830
- 修复分布式相关(allreduce数据类型/参数同步)#67449, #69157
- 修复内核执行问题(前向反向冲突/默认流argsort)#67218, #68374
- 其他关键修复(减小C++库体积/修复NeoX格式下的RoPE计算/修复静态图执行)#66041, #66583, #67580
其他修改
8. 硬件适配
针对昆仑、海光等平台持续进行功能完善和升级,提升用户体验
新功能
昆仑芯XPU上进行OP的添加和功能的完善,涉及的ops包括:flash attention/flash_attn_unpadded、multinomial、matmul、repeat_interleave、logsumexp、index_put_grad、mean_grad、pow、pow_grad、rsqrt、full、rms_norm、rms_norm_grad、put_along_axis、Cumsum、argmin、masked_select/grad、expand_v2/grad、all2all、expand、reduce_sum、reduce_max、reduce_min、moe、fused_linear_param_grad_add、adamw、clip/clip_grad、tan、acos、blha_get_max_len、gather/gather_grad、scatter/scatter_grad、round、index_select/sindex_select_grad、isfinite、isinf、quantize_linear、dequantize_linear、conv3d_transpose、logsumexp_grad、index_add_grad、eye、gather_element、tril、triu、set_value_grad、argmax、take_along_axis等 #65413, #64846, #65656, #65963, #66143, #66482, #66585, #67077, #67173, #67551, #63989, #67919, #68052, #68176, #68408, #68454, #68478, #68473, #68453, #68770, #68933, #69042, #68713, #69368, #69723, #69767, #69898, #69970, #69771, #70176, #70428, #70573, #70576, #70633, #70114, #70627, #71038, #71132, #71228, #71274, #71364, #71375, #71431, #71451, #67585, #67637, #67914, #67641, #67913, #67955, #68411, #68560, #68423, #68894, #71053, #71047, #69056, #70843, #65653, #68023, #67780, #68622, #67215
海光DCU上添加rocsolver、warpctc的支持,并进行OP的添加和功能的完善,涉及的ops包括:flash_attention、hipblaslt、fastgelu、multiclass_nms3
#68066, #69457, #68603, #65599, #70587, #71337, #70173
Bug修复
昆仑芯XPU上进行OP的Bug修复 #65020, #65251, #65418, #65387, #65525, #65613, #65533, #65705, #65915, #66238, #66485, #67349, #67372, #67276, #67460, #67496, #67530, #67828, #68010, #68157, #68172, #68388, #68213, #68501, #68504, #68585, #69229, #69374, #69424, #69440, #69614, #68542, #69990, #70351, #70479, #70431, #70638, #70856, #70974, #70973, #71027, #71062, #71115, #71110, #70858, #71147, #71212, #71361, #71423, #70859, #71492, #71493, #69826, #67341, #68906, #71171
海光DCU上进行OP的Bug修复 #69617, #65716, #66630, #65399
性能优化
昆仑芯XPU对stream等基础组件功能升级、对部分op的性能进行优化。 #65102, #69727, #69899, #69942, #70025, #70640
硬件底层基础库升级
基础库的升级支持昆仑芯P800,以及基础组件的支持 #65494, #65924, #69752, #70835, #65554, #66998, #65278, #70614, #71012, #71178, #71168, #68740, #71100, #65221, #67983
其他
op test等相关模块修改 #65654, #66233, #66728, #67959, #68169, #68418, #68434, #68445, #68877, #68993, #69006, #70471, #70706, #67777, #65698, #68433, #65689
9. 环境更新
- 优化了框架的稳定性和跨平台兼容性,修复了测试覆盖率及编译环境兼容性问题,并增强对Windows/XPU/DCU等多平台支持;同时精简了代码结构,移除废弃代码和无用依赖库以降低维护成本;升级CUDA等关键依赖,进一步优化CI/CD流程,提升构建速度并增强系统整体稳定性。
Bug 修复
- 完善CI/CD流程并修复测试用例、解决不同环境下的编译安装问题, 提升框架稳定性和跨环境兼容性。 #65627, #65736, #65900, #66069, #67000, #67312, #67432, #67540, #67670, #68449, #70806, #65665, #65652, #70644, #68119, #68466, #68858, #68788, #68934, #69883, #69924, #71187, #70798, #71248, #70512, #71363, #71438, #71291
改进升级
- 环境升级 #69491, #66560, #65686, #71177, #71284, #69791, #69349, #70944, #65411
- 流水线合并 #66815, #67306
- DCU/NPU/KUNLUN流水线完善 #67516, #67629, #67987, #69903, #68448, #70401, #71192, #71197, #68027
- Windows环境支持 #70390, #70785, #71286, #71414, #68901
- 第三方库完善 #71419
- 其他优化用于提升CI稳定性和执行效率 #67574, #69058, #70610, #67093, #69037, #65213, #65913, #65947, #66479, #71054, #71396
新特性
- 新增Github Action机制 #70571, #70626, #71325, #71344, #71353, #71322, #70415, #70465, #70524, #70550, #70564, #70579, #70580, #70963, #71200, #71261, #71265
废弃
- 废弃代码与依赖的清理,包括移除不再依赖的Python库以及简化编译配置, 降低维护成本 #65635, #67542, #67609, #69572, #68150, #67604, #68561, #68904, #67219
10. 其他
- 与用户使用无关的改动,包括废弃代码清理、代码迁移、单测清理、调试或者监控机制升级等。
开发者相关内容
- 删除无用调试代码,代码迁移 #65256, #65782, #65836, #65840, #65862, #65863, #65987, #66547, #66556, #66645, #66646, #66648, #66672, #66783, #66083, #65562, #66564, #66370, #66912, #66913, #66914, #66915, #66664, #66671, #66121, #65907, #65949, #65950, #65954, #66545, #66649, #66900, #66901, #66902, #66903, #66904, #66906, #66907, #66908, #66909, #66549, #66555, #66647, #66898, #66886, #66042, #66043, #66045, #66046, #65826, #65825, #65827, #65829, #65830, #65831, #66081, #66082, #66087, #65980, #65981, #65983, #65985, #65979, #65986, #65988, #65989, #66682, #66717, #65802, #66159, #66147, #66149, #66150, #65798, #65731, #66145, #66086, #65781, #65837, #65828, #65864, #65959, #65706, #66918, #66191, #66689, #66808, #65424, #65452, #65463, #65478, #65339
- 规范化代码命名空间 #64755, #64765, #64767, #64770, #64775, #64776, #64757, #64780, #64777, #64779, #64758, #64759, #64762
- 修改算子列表 #66573, #65598, #65100, #65385, #65192, #65118, #65108, #65153, #65465, #65128, #65420, #65099, #65207, #66066, #65400, #65160, #65195, #65445, #65479, #65193, #65401, #66724, #65164, #65466, #65661, #65897, #66022, #65313, #65616, #65588, #65174, #65402, #65154, #65151, #65098, #64953, #65122, #65590, #65152
- Paddle 框架旧执行器功能退场 #65077, #65340
- 报错信息提示优化 #66668, #66675, #66605, #66613, #66507, #66700, #66739, #66719, #66733, #66552, #66548, #66623, #66702, #66705, #66718, #66727, #66860, #66869, #66933, #66939, #66553, #66774, #66794, #66551, #66540, #66617, #66841, #66788, #66954, #66698, #66782, #66844, #66443, #66455, #66517, #66804, #66802, #66536, #66707, #66525, #66753, #66550, #66857, #66471, #66628, #66469, #66775, #66506, #66780, #66953, #66695, #66603, #66491, #66715, #66632, #66594, #66615, #66578, #66534, #66569, #66529, #66530, #66522, #66789, #66600, #66511, #66512, #66527, #66518, #66958, #66532, #65258, #66487, #66876, #66832, #66872, #66830, #66708, #66502, #66521, #66592
废弃
- 废弃代码清理、无用单测清理 #65894, #66165, #66293, #66102, #66442, #66922, #66531, #65518, #66800, #66372, #65902, #65462, #65327, #65189, #65181, #66535, #65383, #65173, #66429, #66386, #66447, #66367, #66160, #65408, #65433, #65481, #65444, #65389, #65663, #65649, #65629, #66142, #65796, #66163, #66291, #65480, #65495, #65498, #65503, #65502, #65501, #65512, #65528, #65472, #65390, #65344, #65384, #65388, #65198, #65248, #65443, #65430
11. 贡献者名单
0x3878f, 0x45f, 2742195759, 86kkd, A-nnonymous, ADream-ki, Aganlengzi, Albresky, AndPuQing, AndSonder, Aoraki-Dream, ApricityXX, Asthestarsfalll, Aurelius84, BHmingyang, BeingGod, Betelgeu, BiynXu, CJ77Qi, Caogration, DDDivano, Dale1314, Deleter-D, DesmonDay, Difers, Dmovic, DongBaiYue, DrRyanHuang, DrownFish19, Eddie-Wang1120, EgoistSA, FeixLiu, ForFishes, Fripping, From00, Function-Samuel, GoldenStain, Guanhuachen2003, GuoxiaWang, Hanyonggong, HarperCy, Hongqing-work, HydrogenSulfate, JZ-LIANG, Jeff114514, JiaWenxuan, LLee233, LanCole, Lans1ot, Layssy, Leoforever123, LiYuRio, LielinJiang, LittleHeroZZZX, Liujie0926, Liyulingyue, Luohongzhige, Marcusryz, MarisaSparkL, Micalling, MikhayEeer, MrXnneHang, MufanColin, NKNaN, Neo-WY, NeroLoh, PolaKuma, Qin-sx, QingshuChen, RachelXu7, RichardWooSJTU, RuohengMa, SCUcookie, Sekiro-x, SigureMo, Sunny-bot1, SylarTiaNII, Sylence8, TBD1, TR666, TimeYWL, Tom-Zheng, Turingg, Victor-Bayim, Vvsmile, WAYKEN-TSE, Wanglongzhi2001, Wangzheee, Waynezee, Wennie396, Whsjrczr, Wizard-ZP, Wong4j, XavierZXY, XiaociZhang, XieYunshen, Xing-lil, Xreki, YKTian-x2b, YZW-explorer, YanhuiDua, YuanRisheng, ZHOU05030, ZhangHandi, ZhangX-21, ZibinGuo, a2064968462, anderson101866, aooxin, aquagull, baoqiwen, bapijun, blacksheep-Aristotle, bukejiyu, carryyu, ccsuzzh, chang-wenbin, changeyoung98, chen2016013, ckl117, cmcamdy, co63oc, continue-coding, cqulilujia, crazyxiaoxi, cszdrg, cubehan3, cyber-pioneer, danleifeng, decade-afk, deepllz, dynamicheart, eee4017, eggman-1024, enkilee, epiphanyer, ethan-sem, fangfangssj, feixi21, fightfat, fufu0615, fxfxfxfxfxfxfxfx, fxy1699, gitliuyf, gongel, gongshaotian, gongweibao, gouzil, gsq7474741, guixxiic, gzy19990617, hanyang2508, haoyu2022, heavyrain-lzy, houj04, huangjiyi, huangkr03, hxzd5568, icpcccpc, inaomIIsfarell, iosmers, jeff41404, jerrywgz, jiachengdai, jiahy0825, jinmingyi1998, jinyouzhi, joseflv, jychen21, jzhang533, kangguangli, kanze1, kineast, kircle888, l1cacheDell, leo0519, lifulll, linkk08, little1d, liufengwei0103, liuruyan, lixcli, liym27, liyongchao911, lizexu123, lizhenyun01, lj970926, lshpku, lszxb, ltd0924, luotao1, lwkhahaha, lxd-cumt, mayang002, megemini, mikemikimike, ming1753, monster1015, mori0umi, ndyysheep, nizne9, nobodynobody, ooooo-create, penPenf28, phlrain, pkuzyc, qili93, rich04lin, risemeup1, ronny1996, rsmallblue, runzhech, skywalker2012, smile2game, sneaxiy, successfulbarrier, sunzhongkai588, swgu98, tc20042008, tianhaodongbd, tianshuo78520a, tizhou86, tlxd, uanu2002, umiswing, vivienfanghuagood, waliwali777, walkalone20, wanghuancoder, wangna11BD, will-jl944, winffke, winter-wang, wwwuyan, xiaoguoguo626807, xiaoluomi, xiaoyao0115, xingmingyyj, xkkkkkk23, xu8117, xuxinyi389, xz-alex, yangrongxinuser, yeteye, yinfan98, yongqiangma, yuan20041218, yuanlehome, yuguo-Jack, yumin066, zbt78, zeroRains, zhangbo9674, zhanghonggeng, zhanglirong1999, zhangting2020, zhangyk0314, zhangyuqin1998, zhiminzhang0830, zhink, zhiqiu, zhouquan32, zhoutianzi666, zhwesky2010, zoooo0820, zrr1999, zty-king, zxcd, zyfncg