Lesson 04 · 目标用时 15 分钟

走完一轮 MTP 投机解码

只跟踪一个固定例子:MTP 提出三个 token,target 接受第一个、拒绝第二个并修正,然后系统提交真实前缀。

先回忆

顺序 MTP 已经提出 y₁=吃。它预测 y₂ 时能看到哪个上下文?

这轮只回答一个问题

当前真实前缀是 我 喜欢。一轮结束后,哪些 token 会成为真实输出,哪些 KV 可以继续使用?不要先算;点击“下一步”跟着状态变化走一遍。

起点:只有真实前缀

喜欢

此时 token 状态和 target KV 都只覆盖 我 喜欢。MTP proposer 接下来会提出三个候选。

把整轮压成四条规则

  1. MTP 先产生候选块和实际使用的 q₁…qγ
  2. target 沿候选路径一次得到 p₁…pγ+1,sampler 再从左到右验收。
  3. 首次拒绝时,从该位置的 residual 采 correction,并立即停止本轮验证。
  4. 逻辑 token 提交 accepted prefix 与 correction;KV 只保留确实对应真实路径的部分。
收尾检查

y₂ 被拒绝并修正后,是否还能继续验证旧的 y₃

主阅读

对照 Leviathan et al., Section 2.3 的 Algorithm 1,只寻找三件事:draft block、首次拒绝和 extra token。然后回到本页,不看步骤,自己说出“吃、苹果、句号、香蕉”各自的去向。任何一步不确定,都可以继续问我。