第四部分 · 后训练
V4 与 V3 最显著的范式差异 —— 把混合 RL 整体替成 OPD,配套是 GRM 评分、Tool 接口三件套、十万级沙箱。
读完这部分,你将能够
- 讲清"先做 N 个 specialist,再用 OPD 合成一个 student"的两阶段范式,并解释这与 V3 混合 RL 的根本不同。
- 列出 Non-think / Think High / Think Max 三档的响应格式差异,并区分未披露的训练窗口与 8K/128K/384K 评测窗口。
- 说出 Generative Reward Model(GRM)相比 scalar RM 的两个优势。
- 能复述 OPD 损失
L = Σ w_i KL(π_θ ‖ π_E_i),并解释报告为何采用 reverse KL 与 on-policy trajectory。 - 列出全词表 OPD 的四个工程支柱(FP4 集成 / Teacher Scheduling / WAL Rollout / Million-token RL)。
- 说出 Quick Instruction 的 7 个特殊 token、6 类辅助任务,以及它为何能省掉一个独立的小模型。
- 解释 token 粒度 WAL 为什么不能"从头重生" unfinished requests,以及它如何避免 length bias。
- 列出 DSec 的四种执行衬底(Function / Container / microVM / fullVM)与 3FS 的协作关系。
本部分章节路线图
专家训练 + Reasoning Effort
SFT → GRPO → GRM → 三档 thinking budget。
Tool 接口三件套
DSML schema / Interleaved Thinking / Quick Instruction。
OPD:多教师反向蒸馏
10+ 个领域专家 → 全词表 reverse KL → 一个统一学生。
RL / OPD 工程基础设施
FP4 / Teacher Sched / WAL / Million-token RL —— 让 OPD 真正能跑。
DSec 沙箱平台
四种执行衬底、统一 SDK、分层镜像与 trajectory log。
Ch18 是范式置换的高潮,Ch19 把"原理上可行"变成"工程上能跑"。如果时间紧,按这个顺序读:18.1–18.3 → 19.2 → 19.3 → 20.1。Ch16/17 是 Specialist 与交互层,Ch20 是执行层。
本部分小结
核心要点回顾
- Specialist(Ch16):领域 fine-tuning → GRPO;不同 RL 配置形成三档 reasoning effort,GRM 以较少的多样化人工标注覆盖难验证任务。
- 交互(Ch17):带 DSML 标记的 XML 风格 schema 减少工具调用错误;Interleaved Thinking 在 tool-calling 模式跨轮保留 reasoning;Quick Instruction 用 7 个 token 表达 6 类任务并共享主 KV。
- 范式(Ch18):多个 specialist 通过 OPD 整合到统一学生——学生 on-policy rollout,并对 N 个领域 teacher 的 reverse KL 求加权和。
- 工程(Ch19):FP4 全量启用 + 不实例化 logits + 按 teacher 排序 batching + async I/O + TileLang KL kernel = 全词表 trillion 教师 KL 才跑得起;token 粒度 WAL 让 rollout 可抢占可容错且无 length bias。
- 沙箱(Ch20):DSec 以统一 SDK 管理四种执行衬底,借助 3FS、EROFS 与 overlaybd 按需加载镜像,并用 trajectory log 支持恢复和溯源。
关键公式 / 参数速查
| 位置 | 表达 / 数值 | 含义 |
|---|---|---|
| OPD 损失 | L = Σ_i w_i · KL(π_θ ‖ π_{E_i}) |
reverse KL,on-policy rollout,多教师加权 |
| 三档评测上下文 | 8K / 128K / 384K | Non-think / High / Max;训练窗口具体值未披露 |
| Quick Instruction | 7 个特殊 token、6 类任务 | 复用主 KV,避免额外小模型重复 prefill |
| FP4 适用范围 | rollout + teacher / reference forward | backward 仍 FP8 |
| DSec 规模 | 数十万个并发 sandbox / 单集群 | 报告披露的生产规模 |
| WAL 粒度 | token-level | 无 length bias |
设计直觉地图
- OPD 用 logits-level alignment 整合多个 specialist;全词表 KL 相比单 token KL 估计方差更低。报告没有把优势简化成“RL 只学期望、蒸馏才学分布”。
- Anticipatory Routing(Ch14)与 mHC(Ch3)共享同一种思路:把"会爆炸"的路径在更新阶段隔离掉。Quick Instruction 与 KV 异构(Ch12)共享另一种思路:把"控制平面"压进"数据平面"。
- Ch19 的 teacher scheduling、hidden-state 缓存与 fused KL kernel 共同解决多教师全词表蒸馏的显存和数据搬运问题;报告没有与其他开源实现作横向比较。
自检题
Q1. 为什么 OPD 选用 reverse KL(KL(π_θ ‖ π_E))而不是 forward KL?
查看参考答案
在受限分布族中,reverse KL 通常更偏向高概率模式;on-policy trajectory 则让监督落在学生实际访问的状态上。对多个同时具有正权重的 teacher,最优分布更接近它们的加权几何组合,而不是自动选择“最强 teacher”。Forward KL 常表现出更强的 mass-covering 倾向,但具体结果取决于模型族和权重。
Q2. 大规模 teacher 做全词表 KL,为什么不适合直接把所有 logits 常驻显存?V4 是怎么处理的?
查看参考答案
|V| > 100k 的 logits × batch × seq 已经吃光显存。V4:teacher 权重 offload 到中央存储按需加载;不实例化 logits,只缓存 last hidden state;batch 内按 teacher index 排序让每个 prediction head 只装载一次;logits async I/O 不阻塞前向;KL 由专门的 TileLang kernel 计算避免动态分配。
Q3. 为什么 unfinished rollout 不能"从头重生"?length bias 是什么?
查看参考答案
从头重生意味着所有失败的长生成都被丢弃 → 训练数据里"成功生成"的平均长度被系统性低估 → 学生学到"短答案更可能成功"的虚假信号。token 粒度 WAL 的意义就是让长生成有机会"续上",避免分布偏移。
Q4. Quick Instruction 把 6 类辅助任务编码成 7 个特殊 token,工程收益是什么?
查看参考答案
它复用主模型已经计算的 KV cache,避免额外小模型再次 prefill 同一输入;同时省去维护和迭代该小模型的工程成本。query、authority、domain 等任务还可以并行执行。报告没有给出固定的 TTFT 降幅。