Skip to content

03. Decoding Strategies | 解码策略

页面目标

从首 token 之后的生成循环开始,观察单条请求每轮如何读取已有 KV 状态、产生输出,再比较生成策略对速度、质量和额外成本的影响。

核心机制

Decode 是一轮一轮的小步生成:每一步读取已有 KV 状态,得到 logits,再选择下一个 token,并把新的 token 和状态追加到序列中。先用贪心解码建立基线:直接选择 logits 最大的 token,直到遇到 EOS 或达到最大长度;再比较采样、speculative decoding 和 multi-token decoding。本页重点是单条请求的生成决策;多个请求如何组织执行,放到 Task4 的调度正文中。

Decode 策略对照

策略主要改变什么需要观察什么
贪心 Decode(基线)每轮选择 logits 最大的一个 token输出长度、TPOT、KV Cache 访问、质量
随机采样按 temperature、top-k / top-p 选择 token质量、重复率、TPOT、输出稳定性
Speculative Decodingdraft 提议、target 验证acceptance rate、draft cost、TPOT
Multi-token Decoding单轮尝试产出多个 token接受与回退、generated tokens/s
Decode Scheduling不同请求的执行顺序吞吐、TPOT、P99

单请求的 Decode 可以按“读取状态 → 计算 logits → 选择 token → 检查停止 → 追加状态”理解。策略改变的是其中的候选生成、验证或单轮产出;它不会自动消除 KV Cache 的容量约束,也不能用吞吐提升替代质量检查。比较 speculative decoding 或 multi-token decoding 时,还要记录接受情况和回退成本。

生成环节需要回答的问题证据
读取状态本轮使用了哪些历史 KV?Cache 长度、TPOT、读写量
选择 token是贪心、采样,还是 draft 提议后验证?temperature、top-k/top-p、acceptance rate
停止与回退何时遇到 EOS,何时拒绝候选?generated tokens、停止原因、回退次数
质量与成本更快是否保持了目标质量?质量指标、TPOT、吞吐、额外模型成本

生成策略的比较需要把“可重复性”和“质量门槛”一起固定。贪心 Decode 适合作为确定性基线;采样实验应固定随机种子和采样参数;speculative decoding 还要记录 draft 与 target 的版本、接受率和拒绝后的回退路径。只有在输出质量达到同一门槛后,TPOT 或吞吐的改善才可以作为性能收益。

对照条件应固定的内容额外记录
贪心基线模型、Prompt、最大输出长度、停止条件输出 token、TPOT、E2E、质量基线
随机采样seed、temperature、top-k/top-p、Prompt 集重复率、格式成功率、质量分布
Speculativedraft/target 模型、proposal 长度、验证规则acceptance rate、回退次数、额外显存
Multi-token单轮候选数量、接受与回退规则有效输出 tokens/s、失败比例、TPOT

参考入口:论文 Fast Inference from Transformers via Speculative Decoding;开源实现 vLLM Speculative Decoding

判断框架

本节承接 02 的 Prefill 与 Attention,先用 21 Decoding Strategies 建立单步生成口径,再用 23 Speculative Decoding35 Multi Token Decoding 比较生成策略,最后通过 36 Decode Scheduling 观察请求组织。阅读下表时,先固定 TPOTdecode_share、generated tokens 和质量约束,再根据现象选择下一步动作。

观察到的现象优先判断下一步
每轮生成耗时高Decode 计算、KV Cache 访问或 sampling检查基础 Decode 和 04
循环次数过多生成长度或单轮产出受限检查 speculative / multi-token
acceptance rate 低draft model 或 proposal 不匹配调整 draft、长度或放弃策略
多请求吞吐低、P99 高请求组织或调度问题进入 07 / 06

Released under the MIT License.