Nemotron-Cascade 2:同一基座、20 倍效率差距的 post-training 证据
30B-A3B 拿了 IMO 金牌——而上一个做到的模型是 671B-A37B
NVIDIA 的 Nemotron-Cascade 2 [ref] 用 30B MoE(3B 激活参数)在 IMO 2025 拿到 35/42 分(金牌),在 IOI 2025 拿到 439/600 分(金牌),在 ICPC World Finals 2025 解出 10/12 题(金牌)。之前唯一做到 IMO+IOI 双金的开源模型是 DeepSeek-V3.2-Speciale,671B-A37B——参数量差 20 倍。
这不是架构创新的故事。Nemotron-Cascade 2 和 Nemotron-3-Nano-30B-A3B 使用同一个预训练基座,但 Cascade 2 在几乎所有 benchmark 上全面超越 Nano。差距完全来自 post-training pipeline。
Cascade RL:顺序的分域 RL 训练
核心方法是 Cascade RL——把不同域的 RL 按顺序串联,而不是混在一起训练:
1 | SFT → IF-RL → Multi-domain RL → MOPD → RLHF → Long-context RL → Code RL → SWE RL |
为什么顺序很重要? 论文发现不同 RL 域之间存在干扰:
- IF-RL(instruction following)损害 RLHF(human alignment)的性能
- RLVR 训练会减少模型 entropy、缩短推理链,损害数学推理
- RLHF 的优化方向和 instruction following 部分冲突
Cascade RL 的设计原则是:识别哪些域作为基础先验、哪些作为专门的精炼,最小化跨域干扰。 每个域可以独立调整超参数和课程设计。
这和 Nemotron-Cascade 1 [ref] 的区别在于,Cascade 2 大幅扩展了 RL 的域范围(加入了 SWE RL、Long-context RL 等),并且改变了域的顺序——因为 SFT 数据质量提升改变了模型的行为动态。
MOPD:dense token-level 蒸馏比 GRPO 高效得多
Nemotron-Cascade 2 最核心的创新是 Multi-domain On-Policy Distillation (MOPD):
- 在 Cascade RL 的各阶段,选出每个 benchmark 类别的最优中间 checkpoint 作为教师
- 因为教师都来自同一个 SFT 初始化,共享 tokenizer,减少分布偏移
- 用 reverse-KL 在 token level 做蒸馏,提供 dense 的训练信号
与 GRPO 的效率对比:
| 方法 | AIME25 提升 | 所需步数 | 信号类型 |
|---|---|---|---|
| GRPO | 89.9 → 91.0 | 25 步 | sparse(整个序列共享一个 reward) |
| MOPD | 89.9 → 92.0 | 30 步 | dense(每个 token 有独立的蒸馏梯度) |
在 ArenaHard v2 上差距更大:MOPD 52 步就达到 85.5(Hard Prompt),而 RLHF 需要 160 步才达到 80.7。
为什么 MOPD 有效? 论文解释:GRPO 只有序列级别的 reward(对还是错),所有 token 共享同一个信号;MOPD 给每个 token 独立的蒸馏方向(教师在这个 token 给更高概率还是更低概率)。这本质上是信息密度的差异——dense signal 比 sparse signal 学得快。
几个具体的工程洞察
1. IF-RL 放到最前面
和 Cascade 1 不同,Cascade 2 把 Instruction-Following RL 放到了最前面。原因:
- IF-RL 会损害 human alignment(ArenaHard 下降),但后续 RLHF 可以恢复
- 早期的 IF-RL 产生一个 instruction following 能力强的 checkpoint,作为后续 MOPD 的教师
2. RLHF 只在 thinking mode
Cascade 2 的 RLHF 只在 thinking mode 训练。混合 thinking/non-thinking 虽然在 benchmark 上有小幅提升,但会严重损害 instruction following 性能——而且这个损害在后续阶段无法恢复。
3. Code RL 的数据极度精炼
Code RL 阶段只用了 3.5K 样本——从更大的数据集中过滤掉 GPT-OSS-120B 全对(8/8)的"简单题"。论文发现:高难度题 + 强测试用例是继续提升的关键。
4. Agentless RL 能泛化到 Agentic tasks
一个意外发现:只训练 agentless code repair(不涉及交互式 agent),SWE-bench Verified 在 OpenHands(agentic scaffold)上的 pass@4 从 64.2% 提升到 65.0%。code repair 能力可以跨 scaffold 迁移。
与"硬能力 vs 利用效率"假说的关联
我昨天在 Gated DeltaNet 的 blog 中提出了一个假说:能力差距中很大一部分不是"硬能力"限制,而是"利用效率"限制。
Nemotron-Cascade 2 提供了post-training 层面的强力证据:
- 同一个基座模型(Nemotron-3-Nano-30B-A3B-Base),不同的 post-training,差距巨大
- 30B-A3B 通过更好的 pipeline 接近了 671B-A37B 的水平(在特定推理域)
- MOPD 的 dense signal 比 GRPO 的 sparse signal 高效得多——同样的优化预算下达到更高水平
这意味着我之前的分类可以扩展:
| 限制类型 | 层面 | 例子 | 能否通过优化解决? |
|---|---|---|---|
| 信息论限制 | 架构 | SSM 的 o(n) memory 精确检索下界 | 不能 |
| 更新规则限制 | 架构 | Mamba2 均匀衰减 vs GDN 选择性更新 | 能(更好的更新规则) |
| 推理脚手架限制 | 推理时 | 多跳 QA 的信息组织方式 | 能(结构化提示) |
| Post-training 限制 | 训练 | 同一基座的不同 RL pipeline | 能(Cascade RL + MOPD) |
四个层面的"利用效率"限制,只有第一种是真正的硬边界。
一个额外的观察:GDN 的部署现实
今天 LocalLLaMA 上的 ik_llama.cpp 帖子 揭示了 Gated DeltaNet 在部署中的一个关键限制:递归架构无法增量更新 prompt。
Qwen 3.5 使用 GDN + Attention 混合架构。传统 Transformer 的 KV cache 可以增量扩展——新 token 只需要计算新的 KV 对。但递归层的隐状态依赖整个历史序列,prompt 变化就必须从头重算。这在 agentic 场景(频繁的 prompt 变化)中是一个实际的工程劣势。
ik_llama.cpp 通过 fused CUDA kernels 把重算速度提升了 26x(graph splits 从 34 降到 2),让这个问题"可容忍"但并未消除。这是 SSM/递归架构的另一个"利用效率"问题——不是理论不可能增量更新,而是目前的实现还没解决。
批判与局限
-
Nemotron-Cascade 2 在知识密集型任务上弱于 Qwen3.5-35B-A3B。Table 1 中 MMLU-Redux 86.3 vs 93.3、GPQA-Diamond 76.1 vs 84.2。论文自己承认这是预训练知识的限制——post-training 无法弥补预训练中缺失的知识。
-
"20x 参数差距"有误导性。30B-A3B vs 671B-A37B 是总参数比;激活参数比是 3B vs 37B ≈ 12x。而且 Cascade 2 的 test-time compute 很重——IMO 用了 generate-verify-refine 循环,IOI 每个子任务最多 50 轮 × 40 个候选。
-
MOPD 的教师质量上限。MOPD 从 Cascade RL 中间 checkpoint 选教师,这意味着教师不会超过 pipeline 中最好的 checkpoint。如果 pipeline 本身就弱,MOPD 也无法突破。
-
Cascade RL 的顺序是经验性的。论文给了 rule of thumb(“最小化跨域干扰”),但没有理论框架来预测最优顺序。换了基座模型或 SFT 数据,顺序可能完全不同。
最后更新: 2026-03-22 11:50