Step 3.5 Flash 技术论文深度解读:196B MoE 如何做到 11B 激活打 37B
> 来源: https://arxiv.org/pdf/2602.10604
> 标题: Step 3.5 Flash: Open Frontier-Level Intelligence with 11B Active Parameters
> 团队: StepFun(阶跃星辰),超 80 位作者
> 训练: 4,096 × NVIDIA H800 GPU
> 数据: 17.6T tokens 预训练 + 750B tokens 中间训练
> 日期: 2026-02-12(论文)/ 2026-03-11(报告)
📌 一句话总结
这篇 67 页论文详细披露了 Step 3.5 Flash 的全部架构设计、训练配方、RL 框架和工程经验——从 MoE 路由策略到训练崩溃的根因分析,信息密度极高。是 2026 年最透明的开源大模型技术报告之一。
🏗️ 架构核心创新
1. 细粒度 MoE:288 专家 Top-8
| 参数 | 值 |
|---|---|
| Transformer 层 | 45(3 层 Dense + 42 层 MoE) |
| 每 MoE 层专家数 | **288 路由专家 + 1 共享专家** |
| 每 token 激活 | Top-8(8/288 = 2.8%) |
| 路由专家隐藏维度 | 1,280 |
| Dense FFN 隐藏维度 | 11,264 |
负载均衡:采用 Loss-free 负载均衡(通过 bias 调整而非辅助损失),避免模型质量退化。创新性地引入 EP-Group 级别均衡损失,解决 Expert Parallelism 下的 straggler 问题。
2. 混合注意力:S3F1(3:1 SWA:Full)
最关键的架构选择之一——每 4 层中 3 层用滑动窗口注意力(SWA),1 层用全注意力。
| 配置 | 解码成本(256K) | 质量 |
|---|---|---|
| 全注意力(FFFF) | 2.33× | 基线 |
| 1:1(S1F1) | 1.47× | 最好 |
| **3:1(S3F1+Head)** | **1.01×** | 接近基线 |
为什么不用线性注意力? 论文明确解释:
1. 线性注意力的状态更新机制不利于投机解码(speculative decoding)
2. SWA 保留标准注意力语义,天然适合并行 tree verification
3. 没有实证表明线性注意力在 Agent 长上下文任务中更好
3. Head-wise Gated Attention
问题:SWA 窗口内没有有用信息时,注意力权重被浪费。
方案:引入输入依赖的 gate,等价于一个学习到的 "sink token"——让模型自主决定"这个位置该关注窗口内的信息还是忽略"。
效果:在 100B-A10B 模型上,所有 benchmark 一致提升,平均 +1.9 分。
4. SWA Query Head 增加(免费午餐)
在 SWA 层中把 Query heads 从 64 增加到 96(+50%),而 KV heads 保持 8。
为什么几乎免费? 高 query-to-kv 比(12:1)使 SWA 保持在 IO-bound 区域——增加计算量但不增加延迟。
效果:预训练得分从 53.6 → 55.7(超过了全注意力的 54.1),速度几乎不变。
5. Multi-Token Prediction(MTP-3)
| 组件 | 参数量 | 作用 |
|---|---|---|
| 3 个 MTP 头 | 共 0.81B(总参数 0.41%) | 一次前向预测 4 个 token |
| 每个 MTP 头 | 1 层 SWA + 1 层 Dense FFN | 轻量级 |
训练策略:
- 主训练阶段只训 MTP-1
- Backbone 训完后,从 MTP-1 克隆初始化 MTP-2 和 MTP-3
- 轻量后训练联合训练所有 MTP 头
🏋️ 训练细节
数据规模
| 阶段 | 上下文 | Token 数 |
|---|---|---|
| 预训练 Stage 1 | 4K | 14.6T |
| 预训练 Stage 2(退火) | 4K | 2T |
| 预训练 Stage 2(长上下文) | 32K | 1T |
| 中间训练 Stage 1 | 32K | 386B |
| 中间训练 Stage 2 | 128K | 364B |
| **合计** | **~18.35T** |
优化器:全程 Muon
没用 AdamW。全程使用 Muon 优化器——这是一个大胆的选择。论文发现 Muon 有数值敏感性问题:
BF16 下的 Loss Spike:Muon 的 Newton-Schulz(Polar Express)迭代在 bfloat16 下偶发异常值 → 改为 float16 仅用于 Polar Express 迭代,问题解决。
训练稳定性(论文最精彩的部分之一)
论文详细披露了 3 类训练崩溃:
1️⃣ 专家崩溃(Expert Collapse)
不同于路由崩溃——路由看起来正常,但专家内部激活消失、参数范数停滞。
根因:
- 共享专家与路由专家的贡献比没有校准
- 细粒度 MoE 下微批次级负载均衡约束过于严格
建议监控:每个专家的激活 RMS 范数和参数 Frobenius 范数的 min-to-median 比率。
2️⃣ 局部激活爆炸
最隐蔽的问题——训练 loss 完全看不出异常,但深层 MoE 中 1-2 个专家的激活范数暴增。
根因链:
1. 高频 bi-gram 触发专家特化
2. Pre-norm 架构允许单个专家无限放大输出
3. SwiGLU 的 gate/up-projection 分支强对齐产生稀疏但极大的激活
4. Muon 消除梯度幅度影响,加速崩溃
3️⃣ Muon 数值精度问题
Polar Express 迭代在 bfloat16 下的非确定性行为。
论文态度:将稳定性视为"一等需求"——整个训练过程只发生了一次 loss spike。
🤖 后训练与 RL
SFT 阶段
- 多轮指令微调
- 代码/Agent 任务的专项数据
RL 框架
论文提到使用可扩展的 RL 框架驱动持续自我改进,但具体算法细节(GRPO/PPO 等)在论文中未完全展开——这是阶跃星辰有意保留的部分。
关键信号:
- SWE-bench Verified 74.4% 和 Terminal-Bench 51.0% 说明 RL 在代码 Agent 任务上效果显著
- 论文提到"下一前沿是将 RL 应用到专业级复杂任务"
📊 Benchmark 全表
Agent 能力
| Benchmark | Step 3.5 Flash | DeepSeek V3.2 | Kimi K2.5 | GLM-4.7 |
|---|---|---|---|---|
| τ²-Bench | **88.2** | 80.3 | 85.4 | 87.4 |
| BrowseComp | **51.6** | 51.4 | 60.6 | 52.0 |
| BrowseComp-ZH | **66.9** | 65.0 | 62.3 | 66.6 |
| GAIA (no file) | **84.5** | 75.1 | 75.9 | 61.9 |
| xbench-DeepSearch | **83.7** | 78.0 | 76.7 | 72.0 |
| ResearchRubrics | **65.3** | 55.8 | 59.5 | 62.0 |
推理能力
| Benchmark | Step 3.5 Flash | DeepSeek V3.2 | Kimi K2.5 | GLM-4.7 |
|---|---|---|---|---|
| AIME 2025 | **97.3** | 93.1 | 96.1 | 95.7 |
| HMMT 2025 Feb | **98.4** | 92.5 | 95.4 | 97.1 |
| IMOAnswerBench | **85.4** | 78.3 | 81.8 | 82.0 |
编码能力
| Benchmark | Step 3.5 Flash | DeepSeek V3.2 | Kimi K2.5 | GLM-4.7 |
|---|---|---|---|---|
| LiveCodeBench-V6 | **86.4** | 83.3 | 85.0 | 84.9 |
| SWE-bench Verified | 74.4 | 73.1 | **76.8** | 73.8 |
| Terminal-Bench 2.0 | **51.0** | 46.4 | 50.8 | 41.0 |
推理成本对比(128K 上下文,Hopper GPU)
| 模型 | 相对成本 | 速度 | MTP |
|---|---|---|---|
| **Step 3.5 Flash** | **1.0×** | 100 tok/s | MTP-3, EP8 |
| DeepSeek V3.2 | 6.0× | 33 tok/s | MTP-1, EP32 |
| Kimi K2.5 | 18.9× | 33 tok/s | 无 MTP, EP32 |
| GLM-4.7 | 18.9× | 100 tok/s | MTP-3, EP8 |
Step 3.5 Flash 推理成本是 DeepSeek V3.2 的 1/6,Kimi K2.5 的 1/19。
🔑 论文中最有价值的洞见
1. "免费午餐"列表
论文揭示了几个几乎无成本的性能提升手段:
- SWA Query Head 增加:+50% heads,速度不变,质量反超全注意力
- Head-wise Gating:简单 gate 机制,所有任务一致提升
- Meta Token:用元数据字符串做条件信号,成本接近零
2. 训练监控比 loss 重要
论文反复强调:loss 会掩盖内部崩溃。你需要监控:
- 每个专家的激活 RMS 范数
- 参数 Frobenius 范数的 min-to-median 比率
- 路由统计的层级分布
3. 线性注意力不适合 Agent
论文给出了明确理由:投机解码兼容性 > 理论上的序列长度优势。这对整个社区关于"注意力替代方案"的讨论有重要参考价值。
4. Muon > AdamW(但需要 float16 补丁)
全程使用 Muon 优化器在 196B MoE 上训练成功,这是目前最大规模的 Muon 应用案例之一。
🔗 与我们的关联
1. OpenClaw 集成:论文 GitHub 仓库有官方 OpenClaw Cookbook,是一等公民支持
2. 成本洞察:论文精确量化了推理成本——Step 3.5 Flash 是 Kimi K2.5 的 1/19,这为我们做模型选型提供了硬数据
3. 训练知识:MoE 训练稳定性分析(专家崩溃、激活爆炸)对于理解大模型行为有直接价值
4. 架构趋势:S3F1 混合注意力 + MTP-3 加速可能成为下一代开源模型的标配
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 学术深度 | 9.5 — 67 页详细技术报告,信息密度极高 |
| 透明度 | 9.0 — 架构/训练/崩溃分析全公开(RL 部分保留) |
| 创新性 | 8.5 — S3F1+Head、Head-wise Gating、EP-Group 均衡 |
| 工程价值 | 9.0 — 训练稳定性分析是业界少见的实战经验 |
| 实用价值 | 9.0 — 直接指导模型选型和 Agent 架构设计 |
| **综合** | **9.0** |
报告由深度研究助手自动生成 | 2026-03-11
来源: https://arxiv.org/pdf/2602.10604