AI资讯

昇腾实现训推一致:Qwen3-30B测试Logdiff为0,性能提升20%-60%

智能摘要

其中,训推一致至关重要,因推理与训练过程耦合,基础设施差异易放大不确定性。性能收益,为开发者提供高效可靠的强化学习训练方案。后训练训推不一致最根本的原因,是底层计算时累加不保序。若要从上到下保证训练引擎与推理引擎每一次累加顺序一致,需要框架侧与算子侧同时发力。

训推不一致是个大问题

开发人员针对强化学习去训练大模型之际, 常常会碰到一个令人头疼不已的状况, 那就是训练得出的结果跟推理得出的结果并不相符, 明明运用的是同一组模型参数, 然而计算得出的数值却是不一样的, 这种差异虽说看上去是很小的尺寸, 可是处在强化学习这样一种对于精度有着极高要求标准的实际场景当中, 将会直接对模型效果产生影响。

业内将这种现象称作训推不一致, 它所指的是, 推理引擎与训练引擎计算得出的数值存有偏差, 哪怕输入完全一样的Token序列, 两边计算出来的对数概率也或许会有细微的差别, 而这个差异一般是用RLHF差异值去衡量的, 数值越大表明问题越严重。

根源在底层计算顺序

训推不一致的最为根本的缘由, 在底层进行计算之时, 累加顺序并非统一。训练引擎于处理数据会有不同, 推理引擎处理数据时, 累加顺序也会不一样。这种差异当模型参数越大越显著。张量并行、专家并行等切分策略, 连同集合通信路径, 任何一个环节对齐不了, 最终结果就会出现问题。

要使得训练以及推理于每一回累加之际都维持一致, 这般便必须框架层与算子层一同使劲。算子还得涵盖多种调用场景, 于关键计算步骤施加约束。与此同时要将性能损失把控在可用范畴之内, 这属于一项系统工程挑战, 难度颇大非小之事。

昇腾给出完整方案

8月5日, 昇腾计算官方宣称, 已基于C编程语言给出了完备的训推一致算子集这个方案, 在Qwen3 – 30B MoE模型上开展的测试表明, RLHF差异值为0了, 并且借助FA算子优化, 于Eager模式下斩获了20%到60%的性能收益。

关键的思路在于, 要使得训练以及推理, 在那些需要做累加操作的地方, 去走完全相同的一套数值方面的路径。这主要涵盖了四个不同方面的更改: 针对关键算子设定约束条件, 将累加的顺序予以统一, 对调度策略进行优化, 把性能方面的损耗予以减少。通过这些更改, 保证了训练和推理的一致性, 且不再是以牺牲性能为前提条件才得以实现的。

性能提升很明显

在以往,要达成训推一致常常得付出性能方面的代价, 开发者得在精度跟速度之间去做取舍, 昇腾此次的方案把这个困境给打破了, 借助FA下发以及调度优化, 在达成数值一致之际, 还获取到了端到端的性能加速。

经实际测量得出的数据表明, 当处于Eager模式时, 性能出现了百分之二十至百分之六十的提升幅度。这所表达的意义是, 开发者能够在确保训练精度维持在既定水平的状况下, 收获更为快速的训练速率。对于那些涉及较多强化学习训练的大模型项目而言, 此种提升具备相当高的实用价值。

基础设施全面开源

昇腾实现训推一致:Qwen3-30B测试Logdiff为0,性能提升20%-60%

昇腾已然开源了相关基础设施, 开发者能够自由去获取以及使用这些算子, 与此同时, 官方会上线训推一致问题识别工具, 这一工具能够协助开发者排查残余的数值差异, 确定问题究竟是出在算子路径方面, 还是框架实现差异方面。

这个开源的举动, 使得开发者运用昇腾平台开展强化学习的门槛得到了降低, 以往倘若碰到训推不一致的状况, 排查起来是相当困难的, 如今因有了官方的工具以及算子的支持, 开发者能够更专心于模型自身的优化, 而没有必要在底层的问题上耗费时间。

对开发者意味着什么

这是实实在在的好处, 给到那些从事大模型强化学习开发的工程师, 训推一致的问题长期都存在着, 好多团队都为此耗费了大量调试耗费的成本, 昇腾开源的方案给出了现成能解决的路径, 能够直接运用到真正实际的项目当中。

运用时, 开发者得留意算子覆盖的完备性, 虽说核心算子已然对齐, 然而于自定义算子或者特殊场景之际, 依旧需手动验证一致性, 提议于新项目起始阶段就引入此套方案, 以防后期返工。

在你运用大模型强化学习训练期间, 可曾碰到训推不一致这种状况? 欢迎于评论区拿出你的经历来分享一番。要是感觉这篇文章对你能起到助力作用, 别忘了点赞并且转发给更多同行。

相关文章