跳到主内容
快讯直播
AI智模界
AI 词典

块扩散解码:把序列切块,块内并行、块间自回归

一句话定义:块扩散解码(Block Diffusion / 半自回归并行解码)是把输出序列切成若干固定大小的块,块内多个 token 并行“去噪”生成、块与块之间仍严格从左到右衔接的解码方式——介于逐 token 自回归和整段并行扩散之间的折中路线。

打个比方:像分组接力写稿。逐 token 自回归是“一个人一个字一个字写”;纯扩散 dLLM(diffusion language model)是“一群人同时把整篇稿子乱写一遍再一起改”。块扩散则是每组负责一段:段内几个人同时出草稿,互相看几轮、改几轮,改得差不多了就定稿封存;下一组只能看前面已封存的段,再开始写。段内可以“同时改”,段间必须“排队”。

机制上:每块开始时,块内位置先填成掩码(mask)或噪声,注意力掩码是块因果的——块内互相可见,跨块只能看见已提交的块。然后跑固定的 T 步去噪,每步按置信度把一部分位置“定稿”(unmask),其余留到下一步;块写满即提交,推进到下一块。极端情况很说明问题:块大小 B=1、步数 T=1 就退化为普通自回归;B 等于整条序列就是纯扩散。

KV 缓存怎么变:自回归每步只算一个新 token,缓存纯追加;纯扩散是双向注意力,任何位置一改,后面的缓存全部失效,缓存几乎白存。块扩散把缓存做成“按块提交”:已提交块的 KV 在所有去噪步里反复复用,只有当前块是“脏区”,每一步都要重算。于是显存里常驻的是历史块的 KV,当前块的 KV 反复刷新。

步数与速度:总前向次数约为 (序列长度 / B) × T,相对自回归的“长度”次,理论加速约 B/T。B 越大、T 越小越快,但块内并行去噪没有验证机制——这点和投机解码(speculative decoding)不同,后者是无损的——质量下滑得靠训练目标和采样策略补回来。

维度逐 token 自回归纯扩散 dLLM块扩散
生成顺序严格逐字全序列并行块内并行、块间顺序
KV 缓存全复用基本失效历史块复用、当前块重算
前向次数约 L 次约 T 次(整段)约 (L/B)×T 次
质量风险最低连贯性偏弱取决于 B 与 T

对从业者的意义:这是一条调“延迟—质量”旋钮的路线。做推理服务时,要同时调块大小、每块步数、批处理策略;流式输出的粒度也变粗了,变成按块吐字,首字延迟和“出字顺滑感”都要重新评估。对普通用户而言,它不会是一个可见开关,只表现为“同类模型回答更快或更慢”。具体实现细节各家不同,以官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。