跳到主要内容
返回时间线
arXiv来源发表:

投机解码草稿模型换训练目标:D-REAL 一轮后训练,DFlash2 在 GSM8K 吞吐提升 9.4%

核心概要

投机解码的草稿模型通常按逐词交叉熵训练,但固定开销下真正决定加速比的是目标模型连续接受的草稿词数,即接受长度。D-REAL 把这一接受长度写成沿草稿实际采样轨迹的期望,并用带停止梯度的接受率比值构造可微替代损失,使梯度估计无偏。在 DSpark 与 DFlash2 两种并行草稿模型、十个基准上,一轮后训练把宏平均接受长度从 5.07 提到 5.13、从 4.88 提到 5.10;GSM8K 并发服务中 DFlash2 输出吞吐提升 9.4%。

AI-generated editorial illustration: D-REAL: Acceptance-Length Optimization with Unbiased Gradients for Speculative Decoding

深度剖析

草稿模型的训练目标从逐词损失改为直接优化单轮期望接受长度,也就是目标模型在一轮验证中连续接受的草稿词数。 标准交叉熵和 KL 损失逐位置相加,不显式优化被接受前缀的长度;D-PACE 用参考词置信度构造的接受长度代理来分配位置权重。 在十个基准、两种草稿模型和两种解码温度共 40 个设置中,D-REAL 有 37 个高于 D-PACE、1 个持平、2 个更低;宏平均上 DSpark 从基线 5.07 升到 5.13,DFlash2 从 4.88 升到 5.10。

实现上沿草稿模型自己采样的前缀计算目标与草稿分布的逐位置重叠,再按前缀存活概率加权。 此前的位置权重来自离线参考序列上的置信度代理,而不是草稿实际采样轨迹上的拒绝采样期望。 训练时在离线目标序列上均匀抽取锚点,在线调用冻结的目标模型,对草稿采样出的前缀计算验证分布;在 8 卡 Hopper 节点上,一轮后训练的挂钟时间约为一次基线训练轮次。

梯度通过带停止梯度的行为提议分母保留提议分布自身的导数,从而同时包含接受率项和轨迹的得分函数项。 仅对权重做停止梯度并不能说明估计量是否有偏;把重要性比值整体停止梯度则会丢掉前缀存活因子的全部导数。 在局部支撑不变且几乎处处可微的条件下,提议概率与分母逐项抵消,得到期望接受长度的无偏随机梯度估计;消融中把动态前缀换成静态指数衰减后,DSpark 平均接受长度在温度 0 下为 5.23、温度 1 下为 4.91,低于完整 D-REAL 的 5.26 和 4.96。

启示与展望

演示范围是 Qwen3-8B 作为冻结目标模型、DSpark 与 DFlash2 两种 5 层并行草稿模型,在数学、代码、对话三类共十个基准上以贪心和随机两种温度评测,并在 SGLang 中以 GSM8K、给定并发度测端到端服务。

在线验证目标模型会给每步训练带来额外延迟,尽管一轮后训练的总挂钟时间约为一次基线轮次;训练锚点仍均匀取自离线目标序列,而部署时每轮起草起点由前几轮接受长度动态决定,这一上下文分布差异尚未消除。