RMSD 技术笔记
Applied Compute · X Thread · 2026-05-22

把企业 OOD 行为拉回模型分布内

Applied Compute 的 RMSD 不是又一个“更强 RL”叙事,而是把自然语言 hint 转成被过滤过的 token-level 蒸馏信号:先让模型知道该往哪里变,再讨论如何稳定优化。

Relevance-Masked Self-Distillation OPSD OOD 行为学习 Token-level Credit Assignment
Source Map

读了什么,如何核对

本笔记基于 X 线程正文和 Applied Compute 官方长文。X 线程用于确认作者公开主张;长文用于核对方法细节、实验设置、指标定义和表格数字。

X 线程 使用 `opencli twitter thread "https://x.com/appliedcompute/status/2057917618175267170" --limit 80 -f json` 抓取。线程包含 4 条作者内容:主帖、企业 OOD 背景、RMSD 方法摘要、Read more 链接。
官方长文 短链解析到 `https://www.appliedcompute.com/research/relevance-masked-self-distillation`。使用 `opencli web read` 抽取正文,核对 OPSD 公式、RMSD 两阶段 mask、Qwen3-4B 实验和结果表。
验证边界 没有独立复现实验,也没有检查未公开训练代码或原始日志。本文把长文数字视作作者报告结果,并重点分析机制是否自洽、比较是否狭窄、外推是否成立。
Problem

为什么 RL 和 SFT 在这里都别扭

企业定制模型的难点经常不是“模型知道但成功率低”,而是“目标行为根本不在模型当前策略的高概率区域里”。这种情况下,后训练方法需要先让模型进入目标 token space。

SFT:能教行为,但容易整体拉分布 传统监督微调直接让模型靠近离线示例分布。对内部格式、私有 API、特定拼写/术语这类行为,SFT 可能有效,但也更容易把通用能力和原有输出习惯一起改掉。
RL:需要可爬的坡 如果基础模型一开始几乎从不成功,序列级 reward 大多为 0,GRPO/RL 就没有足够的成功轨迹可放大。没有 verifier 的企业任务更困难。
OPSD:信号密,但噪声也密 On-policy self-distillation 给每个 token 一个老师-学生分布差异信号;问题是老师和学生会因为风格、模板、开头措辞等无关原因分歧。
RMSD 的问题定义

如何把自然语言 hint、纠错说明或 hindsight feedback 转换成更干净的 token-level 学习信号,使模型学会 OOD 行为,同时尽量不破坏已有能力。

Mechanism

RMSD 到底怎么做

RMSD 可以看成 OPSD 上的一层 relevance filter。OPSD 负责把 teacher hint 转成 dense token distribution signal;RMSD 负责删掉大部分无关 token,只保留真正能改变目标行为的位置。

第一步:构造学生 prompt 和老师 prompt

学生看到普通任务 `x`,例如“除了 maple syrup,pancake 或 waffle 还能配什么 topping?”老师看到增强版任务 `x'`,多了一段 hint:回答里要出现 `pinapple`,并且永远把 `pineapple` 拼成 `pinapple`。

第二步:在学生自己的 rollout 上比较分布

学生先生成回答 `y`。训练不是让学生模仿一个外部 reference answer,而是在学生自己写出的每个 prefix `y<i` 上,比较学生分布 `P_student(·|x,y<i)` 和老师分布 `P_teacher(·|x',y<i)`。

L = (1 / R) * Σ_i KL_topK(P_student(· | x, y_<i) || P_teacher(· | x', y_<i)), 其中 K = 500

第三步:两阶段过滤 token

RMSD token filtering flow Student rollout, logprob gap selection, LLM judge selection, masked reverse KL training. 学生 rollout x → y 保持 on-policy 按 logprob 差异选 Top T teacher - student 实验中 T = 20 LLM judge 再筛 选最多 S 个相关 token 实验中 S = 5 Masked reverse KL 关键变化:不是训练所有 token,而是只训练“对目标行为有贡献”的 token。 这把 dense signal 变成更接近 dense-but-targeted credit assignment。

第一层筛选追求高召回:teacher 和 student logprob 差异大的 token 里,大概率包含目标行为相关位置。第二层 judge 追求高精度:把“老师更喜欢 Absolutely 而不是 That”这类风格差异剔除,只留下和 `pineapple → pinapple` 真正相关的位置。

Evidence

实验评估了什么

官方长文使用一个受控 toy task 测试 RMSD:在热带食物相关回答中输出 `pinapple` 而不是 `pineapple`。这个任务刻意违背预训练分布,目的是模拟企业内部特殊格式。

训练模型 Qwen3-4B。OPSD 和 RMSD 都用同架构同权重模型构造 teacher/student,只是 teacher prompt 有额外 hint。
任务规模 1000 个 tropical food 相关问题,8 种 teacher hint phrasing,总计 8000 个任务。
SFT 数据 Haiku 4.5 生成示例,再把回答里的 pineapple 替换为 pinapple;不含 pineapple 的样本被丢弃。

指标含义

指标 评估对象 容易误读的点
PinappleExists 答案里是否至少出现一次 pinapple 只说明模型会提到目标拼写,不说明它彻底放弃 pineapple
PinappleOnly 答案里出现 pinapple,且不再使用 pineapple 这是更严格的目标行为指标,更能说明行为是否稳定迁移。
Specificity 不相关问题上是否避免乱提 pineapple/pinapple 防止模型把局部规则泛化成全局癖好;这是企业定制中很重要的副作用检查。
GSM8K / DAPO / MMLU-Pro / SuperGPQA 通用数学、推理、知识或困难 QA 能力。 用于检查 catastrophic forgetting,但这组 benchmark 不覆盖所有企业真实任务。

核心结果表

Eval Base SFT OPSD 初始 RMSD 初始 OPSD continuation RMSD continuation
PinappleExists 0.000 0.700 0.980 0.970 1.000 1.000
PinappleOnly 0.000 0.670 0.430 0.470 0.480 0.740
Specificity 1.000 1.000 0.930 1.000 0.650 0.935
GSM8K 0.933 0.895 0.930 0.940 0.925 0.940
DAPO 0.166 0.125 0.152 0.141 0.137 0.145
MMLU-Pro 0.556 0.574 0.564 0.572 0.582 0.558
SuperGPQA 0.342 0.312 0.333 0.341 0.326 0.341
作者的主张

RMSD 在这个设置里约用 OPSD 一半的 step 达成目标行为;即使计入 LLM judge 调用带来的额外延迟,到达 peak performance 的 wall-clock 也约少 5%。更重要的是,它在 continuation 后比 OPSD 更稳定:`PinappleOnly` 更高,`Specificity` 掉得更少。

Analysis

这个结果说明了什么

如果只看 `PinappleExists`,OPSD 和 RMSD 都很快成功;真正的差异在更严格的 `PinappleOnly` 和副作用指标 `Specificity` 上。这正是企业定制模型最关心的地方:不仅要学会规则,还不能把规则乱泛化。

1. Dense signal 不是越密越好

OPSD 的吸引力在于每个 token 都有 teacher/student 分布差异,比 RL 的单个 scalar reward 更细。但如果 teacher 和 student 在开头语气、列表格式、转折词上也有巨大差异,这些 token 的梯度会稀释真正任务信号。RMSD 的贡献是把 dense signal 进一步转成 dense-but-targeted signal。

2. On-policy 是关键,不只是 self-distillation 这个名字

作者在附录里用接近 on-policy 的 SFT 做了 thought experiment:用 Qwen3-4B 自己生成回答,再替换 `pineapple` 为 `pinapple`,效果比 Haiku 生成的普通 SFT 更好。这支持一个判断:自蒸馏方法强,不只是因为 teacher 更聪明,而是因为训练发生在学生自己会走到的状态分布上。

3. RMSD 处理的是 token-level credit assignment

这和 agent/RL 里常见的问题是同构的:长轨迹里到底哪个动作导致成功?在 RMSD 里,问题变成一段回答里到底哪些 token 承载目标行为。它用 logprob gap 找候选,再用 judge 做语义相关性筛选,本质是在给 token 级训练信号做 credit assignment。

Limitations

不能过度外推的地方

这条线程值得关注,但它不是“RMSD 已经解决企业模型定制”的证据。更准确的读法是:它证明了一条机制路径在受控 OOD token 行为上有效。

Toy task 很窄 `pineapple → pinapple` 是 lexical-level 行为。真实企业任务可能涉及多步工具调用、状态更新、权限约束、私有 schema、错误恢复和长上下文依赖,难度不是同一量级。
Judge 成为新依赖 RMSD 依赖 LLM judge 判断哪些 token 相关。judge 的稳定性、prompt 敏感性、模型成本和 bias 都会影响训练效果。
Teacher 不完美时会封顶 作者也提到 teacher 即便看到 hint 仍可能写 `pineapple`。如果 teacher 本身不能稳定展示目标行为,学生的上限会受限制,需要多轮 teacher update 或 bootstrap。
更新时机敏感 continuation phase 中用学生 checkpoint 更新 teacher 可以继续提升,但更新太早可能导致 collapse。如何动态选择 teacher update 时间仍是开放问题。
Practice

什么时候该考虑 RMSD 类方法

RMSD 最适合“目标行为可用语言描述,但很难用离线示例或稀疏 reward 稳定教会”的场景。它不是 SFT/RL 的通用替代品,而是 OOD 行为引导工具。

场景 RMSD 是否合适 理由
内部文档格式、公司私有术语、特殊拼写或输出规范 较合适 目标 token space 明确,可用 hint 描述,且需要避免全局能力退化。
有清晰 verifier,基础模型已有一定成功率的任务 未必优先 RL 可以直接放大成功轨迹,RMSD 的 judge/filter 成本未必值得。
大量高质量、接近学生分布的示例数据 可以对比 SFT 如果 SFT 数据近似 on-policy,普通 SFT 的劣势会缩小。
长程工具任务、复杂业务流程 需要谨慎实验 token 相关性不等于动作因果性;需要轨迹级、状态级和工具级 credit assignment。
Insight

我对这条帖子的判断

这条线程的价值,不是宣称 RMSD 已经成为企业定制模型标准答案,而是把一个被忽略的问题讲清楚了:很多企业任务不是缺 reward,而是缺能把模型带进目标行为分布的第一批梯度。

RL 的隐含前提是模型偶尔能成功,reward 才能放大成功;SFT 的隐含前提是离线样本足够接近学生会遇到的状态分布。企业 OOD 任务经常同时违反这两个前提。RMSD 的工程意义在于,它把“人能用语言说清楚的目标行为”转化成 teacher/student 分布差异,再通过 relevance mask 避免把无关风格差异一起学进去。

更一般地看,RMSD 是后训练从“结果打分”向“过程定位”移动的一小步:不是只问整段回答对不对,而是问哪几个 token 真正承载了应该学习的行为。这对内部格式、私有 API、工具调用习惯和 agent 轨迹训练都有启发。不过,真实系统里需要把 token-level mask 扩展到 action、observation、state transition 和 error recovery,否则只能解决局部输出习惯,不能解决完整工作流能力。

最短可执行结论:
1. 如果基础模型零成功率,先别急着 RL,先想办法提供方向性 token/action 信号。
2. 如果用 self-distillation,不要默认所有 token 都有价值,必须做 relevance filtering。
3. 评估时同时看目标行为、specificity 和通用能力退化,否则会奖励“学会但乱泛化”的模型。