投机解码教程:从概率保持、KV Cache 回滚到性能盈亏平衡
投机解码(Speculative Decoding)常被概括为一句话:小模型先猜,大模型一次验证多个 token。 这句话说明了直觉,却没有回答实现中最关键的四个问题:为什么一次前向能够验证多个候选?拒绝候选后怎样保证采样分布不变?KV Cache 应该回滚到哪里?为什么接受率很高仍然可能更慢?
本文从普通自回归解码出发,推导 greedy 与 sampling 两类投机解码,给出 logits 对齐、cache 修复、期望推进长度和成本模型,并结合 SpecDec-Context-Scaling 的实验说明如何判断一个投机解码系统是否真的赚到了时间。