--- title: "Markov Draft Head" created: 2026-06-28 updated: 2026-06-28 type: concept tags: [speculative-decoding, draft-architecture, low-rank-factorization] sources: [DSpark] --- # Markov Draft Head 马尔可夫草稿头是 [[DSpark]] 的[[semi-autoregressive-generation|半自回归生成(Semi-Autoregressive Generation)]]中最简单的顺序块实例化,将转移偏置 $B_k$ 限制为仅依赖**紧前一个 token**,简化为一个一阶转移矩阵 $B(x_{k-1}, x_k)$。 ## 低秩分解 直接存储 $|\mathcal{V}| \times |\mathcal{V}|$ 的转移矩阵不现实(典型 $10^5 \times 10^5$)。采用低秩近似: $$B = W_1 W_2^\top$$ - $W_1 \in \mathbb{R}^{|\mathcal{V}| \times r}$:充当嵌入查找表 - $W_2 \in \mathbb{R}^{|\mathcal{V}| \times r}$:充当 logit 投影 - 默认 rank $r = 256$ 给定前一 token $x_{k-1}$,位置 $k$ 的转移偏置: $$B(x_{k-1}, \cdot) = W_1[x_{k-1}] W_2^\top \in \mathbb{R}^{|\mathcal{V}|}$$ 低秩分解使得存储和每步计算量都保持较小,即使对于大词汇表也能高效运行。 ## 直觉 例如,当上下文允许多种延续 "of course" 和 "no problem" 时: - 若位置 1 采样了 "of",马尔可夫头在位置 2 提升 "course" 并抑制 "problem" - 有效缓解[[cross-mode-collision|跨模态碰撞(Cross-Mode Collision)]] ## 局限性 马尔可夫头是无记忆的——位置 $k$ 无法访问 $x_{k-2}$ 之前的 token。对于需要更长依赖的后缀连贯性,[[rnn-draft-head|RNN 草稿头]]通过循环状态累积完整前缀历史。 ## 参考 - [[DSpark]] - [[semi-autoregressive-generation|半自回归生成(Semi-Autoregressive Generation)]] - [[rnn-draft-head|RNN 草稿头]]