首页/AI/大模型部署与运维速查/推测解码:用小模型加速生成
推理参数与优化50 条

推测解码:用小模型加速生成

用草稿模型(或 n-gram 等)先预测若干候选 token,主模型一次前向校验并接受:接受率高时每步产出多个 token,TPOT 明显下降;适合显存有余的延迟敏感场景。

推测解码怎么加速

用一个更小的草稿模型(或 n-gram 一类方法)先预测若干候选 token,主模型一次前向就能校验并接受其中一部分:接受率高时每步产出多个 token,单 token 时间明显下降。它适合显存还有余量、又对延迟敏感的场景。

基本信息

核心思路草稿模型先猜,主模型一次校验
关键指标接受率
收益条件接受率高、草稿开销低
资源代价额外显存与算力
适用场景显存有余、延迟敏感

典型使用场景

  • 交互问答的首字之后生成速度不够
  • 延迟敏感但对总吞吐要求不高的服务
  • 显存有富余、希望压低单请求耗时
  • 结构化字段等接受率天然较高的输出任务
  • 对生成速度有硬指标、又不想换更大算力的场景

配置示意

配置示意
vllm serve <主模型路径> --speculative-model <草稿模型路径> --num-speculative-tokens 5
# 参数形态随版本变化,以版本文档为准
# 上线前用真实流量测接受率,再决定是否常开与开几个候选

四个量要一起看

指标含义关注点
接受率被接受的候选比例越高收益越大
草稿开销草稿模型耗时过大就吃掉收益
显存占用草稿模型与缓存需要额外预留
吞吐变化单位时间产出与延迟可能反向
收益取决于接受率与草稿成本:上线前用真实流量测接受率,再决定是否常开、开几个候选,不要按论文里的最好情况估。
草稿模型与主模型的分词表要一致:不一致时接受率会很低,表现为几乎没有加速,排查时优先核对这一点。
接受率与输出内容强相关:摘要、改写这类偏确定的任务通常比自由创作更容易命中,按业务类型分别验证。

易错点

  • 草稿模型选得过大:额外显存与开销吃掉收益,先用接受率数据验证再调参
  • 只看延迟不看吞吐:高并发下总吞吐可能下降,容量规划要一起评估
  • 不测接受率就上线:接受率低的场景收益接近零,还白白多占显存
  • 主模型升级后忘了同步草稿模型:输出质量出现难以定位的偏差
  • 把它当通用加速手段:接受率低的任务不但没有收益,还多占一份显存

数据来源与参考

  • vLLM 官方文档:Speculative Decoding(docs.vllm.ai)
  • Hugging Face 文档:Assisted generation(huggingface.co/docs)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌