AI 为什么总是一个字一个字往外蹦?——扩散语言模型正在改写“下一个词”
单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达

我们已经习惯看 AI 从左往右吐字,仿佛语言只能这样生成。可 Transformer 是交换信息的计算骨架,自回归只是文字成为定稿的一种秩序。Google DiffusionGemma、LLaDA 和 NVIDIA TwoTower 正在探索另一条路:先保留一块仍可修改的画布,再同时猜、反复改。
Transformer 是位置之间交换信息的计算骨架,自回归只是文字成为定稿的一种秩序。Google DiffusionGemma、LLaDA 和 NVIDIA TwoTower 正在探索另一条路:先保留一块仍可修改的画布,再同时猜、反复改。文章真正追问的不是谁取代谁,而是语言模型能否按任务选择何时承诺。
① 一直向右走的光标 → ② 逐词承诺的代价 → ③ causal mask 与 MASK token → ④ LLaDA 怎样训练和生成 → ⑤ 另一种秩序能否规模化、加速和部署 → ⑥ 并行与 KV cache 的代价 → ⑦ token、block 与整段扩散的连续谱 → ⑧ MTP、Mamba 与 latent reasoning 改变哪一层 → ⑨ 生成顺序本身的启发

▲ 从逐 token 的单行生成,到整块画布的多轮修改
开场:那个一直向右走的光标
一个字出现。
接着是下一个字。
光标一直向右走,像一台速度很快、绝不回头的打字机。
产品界面有时会把几个字一起刷新,但对今天大多数主流大语言模型来说,背后的生成顺序通常也是从左到右:先确定前面的 token,再根据它预测下一个。token 不一定正好对应一个汉字,读起来却很像一个字一个字地往外蹦。
我们已经太熟悉这个画面,以至于很少再问:
语言模型为什么一定要从第一个词写到最后一个词?
一张图片可以从满屏噪声里逐渐显影。一段音乐可以先有和声骨架,再补旋律。人写文章时也常常先改结尾,再回头重写开头。
一句话为什么不能这样生成?
2026 年 6 月 10 日,Google 发布开放实验模型 DiffusionGemma。它在一次前向计算中并行处理 256 个 token,再通过多轮修改让整块文字共同成形。它不是孤例:一批新模型正在把语言生成从“逐词接龙”推向“整块修改”。
它们还没有取代今天的自回归大模型,却已经动摇了一个长期默认的前提:
模型说话的顺序,未必必须等于模型形成答案的顺序。
这篇文章讨论的不是“扩散模型会不会取代 Transformer”。许多扩散语言模型本身仍然使用 Transformer。Transformer 回答的是不同位置怎样通过 QKV 交换信息;自回归与扩散回答的是另一层问题:答案按什么顺序生成,又在什么时候成为不能再改的定稿。
真正被松开的,是“Transformer 必须永远从左到右、一次承诺一个 token”这层绑定。
要理解这件事,先看清那个只会向右走的光标,究竟被哪条公式推着走。
一、一行公式,把语言变成一条单行道
假设一句话由 L 个 token 组成:
x₁, x₂, x₃, ... , xL
自回归语言模型把整句话的概率拆成:
P(x₁, …, xL) = ∏ P(xᵢ | x₁, …, xᵢ₋₁)
这条公式并不神秘。它的意思是:
第一个 token 有多可能 × 已知第一个以后,第二个有多可能 × 已知前两个以后,第三个有多可能 × …… = 整句话有多可能
比如模型已经写下:
雨停以后,整座城市在积水里
它会计算下一个 token 更可能是“重新”“逐渐”“静静”,还是别的什么。选出一个以后,这个 token 又成为下一轮预测的前文。
这就是 next-token prediction。
需要说准确一点:上面的分解首先是概率论的链式法则,任何联合概率都可以这样写。真正让它变成一条单行道的,是现代自回归模型的因果注意力和解码方式——当前位置可以看见左边已经生成的内容,却不能看见右边尚未生成的答案。
这条路线能成为今天大语言模型的主流,当然有充分理由。
它可以自然生成不同长度的回答;写出一部分就能立刻流式展示;已经处理过的前文还能放进 KV cache,不必每一步都从头计算。模型只要把一个很难的问题,反复缩小成“下一步是什么”,就能从文字接龙一路长出代码、翻译、问答和推理。
但这种成功也带来一个很深的结构性约束:
已经写出的文字,像已经发生的过去。模型可以继续解释它,却不能在同一次原生生成里回去撤回它。
二、当第一步写错,后面都要替它圆场
自回归模型最明显的代价是串行。
第 100 个 token 依赖前 99 个,第 101 个又依赖前 100 个。即使 GPU 很擅长同时做大量计算,最朴素的生成仍要等上一轮结束,才能知道下一轮的输入是什么。
但速度只是表面。
更深的代价叫作过早承诺。
想象你要求模型写一句话:必须提到雨和城市,最后一个词必须是“星光”,还要保持语义自然。
这不是单纯决定第一个词的问题。开头怎么写,取决于结尾要落在哪里;中间的节奏,又要同时服从长度、语法和意义。整句话的各个位置互相约束,答案更像一个填字游戏,而不是一串彼此独立的珠子。
强大的自回归模型也能提前规划,并借助二次修改补救。它的结构性别扭在于:原生解码要求模型一边规划,一边把尚未完成的计划不断变成不可撤回的文字。
如果第一段把论点带偏了,后面可能只能越来越用力地圆回来。如果代码开头选择了不合适的数据结构,错误往往要到很后面才显露。如果一道证明题的结论暴露出前提有问题,最好的动作不是继续生成更多 token,而是回去改掉第一步。
人类即兴发言时也常陷入这种困境:话已经说出口,只好沿着它继续说。
可写作不是只有即兴发言这一种形态。
我们会列提纲,会留下空白,会先写最确定的段落,会因为结尾不成立而删掉开头。扩散语言模型尝试放进机器里的,正是这种“整份草稿暂时都可以改”的能力。
三、先分清两种 mask:一扇门和一个空位
如果你熟悉 Transformer,这里最容易卡住的地方,是 mask 这个词同时指两件完全不同的东西。
第一种是自回归模型里的 causal attention mask,也叫因果遮罩。
它不出现在句子里,而是加在 Q、K 的注意力分数上。对第 i 个位置来说:
sᵢⱼ = Qᵢ·Kⱼᵀ / √d + Aᵢⱼ αᵢⱼ = softmax_j(sᵢⱼ) Attentionᵢ = Σⱼ αᵢⱼ Vⱼ Aᵢⱼ = 0 当 j ≤ i,可以看 Aᵢⱼ = −∞ 当 j > i,禁止看
softmax 沿所有 key 位置 j 归一化;−∞ 对应的权重 αᵢⱼ 接近零,随后也就不会把那个位置的 V 汇入输出。于是第 3 个位置能读取前 1、2、3 个位置的 K 和 V,却看不到第 4、5 个位置。
它遮住的是视线。第 4 个词还没生成,第 3 个位置就不许偷看它。
第二种是扩散语言模型输入里的 [MASK] token。
它是词表中的一个特殊占位符,真的会出现在送进 Transformer 的序列里:
雨停 / [MASK] / 整座 / 城市 / 在 / 积水里 / 重新 / 发亮
[MASK] 也有自己的 embedding 和位置信息,也会产生 Q、K、V。它表达的不是“右边不许看”,而是“这个位置原来有内容,现在暂时不知道”。
在 LLaDA 这类 masked diffusion model 里,回答部分通常不再使用那张只许向左看的三角形 causal mask。[MASK] 位置产生的 Q,可以同时查询左边“雨停”的 K,也可以查询右边“整座城市在积水里重新发亮”的 K,再从相应的 V 中汇集信息。最后,LM head 为这个空位输出整个词表上的概率分布,猜出这里可能是“以后”。
模型当然不是透过黑块看见了答案。[MASK] 自己只说明“这里缺了一块”;答案来自左右文、位置编码,以及训练中学到的语言关系。
causal mask 是一扇不许向右看的门;[MASK] token 是句子里等待填写的一个空位。
▲ causal attention mask 与 MASK token 的区别:前者限制注意力视线,后者在输入序列中挖出空位
causal mask 改变“谁能看谁”;[MASK] token 改变“这个位置输入什么”。
被改写的不是 Transformer 本身。QKV 提供位置之间交换信息的计算骨架;causal mask、训练目标和采样算法共同决定文字按什么顺序成为定稿。自回归逐词承诺,masked diffusion 保留多个待定位置,再分批提交。
计算骨架
自回归生成秩序:Transformer / QKV
LLaDA 式扩散生成秩序:仍可使用 Transformer / QKV
训练输入
自回归生成秩序:完整文本右移
LLaDA 式扩散生成秩序:随机挖空后的文本
Attention
自回归生成秩序:causal,只看左侧前文
LLaDA 式扩散生成秩序:双向看带噪序列
训练目标
自回归生成秩序:每个位置预测下一个 token
LLaDA 式扩散生成秩序:所有 [MASK] 位置恢复原 token
推理起点
自回归生成秩序:prompt 后面没有回答
LLaDA 式扩散生成秩序:prompt 后面先放一排 [MASK]
每轮变化
自回归生成秩序:通常追加一个新 token
LLaDA 式扩散生成秩序:同时提出多个位置的候选
已有内容
自回归生成秩序:前缀立即成为历史
LLaDA 式扩散生成秩序:低置信候选可以重新遮住再猜
所以,把扩散语言模型称为“Transformer 的优化”并不准确。它可能沿用同一种骨架,却更换了概率分解、训练任务和生成算法;也有 TwoTower 这样明确复用自回归模型的混合路线。下面先用最直观的 LLaDA [MASK] 路线讲清训练和生成,其他变体留到后文。
四、训练:文字里的噪声,不是一片雪花
在《从噪声中看见猫》里,我写过图像扩散模型:先把清晰图片逐步加成高斯噪声,再学习把破坏过程倒放。
文字不能原样照搬这套办法。
像素是连续数值,可以从 0.31 慢慢扰动成 0.47。token 却是离散符号:“猫”的一半不会自然变成“狗”的三分之一。
早期 Diffusion-LM 选择在连续词向量上加噪。LLaDA 这类现代 masked diffusion language model 则使用了更直观的办法:
不要把词变成雪花,直接把词遮住。
假设原句是:
雨停以后,整座城市在积水里重新发亮。
LLaDA 会从 0 到 1 随机选择噪声比例 t,再让每个位置以概率 t 独立变成 [MASK]。原句可能经历这样的破坏:
t = 0.0 雨停 / 以后 / 整座 / 城市 / 在 / 积水里 / 重新 / 发亮 t = 0.3 雨停 / [MASK] / 整座 / 城市 / 在 / 积水里 / [MASK] / 发亮 t = 0.7 [MASK] / [MASK] / [MASK] / 城市 / [MASK] / 积水里 / [MASK] / [MASK] t = 1.0 [MASK] / [MASK] / [MASK] / [MASK] / [MASK] / [MASK] / [MASK] / [MASK]
这里按词块写只是为了直观,真实模型怎样切 token 由 tokenizer 决定。
训练时,模型会遇到从“只遮一个词”到“几乎整句都被遮住”的各种情况。它的任务,是利用仍然可见的左文和右文,把被遮住的位置猜回来。
训练时通常不会让同一句话从全 [MASK] 开始,一轮轮演示到完整还原。每个样本只随机选择一种损坏程度,让同一个 Transformer 学会:无论眼前坏到哪一步,下一次应该怎样修。

▲ LLaDA 式 masked diffusion 的训练流程:不同噪声比例是独立样本,Transformer 只在被遮住位置计算还原损失
三种噪声比例代表三个独立训练样本,不是同一句话从上到下连续变坏。
看到这里,你可能会想到 BERT。两者确实都做“完形填空”,但用途不同。经典 BERT 通常只挑出约 15% 的位置做一次遮罩,目标是学到好的双向文本表示;它并没有从一整排 [MASK] 出发、经过多轮逆过程生成完整回答。LLaDA 会随机经历从轻度到接近完全遮罩的各种噪声等级,并把“猜回原文”组织成一条可反复采样的去噪路径。
可以把 BERT 看成做一次完形填空的读者,把 masked diffusion 看成从满页空格开始、反复填改直到成文的生成器。
LLaDA 的训练损失可以写成:
Loss = − E [ (1/t) Σ(i ∈ M) log Pθ(正确的 xᵢ | 当前带遮罩文本 xₜ) ]
M 是被遮住的位置集合,E 表示在许多原文、噪声比例和遮罩结果上取平均。1/t 用来校准不同遮罩比例:t 越大,被遮住的位置通常越多,不能让这类样本只因为空白多就占据过大的训练权重。模型给正确词的概率越高,损失越小。
它和自回归模型仍然共享“猜错受罚、猜对奖励”的训练信号。区别在于,自回归模型只猜右边下一个;扩散模型学习恢复散落在整段文字里的空白。
五、生成:不是一口气写完,而是一轮轮改出来
生成时没有原句可以拿来对答案,模型才把训练得到的“一步修复”反复调用,把破坏过程倒过来。
模型先得到一段全是 [MASK] 的回答,然后同时预测许多位置。较确定的词可以留下,较不确定的词重新遮住,下一轮再结合已经显现的内容重猜。
每轮里,所有空位都会得到临时候选。调度器只提交一部分较确定的位置,低置信候选继续保持或重新变成 [MASK],留到下一轮再猜。在标准 LLaDA 采样里,已经提交、没有再次遮住的位置会保持不变;可修改的是仍处在草稿状态的候选,不是任何文字都能无限反悔。

▲ LLaDA 式 masked diffusion 的生成流程:每轮并行预测所有空位,只提交一部分高置信候选,其余继续保持 MASK
并行的是候选预测。每轮仍要运行 Transformer;已提交 token 保持不变,低置信位置留到下一轮再猜。
一次模型调用可以处理多个待定位置,但完整回答仍要多轮迭代。去噪步数、重遮策略、回答长度和 block 大小,都会改变质量与速度。
自回归更像一个沿路即兴讲故事的人:走到哪里,写到哪里。
扩散更像一个做填字游戏的编辑:先填最有把握的格子,再让已经填出的答案互相提供线索。
这种生成顺序更贴近补全文本中间、同时满足多个约束、修改代码,以及让开头和结尾彼此照应的问题。结构更顺手,当然不等于每项任务都已经做得更好。
六、另一种生成秩序,已经成为现实选择吗?
下面不是一张“扩散战胜自回归”的排行榜,只检验另一种生成秩序是否已经从概念走向现实:它能否训练到足够规模,能否带来真实速度,又能否接进成熟系统。
扩散生成文字并不是 2026 年才出现。2022 年的 Diffusion-LM 已经能在连续词向量上去噪,并展示细粒度可控生成。真正让这条路线升温的,是三个现实问题。
第一个问题:它能不能像主流 LLM 一样从零训练,而不是改装一个现成模型?
2025 年的 LLaDA 给出了 8B、2.3 万亿训练 token 的尝试。在作者的小规模同设置对照中,扩散路线能与自回归基线竞争;8B 模型在若干上下文学习任务上接近 LLaMA 3 8B。它还在一个特定的诗句反向补全任务上超过 GPT-4o——这是受控任务,不代表反转诅咒已被普遍解决,却足以说明上下文学习并不专属于从左到右的模型。2026 年 6 月发布的 iLLaDA 又把预训练扩大到 12 万亿 token,并报告了通识、数学和代码上的广泛改善。
第二个问题:并行生成能不能真的换来速度?
Google 先用 Gemini Diffusion 展示实验方向,随后在 2026 年 6 月 10 日开放 DiffusionGemma。它每次前向都会处理一块 256-token canvas,让这些位置双向互看并同时产生候选;这不等于一次前向就确认 256 个最终 token,模型卡给出的典型推进量约为每轮 15—20 个。Google 报告它在单张 H100 上超过每秒 1000 token,专用 GPU 场景最高约 4 倍提速。
同一份官方说明也承认,DiffusionGemma 的总体输出质量低于标准 Gemma 4,速度优势主要面向本地、低并发推理。高并发云服务可以用 batching 让自回归模型充分占满计算设备,扩散的数字不能原样搬过去。它已经找到真实适用场景,还没有拿到所有场景的通行证。
第三个问题:它能不能接进已经成熟的自回归系统?
NVIDIA 在 6 月 25 日发布的 TwoTower 选择混合路线:冻结的自回归塔理解已确定的上下文,双向扩散塔修改当前 block。论文报告,在其设置下保留自回归基线 98.7% 的综合 benchmark 质量,同时把实际生成吞吐提高到 2.42 倍。
这些新结果仍需独立复现,但研究焦点已经明显变化:问题不再是“文字能不能扩散”,而是它能不能规模化、能不能更快,以及怎样进入真实系统。
七、并行不是免费午餐
如果扩散语言模型可以同时猜很多 token,为什么今天所有聊天机器人还没有全部换掉?
因为“同时猜很多位置”和“总计算更少”不是一回事。
自回归模型每一步通常只新增一个 token,但它拥有成熟的 KV cache:前文算过的注意力键和值可以复用。扩散模型每轮能推进多个位置,可这些位置还会变化;一个词被改掉以后,其他位置对它的注意力表示也可能跟着变化。
这会带来几笔账:
一轮并行预测以后,往往还要多轮重算; 全双向注意力很难直接使用自回归模型那套精确 KV cache; 有些模型需要先决定输出长度,而自然语言回答本来是可变长的; 去噪步数越多,质量可能更高,延迟也会增加; 硬件利用率、batch、上下文长度和服务调度,都会改变最终速度。
2026 年 7 月 5 日的 Sangam 论文,研究的已经不是抽象的生成公式,而是扩散 LLM 怎样进入真实服务系统。对它研究的全序列双向扩散模型来说,一个位置的提交会改变其他位置的 KV activation,因而不能直接照搬精确的自回归式跨轮缓存,只能周期刷新并在中间近似复用。TwoTower 这类能缓存已提交因果上下文的混合架构不在这个结论里。模型论文中的并行潜力和用户真正感到的延迟之间,还隔着一整层系统工程。
扩散用“多位置一起猜”换来并行机会,也用“反复回看整份草稿”付出额外计算。它只是换了一种结账方式。
八、生成顺序不是二选一,而是一条连续谱
自回归和扩散未必是一场只能活一个的战争。
2025 年的 Block Diffusion 已经尝试折中:段落仍然一块一块向右生成,但每个 block 内部可以并行去噪。这样既保留任意长度和一部分缓存能力,又不必退回到一次只能决定一个 token。
2026 年的 Set Diffusion 又把固定 block 放松成灵活位置的 token 集合。NVIDIA TwoTower 则让自回归上下文与扩散修改器各做擅长的部分。
这几条路线可以放在同一张图里:
自回归 一个 token → 下一个 token → 再下一个 token Block Diffusion 一块 token ⇄ 块内修改 → 下一块 token ⇄ 块内修改 完整扩散 整段 [MASK] ⇄ 多轮全局预测与修改 ⇄ 完整回答
它们的差别,是每写一个 token 就承诺、每写一个 block 再承诺,还是等整份草稿收敛后再承诺。实时对话看重首 token 延迟和流式反馈,自回归仍然自然;代码补全、局部编辑和强约束生成更适合双向修改;长答案则可能由自回归骨架和扩散 block 共同完成。
扩散之外,其他尝试改的是不同层
语言模型的变化不只发生在生成顺序上。几条常被放在一起讨论的路线,其实在松动不同的默认绑定:
训练信号
代表尝试:Multi-Token Prediction
它真正改变什么:同一个 causal Transformer 同时预测多个未来 token,让隐藏状态看得更远
推理算法
代表尝试:Speculative Decoding
它真正改变什么:小模型先起草,大模型一次验证多个候选;通常仍保持原来的自回归分布
计算骨架
代表尝试:Mamba / SSM
它真正改变什么:用选择性状态空间块替代 Transformer 的 Attention+MLP 主块,但通常仍逐 token 自回归生成
推理空间
代表尝试:Coconut
它真正改变什么:中间思考直接在连续隐藏状态里传递,不必每一步都先翻译成文字
它们不是扩散模型的四个竞争对手。自回归与扩散讨论“输出按什么秩序形成”;speculative decoding 讨论“怎样更快验证输出”;Mamba 讨论“用什么网络计算”;Coconut 讨论“中间推理是否必须先变成语言”。未来更像这些轴自由组合,而不是某一个新名词接管全部 AI。
九、说话的顺序,不等于思考的顺序
语言天然沿时间展开。
一句话必须有第一个声音,才会有第二个声音。纸面也被排成一行一行。我们很容易因此相信,意义本身也是从左到右诞生的。
可真实的理解往往不是一条线。
一个代词的意思,可能要读到后文才确定;一篇文章的开头,可能要写完结尾才知道应该怎样改;一个数学证明是否成立,要看所有局部步骤能不能同时满足全局约束。
即兴说话有点像自回归:前一句已经出口,下一句必须接住它。反复写作有点像扩散:先留下粗糙骨架,再让局部在整体中不断重写。
这只是帮助理解的类比,不是 AI 已有思维或意识的证据。它揭开的只是一个长期被产品界面遮住的事实:
顺序是表达的物理条件,不一定是形成意义的唯一计算方式。
复杂问题很少只要求一直向前。我们会试探,会发现矛盾,会因为结果不对而回到前提。扩散模型增加的不是神秘的内心,而是让眼前这一步暂不定稿的计算空间。
智能未必是第一步永远更准,也包括知道哪一步还不该定稿。
结尾:把上一个词收回来
今天,当你打开一个聊天机器人,光标大多仍会一路向右。
这条路线没有失效。自回归模型仍然强大、稳定,而且拥有最成熟的训练与部署体系。
但那个画面已经不再代表语言模型唯一可能的形状。
图像扩散模型曾让一只猫从噪声里出现。现在,文字里的噪声变成一排空白,去噪变成一次次补词、删词和重写。句子不再只能沿着时间被推出去,也可以先作为一个不完整的整体存在。
AI 的下一步未必是从自回归换成扩散,而是按任务选择何时承诺:对话可以逐词给出,编辑可以整块修改,长答案则在两者之间切换。
真正被打开的,是生成顺序本身。
当模型看见整句话以后,仍然知道哪些词还不该成为定稿,这或许比单纯更快地吐出下一个词更接近我们期待的智能。
本公众号延伸阅读
- 《从噪声中看见猫——扩散模型的数学美学》
- 《马尔可夫的幽灵——从预测下一个词到预测下一步行动》
- 《推理是一种坍塌吗?——AI 思考时,内部到底发生了什么》
- 《AI 会思考还不够,它还得学会验算》
参考资料
Xiang Lisa Li et al., Diffusion-LM Improves Controllable Text Generation, NeurIPS 2022, arXiv:2205.14217. Shen Nie et al., Large Language Diffusion Models, ICML 2025, arXiv:2502.09992. Google, Gemini Diffusion is our new experimental research model, 2025-05-20. Google DeepMind, Gemini Diffusion, model page, accessed 2026-07-12. Google, DiffusionGemma: 4x faster text generation, 2026-06-10. Google, DiffusionGemma model card, accessed 2026-07-13. Marianne Arriola et al., Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models, arXiv:2503.09573, 2025. Shen Nie et al., Improved Large Language Diffusion Models, arXiv:2606.25331, 2026. Fitsum Reda et al., Nemotron-Labs-TwoTower: Diffusion Language Modeling with Pretrained Autoregressive Context, arXiv:2606.26493, 2026. Thomas Bertolani et al., Diffusion Language Models: An Experimental Analysis, arXiv:2606.19475, 2026. Marianne Arriola and Volodymyr Kuleshov, Set Diffusion: Interpolating Token Orderings Between Autoregression and Diffusion for Fast and Flexible Decoding, arXiv:2607.01775, 2026. Nitin Kedia et al., Sangam: Efficiently Serving Diffusion LLMs with the AR Stack, arXiv:2607.04206, 2026. Fabian Gloeckle et al., Better & Faster Large Language Models via Multi-token Prediction, arXiv:2404.19737, 2024. Yaniv Leviathan, Matan Kalman, and Yossi Matias, Fast Inference from Transformers via Speculative Decoding, ICML 2023, arXiv:2211.17192. Albert Gu and Tri Dao, Mamba: Linear-Time Sequence Modeling with Selective State Spaces, arXiv:2312.00752, 2023. Shibo Hao et al., Training Large Language Models to Reason in a Continuous Latent Space, arXiv:2412.06769, 2024.

文章精选:
1.编程时代已终结!ClaudeCode创始人断言:编程就像发短信一样自然,首曝个人最新工作流:自创Sloop循环,单日PR达150!传统SaaS护城河崩掉
