← 全部深度解读
📖 深度解读 · INFRA

RCSD: Reinforcement and Continual Learning for Domain-Specific Speculative Decoding

Mingkang Liu, Weiming Meng, Peipei Jiao, Jiawei Zhang, Tianyuan Liu, Junyan Li, Lichen Pang · arXiv 2610.29527 · 发表 2026-10-21
7 分钟阅读时长 2409字 4.10综合分 第 3 名10-23 Infra 日报
目录 · 5 节1问题:蒸馏目标和接受长度不一致2方法3实验4局限5实践意义
相关 4新颖 4实用 4证据 4时效 5

投机解码用一个小的草稿模型先猜几个 token,再让大模型一次性并行验证,猜中的越多(接受长度越长)越快。草稿模型通常用蒸馏训练:让它的输出概率分布尽量贴近目标模型,包括目标模型自己也不确定的那些低概率 token。海信的作者认为这和真正目标不一致:验证时只看草稿给出的 token 能否被目标模型接受,草稿只要把最可能的几个 token 排对就够了,不必复现整个分布。他们提出 RCSD,在 EAGLE 框架里用 HASS(一种按蒸馏训练草稿模型的方法)训好的草稿模型作为起点,再用 DPO 或 GRPO 继续训练,训练信号直接来自"目标模型自己生成的序列"和"草稿模型参与生成的序列"之间的对比。在 Qwen3-1.7B 和 Llama-3.1-8B 上,接受长度在 HumanEval、MT-Bench、GSM8K、ShareGPT 四个数据集和草稿步数 3–6 的所有设置中都高于 HASS,论文报告平均提高 35%,在 ShareGPT 等实际负载上端到端快 1.35 倍。

1. 问题:蒸馏目标和接受长度不一致

蒸馏最小化的是前向 KL 散度,会迫使草稿模型把容量分给目标分布里的所有区域,包括低概率的尾部。草稿模型比目标模型小几个数量级,做不到完全复现。作者的论点是:KL 损失低不等于接受率高,KL 损失高也可能接受率很好,关键在于前几个候选 token 的排序是否和目标模型一致。

RCSD 框架(论文 Figure 3)。左:投机解码过程中,验证结果把输出分为被接受和被提前拒绝的部分;右:A 用 DPO,目标模型生成的序列为"好",目标模型和草稿模型交替生成的序列为"差";B 用 GRPO,按接受率给一组序列打分。底部示意:优化后草稿分布更集中在目标分布的高概率 token 上。
RCSD 框架(论文 Figure 3)。左:投机解码过程中,验证结果把输出分为被接受和被提前拒绝的部分;右:A 用 DPO,目标模型生成的序列为"好",目标模型和草稿模型交替生成的序列为"差";B 用 GRPO,按接受率给一组序列打分。底部示意:优化后草稿分布更集中在目标分布的高概率 token 上。

2. 方法

两种训练方式都从 HASS 训好的草稿模型出发,并以它作为冻结的参考模型。

DPO 版。 对同一个提示构造一对序列:

  • "好"的序列:完全由目标模型自回归生成;
  • "差"的序列:目标模型生成 1 个 token,草稿模型不经验证接着生成 k 个,如此交替。

然后用标准 DPO 损失训练草稿模型,让它对"好"序列的概率相对参考模型上升、对"差"序列的概率下降。"差"序列中由目标模型生成的那些 token 在计算损失时被屏蔽,避免惩罚本来就和目标模型一致的部分。

GRPO 版。 对同一个提示生成一组序列:一条由目标模型直接生成,另外几条按不同的 k(每次草稿连续生成 1、2、3 个 token)交替生成。每条序列的分数是两项标准化后相加:目标模型给这条序列的对数概率,和这条序列的接受率。再用 GRPO 的裁剪目标加 KL 约束训练。

3. 实验

3.1 接受长度

这组实验检验 DPO/GRPO 继续训练能否让草稿模型被接受的 token 更多。设置:Qwen3-1.7B 和 Llama-3.1-8B 作为目标模型,在 90% 的 ShareGPT 上训练;在 HumanEval、MT-Bench、GSM8K 和剩下 10% 的 ShareGPT 上测试;草稿步数(每轮猜几个 token)从 3 到 6。

Qwen3-1.7B,步数 6 时的平均接受长度:

数据集HASSHASS + DPOHASS + GRPO
HumanEval2.5333.0143.015
MT-Bench2.0922.5712.601
GSM8K2.1763.2123.246
ShareGPT2.2203.0893.136

Llama-3.1-8B,步数 6:

数据集HASSHASS + DPOHASS + GRPO
HumanEval3.2023.5403.558
MT-Bench2.4972.7312.736
GSM8K2.7563.0083.025
ShareGPT2.6723.7793.828

结果:两种方法都明显超过 HASS,GRPO 多数情况下略好于 DPO,但两者差距很小。步数越大提升越多,论文举例 Qwen3-1.7B 在 GSM8K 上相对提升从步数 3 的 31% 增加到步数 6 的 49%。Llama-3.1-8B 上 ShareGPT 提升最明显,这也是训练数据所在的分布。

3.2 吞吐

这组实验检验接受长度的提升能否变成实际速度。设置:Llama-3.1-8B-Instruct,SGLang 5.5.0。论文没有写明这组的草稿步数,图中的接受长度与上表步数 3 的数值相同。

吞吐(上)和平均接受长度(下)(论文 Figure 2)。灰色为不用投机解码,蓝色 HASS,橙色 HASS + DPO,红色 HASS + GRPO。
吞吐(上)和平均接受长度(下)(论文 Figure 2)。灰色为不用投机解码,蓝色 HASS,橙色 HASS + DPO,红色 HASS + GRPO。
数据集无投机解码HASSHASS + DPOHASS + GRPO
HumanEval90.7163.1173.1173.8
MT-Bench90.6134.2141.9143.1
GSM8K90.8150.5159.7160.3
ShareGPT90.2142.3176.1176.6

(单位:输出 token/s)结果:ShareGPT 上 GRPO 版从 142.3 提到 176.6 token/s,其他三个数据集提升较小。

4. 局限

  • 论文多处声称"不影响生成质量",但没有给出质量评测结果。按投机解码的验证机制,输出应由目标模型决定,但实验部分没有对此单独验证。
  • 标题写的是"持续学习"和"特定领域",正文没有持续学习的实验,评测集也是通用数据集,没有领域专属场景。
  • 方法描述前后不完全一致:Figure 3 左侧说"好/差"序列来自验证中被接受和被提前拒绝的 token,而方法章节和右侧写的是"目标模型单独生成"对"目标与草稿交替生成"。
  • Figure 2 标题说基线是 SFT,图例写的是 HASS。
  • 吞吐只测了 Llama-3.1-8B 一组配置;没有报告训练成本,也没有和其他非蒸馏训练方法对比。

5. 实践意义

如果你已经部署了 EAGLE/HASS 风格的草稿模型,这篇论文提示一个低成本的后续步骤:用目标模型自己生成的数据,在现有草稿模型上再做一轮 DPO 继续训练,数据构造不需要人工标注或额外奖励模型。GRPO 版只比 DPO 稍好,实现更复杂。由于缺少质量评测和训练成本数据,上线前需要自己核对输出一致性和训练开销。

← 全部深度解读 出现于报告:2026-10-23 · Infra #3 (4.10) 原文 ↗