什么是草稿模型(Draft Model)?
草稿模型是推测解码(speculative decoding)中的一类小型模型,负责先快速生成若干候选 token,再由目标模型并行验证,从而在不改变输出分布的前提下提升推理吞吐。vLLM 官方文档给出了以 draft_model 为方法的配置示例,arXiv 论文则讨论了固定草稿长度策略的局限与动态长度方案。
草稿模型(Draft Model)是推测解码(speculative decoding)体系中的一类小型语言模型:它先以较低成本快速生成若干个候选 token(草稿),再由体量更大、质量更高的目标模型(target model)一次性并行验证这些候选 token,接受其中与目标模型自身分布一致的部分。它要解决的问题是:大模型逐 token 自回归解码时,每生成一个 token 都要完整跑一遍前向计算,GPU 算力大量闲置在访存上,解码速度受限于显存带宽而非计算能力;草稿模型用「小模型多猜、大模型少算」的方式,把一次大模型前向的算力摊到多个 token 上。
为什么重要
在推测解码出现之前,自回归生成的基本流程是串行的:目标模型每前进一步只产出一个 token,下一步又必须等上一步完成。这种串行性使得单次前向中大量的矩阵乘算力无法被充分利用,尤其在长上下文、长文本生成和复杂推理场景下,解码阶段成为端到端延迟的主要来源。
一个自然的想法是让一个更便宜的过程先「猜」出后续若干 token,再让目标模型批量校验。校验之所以可行,是因为语言模型对每个位置都会输出完整的概率分布,目标模型可以在一次前向中同时评估多个候选位置,从而把原本串行的多步压缩为一步。草稿模型正是承担「猜」这一角色的组件。相比其他草稿来源(例如基于 n-gram 的检索式猜测、基于目标模型自身隐藏状态的预测头),草稿模型是一个独立的小型模型,可以单独训练、单独部署,也可以直接复用现成的小参数模型。
arXiv 论文《Draft Model Knows When to Stop: Self-Verification Speculative Decoding for Long-Form Generation》指出,常规推测解码方法使用预先设定的固定长度策略来提出草稿,这隐含了一个前提:目标模型会平滑地接受所提出的草稿 token。该论文认为现实与该假设存在偏离——最优的草稿长度差异很大,固定长度策略难以满足这一需求;在涉及复杂推理和长文本生成的场景中,这种偏差会被进一步放大,尤其是在面向推理专用模型的测试时扩展(test-time scaling)条件下。
工作机制
以 vLLM 官方文档所描述的草稿模型用法为例,一次推测解码循环大致包含以下环节:
- 草稿阶段。草稿模型接收当前已确认的上下文,自回归地生成若干个候选 token。候选数量由配置项决定,vLLM 文档示例中使用的参数名为
num_speculative_tokens,示例取值为 5,即一次推测 5 个 token。 - 验证阶段。目标模型对「原上下文 + 候选 token」这一整段序列做一次前向计算,得到每个位置上的概率分布,并逐个判断候选 token 是否落在目标模型可接受的范围内。
- 接受与回退。从第一个候选位置开始顺序比对,一旦某个候选 token 不被接受,该位置及其之后的候选全部丢弃,改由目标模型在该位置给出正式输出;被接受的前缀则一次性确认,相当于用一次目标模型前向换来了多个 token 的产出。
- 循环。确认后的序列成为下一轮的上下文,重复上述过程直到达到停止条件。
这一流程的关键性质在于:最终输出与目标模型单独解码所得到的分布保持一致,草稿模型只影响速度,不影响结果的正确性。代价是草稿模型本身也要占用显存和计算,且当草稿接受率低时,被丢弃的候选 token 所消耗的算力成为纯开销。
草稿长度是这一机制中的核心超参数。长度太短,加速收益有限;长度太长,一旦在靠前位置就被拒绝,后续草稿全部作废。前述 arXiv 论文通过理论与实证估计提出,草稿模型与目标模型之间的差异可以用草稿模型的预测熵来近似:熵高意味着草稿 token 的接受率低,熵低则接受率高。基于这一观察,论文提出 SVIP(Self-Verification Length Policy,自验证长度策略),一种无需训练的推测解码动态长度策略,通过参考草稿熵来自适应地确定草稿序列的长度。需要说明的是,这是该论文提出的方法与结论,并非推测解码领域的统一做法。
典型例子
vLLM 官方文档的 Draft Models 页面给出了一个离线模式的配置示例:使用 Qwen/Qwen3-8B 作为目标模型,Qwen/Qwen3-0.6B 作为草稿模型,tensor_parallel_size 设为 1,并在 speculative_config 中指定 method 为 draft_model、num_speculative_tokens 为 5,即每次推测 5 个 token。示例同时设置了采样参数(temperature 为 0.8,top_p 为 0.95),随后调用 generate 生成结果。这一示例说明草稿模型在工程上是以「目标模型 + 草稿模型」成对配置的方式接入推理框架的。
在 vLLM 的功能目录中,草稿模型并非推测解码的唯一形态,与之并列的还有 EAGLE、MTP(Multi-Token Prediction,多 token 预测)、N-Gram Speculation、Parallel Draft Models、MLP Draft Models、Suffix Decoding、LiLiCorr、Hidden State Extraction 等条目。这反映出「草稿从哪来」有多种实现路径,草稿模型只是其中以独立小模型为草稿来源的一类。
arXiv 论文方面,作者为 Ziyin Zhang、Jiahao Xu、Tian Liang、Xingyu Chen、Zhiwei He、Rui Wang、Zhaopeng Tu,论文于 2024 年 11 月 27 日提交 v1 版本,2025 年 8 月 24 日修订为 v2 版本,被 EMNLP 2025 收录。论文报告的实验结果显示,SVIP 在主流推测解码基准以及推理密集型基准上取得了更优表现:在 8K 上下文下于 MT-Bench 上相比固定草稿长度取得最高 17% 的加速,在 QwQ 的长文本推理上取得 22% 的加速。这些数字来自该论文的实验设置,属于论文自身的报告结果。
边界与常见误解
第一,草稿模型不是用来提升模型质量的。它的输出只是候选,最终结果由目标模型决定,因此换用不同的草稿模型不会改变生成内容的分布,只会改变生成速度。把草稿模型当作「小模型替代大模型」是一种常见误解。
第二,加速比并非无条件为正。草稿模型自身的前向计算、额外的显存占用、以及候选被拒绝后的重算,都是实打实的开销。当草稿接受率偏低时,推测解码可能不加速甚至变慢。前述论文正是针对固定长度策略在复杂推理与长文本生成中接受率波动的问题提出动态长度方案,这从侧面说明固定长度策略存在已知的适用边界。
第三,草稿模型与目标模型的搭配有约束。两者通常需要共享同一套分词器(tokenizer),否则候选 token 无法在目标模型的词表上被验证。此外,草稿模型与目标模型的规模差距、训练数据分布差异都会影响接受率。
第四,动态长度策略并非只有一种。SVIP 是论文提出的一种无需训练的策略,其有效性由该论文的实验支撑;它与其他推测解码优化(如 EAGLE 系列、MTP 等)属于不同技术路线,不能互相替代地宣称普适最优。
第五,草稿模型与「模型蒸馏」「量化」等压缩手段的目标不同。后两者试图让单个模型更小更快,草稿模型则是在保留完整目标模型的前提下,用额外的小模型换取解码吞吐,二者可以叠加使用,但解决的问题不在同一层面。