昇腾实现训推一致性,实测性能提升显著
「华为昇腾基于Ascend C编程语言实现强化学习训推一致性,在Qwen3-30B MoE模型上Logdiff归零,并通过算子优化获得20%-60%性能收益,相关基础设施已开源,为开发者提供高效可靠的RL训练方案。」
强化学习已成为大模型训练的主流范式,推动模型技术向行业核心场景工程化落地。在这一过程中,训推一致性至关重要,因为推理与训练过程高度耦合,基础设施的任何细微差异都可能放大不确定性,影响模型最终效果。华为昇腾近期宣布,基于Ascend C编程语言提供完整的训推一致算子集,在Qwen3-30B MoE模型上的测试中实现了Logdiff为0,并通过昇腾亲和的FA算子优化,在Eager模式下获得了20%-60%的性能收益,为开发者提供了一套高效可靠的强化学习训练方案。
训推不一致的核心问题在于底层计算时累加不保序。训练引擎与推理引擎在计算过程中,如果累加顺序不一致,就会导致数值结果出现微小偏差,这种偏差通常用logdiff来衡量。即使训练和推理使用完全相同的模型权重,对相同Token序列计算得到的对数概率也可能存在差异。随着模型参数规模的增大,问题会进一步放大:张量并行、专家并行等切分策略,以及集合通信路径,任一环节对不齐,都无法实现真正的true-on-policy。因此,解决训推不一致需要从框架侧和算子侧同时发力,对关键计算步骤施加约束,同时将性能损失控制在可用范围内,这是一项系统性工程挑战。
昇腾团队基于Ascend C编程语言,对训推链路中的关键算子进行了系统性约束与对齐,核心思路是让训练与推理在“该累加的地方”走同一套数值路径。具体涉及四个主要修改:第一,统一注意力语义,对齐训练掩码Softmax与推理逐步注意力在有效位置上的计算范围,消除因可见Token集合不同带来的数值差;第二,锁定reduce累加序,约束训练FA与推理PFA/PagedAttention在规约维度上的切分与归约顺序,避免“同模板不同切分”导致的累加不保序;第三,对齐在线Softmax分块策略,统一分块大小与归约节奏,避免decoder侧多块合并Softmax与训练侧分块Softmax不一致;第四,对齐关键路径精度,在Softmax累加等敏感步骤上统一精度转换策略,减少混合精度实现差异引入的尾数误差。
在完成算子对齐的基础上,昇腾进一步配合FA下发与调度优化,使得训推一致性不再以显著性能回退为代价。实测中,Qwen3-30B MoE模型在Eager模式下同时实现了Logdiff为0和20%-60%的端到端加速,证明了训推一致性与性能优化可以兼得。这一成果对于强化学习后训练场景尤为重要,因为Rollout(推理)引擎与训练引擎之间的数值一致性直接影响到策略更新的准确性。
华为宣布相关基础设施已开源,并计划上线“训推一致问题识别Skill”,支持开发者排查残余Logdiff,定位是算子路径问题还是框架实现差异。开源地址已公布在GitHub上,便于社区开发者直接使用和验证。这一举措不仅降低了强化学习工程化的门槛,也为大模型训推一致性研究提供了可复用的参考实现。
来源:Heooo AI工具导航