SLAI T-Rex:在昇腾超算集群上对 DeepSeek-V4 系列进行全参数后训练 SLAI T-Rex: Full-Parameter Post-training of the DeepSeek-V4 Family on Ascend SuperPOD
在昇腾超算集群上高效后训练万亿参数 MoE,并面向运筹优化领域完成 CPT+SFT 专精
前置知识
Mixture-of-Experts (MoE)
MoE 是一种稀疏激活架构:每个 token 只被路由到全部专家网络中的一个子集,而不是激活所有参数。这样总参数量(容量)与单 token 计算量解耦,模型可以做得很大(如万亿参数)但每 token 的 FLOPs 只随规模亚线性增长。代价是引入了 token 分发/合并的 All-to-All 通信,以及负载均衡、显存管理等新难题。
本文的训练对象 DeepSeek-V4-Pro 是 1.6 万亿参数的 MoE 模型,理解 MoE 才能理解为什么需要专家并行(EP)、为什么 All-to-All 通信会成为瓶颈,以及 ETP(专家-张量并行折叠)等优化针对什么。
Model FLOPs Utilization (MFU)
MFU 衡量训练系统实际达到的计算吞吐占硬件理论峰值 FLOPs 的比例。它把并行度、通信开销、流水线气泡、算子效率全部压成一个数字,是评估大规模训练系统效率的核心指标。MoE 的 MFU 计算通常按激活参数量折算理论 FLOPs。
本文最核心的系统级成果就是把 DeepSeek-V4-Pro 训练的 MFU 从 11.67% 提升到 34.22%(2.93 倍)。不理解 MFU 就无法评估这套优化的分量。
Ascend 910C NPU 与 AscendC
华为昇腾 910C 是面向 AI 训练的加速芯片,采用 SIMD 架构,片上有 AI Core(CUBE 矩阵核 + 向量核)、多级存储(GM→L2→L1→L0A/L0B/L0C→UB 统一缓冲),并有 MTE1/MTE2(加载)、MTE3(存储)、MAC、FixPipe 等流水线。AscendC 是其算子编程语言,一个完整算子包含 host 侧调度逻辑与 device 侧 kernel 实现两部分。
本文与绝大多数基于 CUDA/TPU 的训练工作不同,专门针对昇腾这一非 GPU 平台做全栈优化。理解 NPU 的存储层级和流水线,才能看懂 AuraKernel 的 tiling 优化和算子融合为什么能省访存。
CPT 与 SFT(持续预训练与监督微调)
Continued Pre-Training(CPT)是在无标注领域语料上继续做自监督语言建模,目标是注入领域知识、塑造模型“知道什么”;Supervised Fine-Tuning(SFT)是在指令-回答对上做有监督微调,用交叉熵损失只对回答 token 计算梯度,塑造模型“如何回应”。二者是“奠基与激活”的关系。
本文的核心论点之一是 CPT 与 SFT 互补:CPT 注入运筹领域建模先验,SFT 对齐求解器输出契约。理解二者分工才能看懂为什么 CPT+SFT 在 B4O-ORGEval(结构等价)上提升最大。
Operations Research (OR) 与 Gurobi
运筹优化研究如何在约束下做最优决策,涵盖排班、运输、选址、网络流、库存等,形式化为线性规划(LP)或混合整数规划(MILP)。Gurobi 是业界领先的数学规划求解器,提供 Python API,LLM 做 OR 建模需要把自然语言转成变量、目标、约束和可执行的 Gurobi 代码。
本文的领域专精目标就是 OR。理解 OR 才能明白为什么“可执行”不等于“结构正确”——一个能跑出目标值的程序可能用了错误的变量族/约束族,这正是 B4O-ORGEval 要考核的。
研究动机
本文要同时解决两大痛点。其一是系统层面:绝大多数万亿参数 MoE 模型的后训练工作都紧密绑定 CUDA 或 TPU 基础设施(基于 SIMT 或脉动阵列架构),而在 SIMD 取向的昇腾(Ascend)集群上对万亿参数级 MoE 做全参数后训练几乎是空白。作者在 CloudMatrix384 SuperPOD 上对 1.6 万亿参数的 DeepSeek-V4-Pro 做了详细 profiling,发现开源基线 recipe 的 MFU 仅 11.67%,通信开销高达总 device kernel 时间的 52.2%(40.76 秒),其中张量/数据并行的 AllReduce/AllGather/ReduceScatter 占通信的 48.4%、流水线点对点传输占 36.7%;而 DeepSeek-V4 特有的层级稀疏注意力反向算子 SparseAttnSharedkvGrad 单算子就吃掉 16.86% 的 kernel 计算时间,向量计算利用率却只有约 9.5%,属于访存/控制受限而非计算受限。此外 Cast、Add 等 92 类长尾小算子累计占 32.88%。其二是领域层面:尽管 LLM 后训练在数学、代码上进展迅速,但运筹优化(OR)这类长尾工业决策领域严重缺位。作者诊断原版 DeepSeek-V4-Flash 发现:在结构等价基准 B4O-ORGEval 上 Pass@1 仅 34.26%,代码可构建率却达 79.19%,说明大量程序“能跑但结构错”;对 1456 个失败案例的分析显示,结构等价错误(28.3%)、协议/API/模式错误(23.9%)、离散变量语义错误(12.5%)高居前列,且这些错误即便加 5-shot 或采样 16 次也难以根除。
本文的目标是本文的目标是构建一套端到端的全栈后训练框架 SLAI T-Rex,在昇腾超算集群上同时实现“高效的万亿参数 MoE 全参数后训练”和“面向运筹优化的可验证专精”。系统层面,要把 DeepSeek-V4-Pro 训练的 MFU 从基线水平大幅提升到接近 SOTA 的水准,同时保证训练稳定性,并总结一套昇腾友好的系统级优化原则(联合优化并行、通信、访存、算子)。算子层面,要攻克 DeepSeek-V4 特有的稀疏注意力、RMSNorm、mHC 等复杂算子在昇腾 NPU 上的低效问题,且不能依赖人工启发式。领域层面,要设计一套由求解器验证的 CPT–SFT 数据流水线,让 DeepSeek-V4-Flash 在四个 OR 基准上取得领先的平均分,并验证该工作流能从 Flash 规模迁移(scale-up)到万亿参数的 DeepSeek-V4-Pro。作者还希望用受控实验厘清 CPT 与 SFT 各自的贡献,证明领域自适应 CPT 作为 SFT 初始化阶段的价值。
与已有工作不同的是,本文的独特切入角度有三点。第一,它是首批在非 GPU(SIMD 架构昇腾 NPU)平台上对万亿参数 MoE 做全栈后训练研究的工作,填补了 CUDA/TPU 之外硬件的空白。第二,它把运筹优化(OR)本身作为方法论反过来用于算子优化:AuraKernel 用 OR 求解器指导 AscendC 算子的 tiling 选择,把“算子调参”形式化为带约束的性能建模问题 $\min_{p\in P(s)}\max\{T_{\mathrm{MTE1}}(p),T_{\mathrm{MTE2}}(p),T_{\mathrm{MAC}}(p),T_{\mathrm{FixPipe}}(p),T_{\mathrm{scalar}}(p)\}$,而非依赖经验式启发搜索,这在算子 agent 里很罕见。第三,在 OR 领域专精上,它用“求解器验证的双向合成”生成 CPT 数据——先从参数化优化实例生成、用 Gurobi 求解验证,再回译成业务问题、正向重建模型并比对目标值——保证每条数据都可追溯到独立的求解器参考;并用受控迁移实验(Route A 仅 SFT vs Route B CPT→SFT)定量分离 CPT 的贡献。
核心方法
SLAI T-Rex 是一个把“底层系统优化”和“上层领域专精”耦合在一起的全栈框架。整体直觉是:先 profiling 找到训练每一步 $T_{ ext{step}} = T_{ ext{comp}} + T_{ ext{non-overlapped comm}} + T_{ ext{bubble}} + T_{ ext{idle}}$ 的主要开销来源,然后分三层协同优化——并行执行策略、算子优化、硬件亲和调优。系统层用专家-张量并行(ETP)折叠降低张量并行通信、用虚拟流水线(VPP)抑制流水线气泡、用双缓冲 swap 优化器缓解显存、用 MoE 共享专家前置填充同步空泡。算子层用 AuraKernel 对“重头”架构特有算子做 agent 化调优,再用算子融合对“长尾”碎片化算子做改写。领域层则在稳固的训练栈之上,构建 OR-CPT 数据引擎 + 自蒸馏 SFT 数据飞轮 + 契约感知清洗 + 渐进式两阶段 SFT,把通用 DeepSeek-V4-Flash 专精为 OR 建模模型。Flash 作为快速迭代的实验平台,验证后的流水线再迁移到万亿参数的 Pro。
最核心的创新点是把运筹优化思想贯穿到框架两端。在算子端,AuraKernel 区别于以往主要靠 harness 构造和循环工程的 CUDA 算子 agent:它先用 OR 求解器对算子 tiling 做最优初始化(对常见 MatMul 形状仅靠 tiling 策略就降 6.55% 执行时间,给出强起点),再用 K-Search 把候选生成组织成可分支、可回滚的树搜索(世界模型),并用硬件实测而非 LLM 自信度持续校准优先级;成功的优化被蒸馏成可复用 skill $\sigma=(m_{ ext{before}},\Delta m,\pi)$ 供后续轮次检索。在领域端,关键创新是用求解器验证的双向合成保证数据正确性,并用契约感知清洗与结构化 CoT 检查清单把“可学习性”做实——作者发现单纯把数据从 10K 扩到 50K 反而劣化性能,于是转向精修。这与以往“堆数据量”的范式有本质区别。另一个本质区别是,作者明确区分“可执行”与“结构正确”,并用 B4O-ORGEval 的 WL 图奖励考核结构等价,迫使方法同时优化二者。
方法步骤详情
完整流程分如下步骤。步骤一(瓶颈剖析):在 910C 上对 DeepSeek-V4-Pro 训练一步做 profiling,得到 206503 个计算 kernel、39.84 秒设备端计算,识别出 SparseAttnSharedkvGrad(16.86%)、MatMulV3(12.77%)、GroupedMatmul(9.50%)等重头算子,以及 Cast/ViewCopy 等长尾。步骤二(并行优化):对注意力层用 TP=2、MoE 层用 ETP=1(与 EP 折叠成一个组)、流水线用 VPP=8 而非 DualPipeV(后者会翻倍显存且只优化占通信 14.5% 的 All-to-All);MoE 分发用异步 A2A 并把共享专家前向提前到 before_ep_alltoall 同步空泡里。步骤三(显存优化):用 swap_numel 分块的双缓冲 swap 优化器,在 host/NPU 间流水线搬运 AdamW 状态。步骤四(AuraKernel 调优):对稀疏注意力反向,把相邻 query 批量化、密集访问压缩 KV 块以削减 GM 访存,再用 BF16 存储重 FP32 中间量;对 RMSNorm/MHC 用 2D head blocking、显式 FP32 累加、三段流水线重写。步骤五(算子融合):把 mHC、受限 SwiGLU 反向、统一 RoPE 各自的 eager 链/通用 Triton kernel 重写为 UB 常驻的 AscendC kernel,并做混合精度改写(去掉全阶段 FP32 上转)。步骤六(OR-CPT 数据):参数化生成器产出优化实例→Gurobi 独立求解→质量过滤→业务回译→正向建模→静态/契约检查→执行比对目标值(容差 1e-4)→修复去重,约 100K 样本池按领域主导配比(OR+数学+代码+通用英语)采样。步骤七(SFT):自蒸馏飞轮经 L1/L2/L3 三级 IR 生成 DP/DT/DPS 三种问题模式,10K Clean-CoT 数据经 Cleaner→Reviewer→验证四重门(最终导出 8881 条);两阶段渐进训练:Stage I 纯代码目标(lr 5e-7)、Stage II 全建模(lr 1e-6)并掺 10–15% 通用指令数据锚定通用能力。步骤八(评估):用 Pass@1/Pass@4/5-shot 在 NL4OPT、OptiBench、B4O-Feasible、B4O-ORGEval 评估,并用迁移增益 $\Delta_{ ext{transfer}}(b)=S_{ ext{CPT+SFT}}(b)-S_{ ext{SFT}}(b)$ 分离 CPT 贡献。
技术新颖性
技术新颖性体现在五方面。其一,首个在昇腾 SIMD 平台对万亿参数 MoE 做全参数后训练的系统级实践,给出可复现的并行/通信/显存/算子联合优化 recipe。其二,AuraKernel 把 OR 数学建模引入算子 agent:用 clock-cycle 级性能模型和稳态流水线假设,把算子调参变成带 L0/L1/UB 容量、核划分、对齐约束的约束优化问题,而非黑盒搜索;并用 K-Search 的树状世界模型和兄弟优先级反传 $ ext{score}(\ell')\leftarrow ext{score}(\ell')+\eta g_\ell/\hat g_\ell$ 让真实 NPU 测量持续校准 LLM 先验。其三,自演化记忆取代静态知识库——作者明确指出静态知识库反而会约束 LLM 在非传统平台上的探索空间,转而用硬件验证反馈持续蒸馏 skill。其四,算子融合的“数学契约 + 前端工件记录 + 硬件执行契约”三件套审查法,让融合成为保数学等价的改写而非零散 peephole 优化,且首次把受限 SwiGLU 的路由梯度约简也吸收进同一 kernel。其五,OR 数据的求解器验证双向合成 + 多级泄漏控制 + 契约感知 CoT 清洗,是少有的把“可执行性”和“结构等价”都纳入数据质量门控的领域专精流水线。
实验结果
实验从系统和领域两端验证,结论清晰且有量化支撑。系统端:DeepSeek-V4-Pro(1.6T)训练 MFU 从开源基线 11.67% → 并行优化后 25.80% → 加 NPU-CPU 协同优化 27.00% → 最终 34.22%,整体 2.93 倍提升且训练稳定。AuraKernel 把最大单算子 SparseAttnSharedkvGrad(占每步约 16.33%)在压缩比 128 和 4 下分别加速 1.24 倍和 1.21 倍,前向 1.23 倍和 1.09 倍;闪电索引器梯度在 CFA/SCFA 路径加速 1.16/1.21 倍;RMSNormWithoutWeight 前向/反向达 11.90 倍/3.42 倍(14 个 Triton-Ascend 算子平均 2.06 倍)。算子融合层面,mHC 前投影/反向/后投影模块级加速 3.03/1.88/2.74 倍,受限 SwiGLU 前向/反向 8.86/3.27 倍,RoPE 站点前向/反向 2.33/3.54 倍;混合精度改写把前向 Cast 从 241ms 降到 8ms、反向从 172ms 降到 6ms,省下约 400ms cast 流量。领域端(DeepSeek-V4-Flash):数据规模实验显示 SFT-10K 把 B4O-Feasible 从 60.47 提到 65.07、B4O-ORGEval 从 34.26 提到 47.21,但 NL4OPT 反从 84.08 跌到 81.66、50K 进一步把 OptiBench 压到 58.68,证明堆量无效;Clean-CoT 把 NL4OPT 提到 86.93、OptiBench 64.17、B4O-Feasible 65.93、B4O-ORGEval 48.73,全面超越基线。迁移实验显示 CPT 初始化在四个基准都加分,B4O-ORGEval 提升最大(+10.66 pp 至 59.39)。端到端 SLAI T-Rex-Flash 在四个 OR 基准平均 71.81%,超过 GPT-5.4-Mini(67.83%)3.98 pp、超过原版 Flash 11.27 pp,并在 MMLU/CMMLU/HumanEval/GSM8K 上基本无损。迁移到万亿参数 Pro 后,平均 OR 分从 70.16% 提到 77.33%(+7.17 pp),B4O-ORGEval 从 43.91% 提到 61.93%,AIME 2024 从 83.33% 提到 90.00%、AIME 2025 从 70.00% 提到 86.67%。数据混合消融显示纯 OR 数据会让通用基准掉 10–15 分而无益于 OR,证明混合配比不可或缺。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 四项 OR 基准平均(DeepSeek-V4-Flash 平台) | 平均准确率(0-shot Pass@1,%) | 71.81 | DeepSeek-V4-Flash 60.54 | +11.27 pp,且超越 GPT-5.4-Mini(67.83)3.98 pp、Gemini-3-Flash(66.82)4.99 pp |
| B4O-ORGEval 结构等价(Flash,CPT→SFT) | 准确率(%) | 59.39 | 原版 Flash 34.26 | +25.13 pp;其中 CPT 相对纯 SFT 额外 +10.66 pp,是该流程提升最大的基准 |
| B4O-Feasible 可行性(Flash,CPT→SFT) | 准确率(%) | 71.22 | 原版 Flash 60.47 | +10.75 pp |
| DeepSeek-V4-Pro 四项 OR 平均(scale-up) | 平均准确率(0-shot Pass@4,%) | 77.33(SLAI T-Rex-Pro) | 原版 Pro 70.16 | +7.17 pp;B4O-ORGEval 从 43.91% 提到 61.93% |
| DeepSeek-V4-Pro 训练效率 | MFU(%) | 34.22 | 开源 recipe 11.67 | 2.93 倍 |
| SparseAttnSharedkvGrad 单算子(AuraKernel) | 单次调用 task duration | 26.5 ms(cmp.128) | 32.9 ms | 1.24 倍 |
局限与改进
作者坦承若干局限。第一,关于流水线并行,文中明确指出未来才会研究最优 PP 策略,当前选 VPP 而非 DualPipeV 部分是受显存约束的妥协。第二,算子融合里 mHC 后投影反向仍留在原路径、未纳入同一边界,留待未来。第三,领域上 SFT 在 5-shot B4O-Feasible 仍低于基线(SFT 73.55 vs Base 78.20,CPT+SFT 74.78),说明指令调优本身不足以在所有解码设定下稳定可执行性,不应理解为通吃所有 regime。第四,Clean-CoT 对 OptiBench 的 nonlinear_or_bad_gurobi_form 错误不降反升(49→56),清洗无法稳定解决非线性/比值/二次项的 Gurobi 表达问题。我额外观察到:Pro 的 CPT 配置没有单独消融,CPT 的独立贡献主要靠 Flash 的受控迁移实验论证,Pro 结果只能作端到端 scale-up 证据;方法对 Gurobi 强耦合,迁移到其他求解器(如 COPT、SCIP)需重新做数据契约;AuraKernel 的性能模型在 L2 缓存命中率建模较粗,是残余预测误差来源;纯 OR 消融掉 10–15 分通用能力,提示领域配比仍需精调以防灾难性遗忘。
独立分析的弱点
独立分析,弱点及改进方向如下。其一,方法高度绑定 DeepSeek-V4 的特定架构(mHC、受限 SwiGLU、稀疏注意力、MTP)与 Gurobi,泛化到其他 MoE/注意力变体或其他求解器时数据契约和算子都需重做——改进方向是抽象出与架构无关的“数学契约-前端工件-硬件边界”三件套模板与求解器无关的中间表示。其二,AuraKernel 的 cycle 级性能模型对 L2 命中率建模粗糙、存在残余误差——可引入运行时反馈在线校正 L2 系数,或用学习式缓存命中预测替代静态回归。其三,Pro 上 CPT 未单独消融,因果证据薄弱——应在 Pro 上补做 Route A/B 受控实验,并报告 CPT 数据配比、token 数与计算开销。其四,5-shot B4O-Feasible 仍劣于基线,说明 SFT 在多 prompt regime 下的鲁棒性不足——可引入多解码设定的混合训练或测试时自洽校验。其五,对非线性/比值/二次项建模的修复能力有限——改进方向是作者已暗示的“非线性修复 + 专用非线性/Gurobi 合成数据”,并可引入求解器反馈的强化学习微调(他们计划扩展到 AgenticRL)。其六,OR 基准本身偏 LP/MILP 建模,对真正的长尾工业场景(如随机规划、鲁棒优化、大规模排班)覆盖不足——应扩充更难的、带不确定性的 OR 任务族。其七,纯 OR 数据致通用能力掉 10–15 分,说明保留配比仍偏激进,可做更细粒度的课程学习与回放。其八,评估主要靠准确率,缺乏对模型“何时该放弃”等可靠性指标的考察。
未来方向
作者明确提出的方向包括:把后训练工作流扩展到 agentic 强化学习(AgenticRL),用 OR 数学建模自动探索多维并行配置(在显存、通信、编排约束下自动化搜索并行策略),继续扩大求解器验证的 CPT/SFT 语料并扩展到更多 OR 问题族和通用基准,强化对非线性表达、比值约束、二次项、Gurobi 特有建模模式的结构验证,并计划单独发布优化后的 AscendC kernel。基于成果可延伸的方向有:把 AuraKernel 的 OR 求解器+K-Search 范式推广到其他非 CUDA 平台(如 TPU、Groq、国产 AI 芯片)和推理算子;把双向求解器验证合成扩展到其他“可验证”领域(如形式化证明、SQL、电路设计、控制综合);研究 CPT 数据配比与课程的自适应调度;把“可执行 vs 结构正确”的双层评估范式移植到代码生成与定理证明;探索 swap 优化器与重计算、卸载的联合最优;把 skill 蒸馏机制做成跨模型共享的算子优化知识库。
复现评估
复现性整体较好但有门槛。作者承诺发布关键工件:prompt 模板、格式契约规范、课程调度配置、监控回调,以及 Cleaner/Reviewer/Diagnostic Resolver 等可配置的 prompt+规则驱动模块(它们不发 明自动规则,保证可审计),并计划单独发布优化的 AscendC kernel。CPT/SFT recipe 在附录 B 给得很详细(CPT:seq_len 65536、GBS 128、AdamW lr 1e-6 cosine、CP=16/EP=32、swap optimizer;SFT:seq_len 8192、GBS 128、lr 5e-6、PP=4/EP=32、Ulysses CP),训练曲线(800 步无 NaN/跳过、lm loss 收敛到 0.079)也有报告,证明 8 节点 128 卡 910C 上可稳定复现。但实际复现门槛很高:需要 CloudMatrix384 SuperPOD + 910C NPU 硬件(普通研究者难获取),需要 DeepSeek-V4-Flash/Pro 权重(Pro 1.6T 的获取和托管成本极高),需要 Gurobi 商业授权,需要自行重跑 AuraKernel 的算子优化 campaign。CPT 数据池约 100K、SFT 10K 规模适中,但合成引擎的参数化生成器注册表是否完全开源未明说。对小团队而言,Flash 部分(更小模型)的复现难度远低于 Pro 部分。
论文图表
Figure 1 是论文的招牌图。(a) 用堆叠/分柱展示 MFU 从开源 recipe 11.67% 经并行优化到 25.80%、NPU-CPU 协同到 27.00%、kernel 优化到 34.22% 的逐级提升,直观呈现 2.93 倍系统加速来源。(b) 对比多个模型(含 GPT-5.4-Mini、Gemini-3-Flash、Kimi-K2.6 等)在四项 OR 基准的平均准确率,显示 SLAI T-Rex 以更小激活参数预算拿到最高分 71.81%。
这张图同时浓缩了论文两大主线(系统效率 + 领域精度)的核心数字,是理解全文贡献的最佳入口。