迷你世界Laplace 人工智能 / 图版 F64 — 人工智能

扩散语言模型

从左到右写,一个词元算一次;扩散语言模型先排满空位,每轮同时猜、留下最有把握的,几轮填满;轮数越少越快,也越容易拼错。

向下滚动

01

两种写法

大多数聊天模型从左到右写:每做一次前向计算,写出下一个词元。2025 年,有几种语言模型换了写法:先把整段回答排成空位,再一轮一轮同时填。它们叫扩散语言模型,比如 LLaDA 8B、Inception Labs 的 Mercury 和 Google DeepMind 的 Gemini Diffusion。

台上用木活字排了两版渡船传单,每个字都由本页的同一个玩具模型来定。后面的铜盘按次序排,一个接一个,旁边的计数器排一个记一次;前面的铁版框按扩散的办法,一轮填一批,旁边的表盘记轮数。每版 48 个字:后面算了 48 次,前面 8 轮。

每版 48 个字 · 从左到右:48 次前向计算 · 扩散:8 轮

02

按次序,一个接一个

从左到右的语言模型叫自回归模型。每一次前向计算,它读进前面写好的全部词元,算出下一个词元的概率,挑一个写下,再接着算下一个。写 n 个词元就要算 n 次,一次接一次:下一个要等上一个写完。

铜盘里的这一版就是这样排的:排好一个,计数器加一,再排下一个。活字的字面是反刻的,所以从台前看,每行从右往左排,第一行在最里面,印到纸上才是正的。

绕开“一次一个”的另一种办法,是让小模型先猜几个、大模型一次核对,见“推测解码”这一页。

48 个字 · 48 次前向计算 · 每次一个

03

先排满空位

扩散语言模型先定下回答有多长,在每个位置放一个特殊的掩码词元,意思是:这里有一个词元,还没定。LLaDA 把回答的长度当作事先设好的参数。

排字工有个老办法:缺某个字时,先倒插一个同样宽的字占住位置,字脚朝上,等有了对的字再换上。前面这一版的空块就是这样的倒字:48 个位置全空着,表盘指着 0。

图像扩散从一团噪声开始,一步步去掉噪声;这里的“噪声”是掩码:加噪是把词元换成掩码,去噪是把掩码填回词元。图像和视频的那一种,见“视频扩散模型”这一页。

48 个空位 · 0 轮 · 每个空位是一个掩码词元

04

每个空位都猜一个

每一轮,模型读整页:已经定下的字和所有空位,左边右边都看得见,因为它用的 Transformer 不加因果掩码。一次前向计算,它给出每个空位上每个词元的概率;取最可能的那个作为猜测,那个概率就是它的把握。

台上,每个空块上方都浮起一个木字,就是这一轮的猜测。这一页的“模型”是本页的玩具:它只读过几张这样的传单,按读过的次数算出每个位置上各个字的比例。真正的扩散语言模型用神经网络,从上万亿个词元里学这件事。

1 次前向计算 · 48 个空位各一个猜测 · 各带一个把握

05

留下最有把握的

猜完以后只留下一部分。LLaDA 默认留下把握最大的那些,其余的换回掩码,叫“低置信度重掩码”。每轮留几个是事先排好的:8 轮写 48 个,每轮 6 个。换回去的位置下一轮再猜,那时它能看见更多已经定下的字。在这种做法里,定下的字不会再改。

也可以随机挑要留下的。LLaDA 论文里,回答长度和步数都是 256 时,留最有把握的,在 GSM8K 数学题上得 70.0 分;随机留下,只有 21.3 分。

8 轮 · 每轮留 6 个 · 其余换回掩码 · GSM8K:留最有把握的 70.0,随机 21.3(256 步)

06

学的是填空

训练像做填空题:拿一段真实的文字,随机抽一个比例 t(0 到 1 之间),每个词元各以概率 t 换成掩码,让模型猜被遮住的词元,只在遮住的位置算错。t 小,是几乎写完的一页;t 接近 1,是几乎全空的一页。所以从全空到只差一个字,每一步它都练过。

LLaDA 的损失还要乘以 1/t;论文写明,这样的损失是负对数似然的上界,所以它是一个生成模型。BERT 也做填空,但只用固定的比例。LLaDA 8B 从头训练,读了 2.3 万亿个词元,用了 13 万⁠个 H800 GPU 小时,再用 450 万对问答微调。

随机遮住比例 t 的词元 · 只在遮住的位置算损失 · 台上 t = 15%、50%、85%

07

轮数少,字会拼错

8 轮写 48 个,每轮 6 个;1 轮写完,就是 48 个同时定下。同一轮里定下的字彼此看不见:每个空位各取各最可能的字,合在一起可能不搭。研究扩散模型提速的论文举过例子:两个词的扑克牌型可以是 high card,也可以是 full house,各取各的,就可能拼出 high house。

台上这一页用 1 轮写完,有 2 行拼出了它从没读过的句子(HUD 里红色的行)。LLaDA 的作者说,步数等于回答长度、每步只定一个词元时效果最好;论文表格里的成绩都是这样得到的。少用几轮会快,但会掉分。

1 轮:48 个同时定下,2 行拼错 · 8 轮:没有拼错 · LLaDA 的表格成绩:每步一个词元

08

快在哪里

扩散语言模型省的是次数:这一页 48 个字,8 次前向计算。可每一次都要把整页连同问题重读一遍。从左到右的模型有 KV 缓存,前面算过的不用重算;这种扩散模型没有。所以次数少不等于算得少:这一页,扩散一共算了 8 × 48 = 384 个位置,从左到右只算 48 个。

厂商报告的速度:Inception Labs 说,Mercury Coder Mini 在 NVIDIA H100 上每秒约 1109 个词元(2025 年 2 月,第三方 Artificial Analysis 测的 API 速度;同一测试里 Gemini 2.0 Flash Lite 每秒 201 个)。Google DeepMind 说,Gemini Diffusion 采样每秒 1479 个词元,不含 0.84 秒的开销;它还是实验性的演示。这些数字由各家在不同的芯片、不同的题目上测得,不能直接相比。

开源的扩散语言模型,实际速度常常还不如自回归模型。Fast-⁠dLLM 给 LLaDA 补上近似的缓存,只在把握够大时一次多定几个,在 A100 上快到原来的约 8 倍,GSM8K 分数从 79.3 变成 78.5。

这一页:扩散 8 次、算 384 个位置 · 从左到右 48 次、48 个 · 厂商速度:Mercury Coder Mini 约 1109 词元/秒(H100)、Gemini Diffusion 1479 词元/秒(不含开销)

09

两边都看得见

从左到右的模型写到某处,只看得见左边。扩散模型每一轮都看整页,中间缺一段时,可以同时看着前后来填。台上这一页,第二、三行中间空着,两头已经排好,模型照着两头的字填中间。

LLaDA 的论文还比了背诗:在作者自建的 496 对中文诗句上,给一句、说出上一句,LLaDA 8B 得 45.6 分,GPT-⁠4o 得 34.3 分;说出下一句时,LLaDA 51.8 分,GPT-⁠4o 82.7 分。这是一篇论文、一组诗句上的结果。

两头已知,填中间 · 4 轮 · 倒着背诗:LLaDA 45.6、GPT-⁠4o 34.3 · 顺着背:51.8、82.7

10

还差在哪里

回答的长度要先定下,LLaDA 把它当作参数,多出来的位置填结束符。轮数少会拼错,轮数多就慢;还没有现成的 KV 缓存。

比成绩,LLaDA 8B 的基础模型和同规模的 LLaMA3 8B 互有胜负:MMLU 65.9 对 65.4、GSM8K 70.3 对 48.7,PIQA 73.6 对 80.6、MBPP 40.0 对 48.8。在 Google DeepMind 自己的表里,Gemini Diffusion 写代码和 Gemini 2.0 Flash-⁠Lite 相近,GPQA Diamond 40.4% 对 56.5%、Global MMLU 69.1% 对 79.0% 都落后。

掩码扩散只是扩散语言模型的一种:也有在连续的词向量上去噪的,有把词元换成随机词元的,还有用“分数熵”训练的。它们都还是按概率预测词元。

长度先定 · 轮数少会拼错 · 没有现成的 KV 缓存 · 成绩互有胜负

11

拆开来看

台上:铁版框、木衬和楔子锁住前面这一版,表盘记轮数;后面是铜盘里按次序排的一版,计数器记次数。字是枫木活字,字面反刻;空块是倒插的字,字脚朝上。

版框 · 木衬和楔子 · 扩散的一版 · 轮数表 · 铜盘 · 从左到右的一版 · 计数器

12

实验台

选一个轮数,看这一版怎样填满:1 轮是 48 个同时定下,48 轮是每轮一个。打开“随机留下”,每轮随机挑要留下的猜测,而不是留最有把握的;“再排一遍”换一组随机次序。

这里的模型是本页的玩具:每一行它只读过三种说法。读数只数前向计算的次数,不是运行时间。

玩具模型 · 只数前向计算的次数 · 不是运行时间

试一试在实验台上选 1 轮:48 个字同时定下,有几行拼出了模型没读过的句子?换成 8 轮呢?

模型省略了什么

台上的木活字、版框、铜盘、表盘和计数器是本页的模型。传单只有 6 行;“模型”每一行只读过三种说法,用读过的次数当概率,是本页的玩具,不是真的语言模型,它也看不见别的行。一个字代表一个词元;真实模型的词元是一个词或词的一部分。台上的猜测一个个浮起、落下,是为了看得见;真实模型一次前向计算就给出所有空位的概率。活字做成同一宽度,真实的活字宽窄不一。

几个容易误会的地方

扩散语言模型不是“并行思考”,也不是像人一样改稿:它每轮按概率给每个空位一个词元,再按规则留下一部分;在 LLaDA 这种做法里,定下的字不再改。“更快”要看条件:轮数、回答长度、硬件、有没有缓存;厂商的速度是自报的,各在各的芯片上测,不能直接比较。LLaDA 论文表格里的成绩是每步只定一个词元得到的。倒着背诗的结果只来自一篇论文、一组中文诗句。掩码扩散只是扩散语言模型的一种。排字工的倒字只是一个比方:倒字之后换上的是对的字,模型填的是它认为最可能的字。

常见问题 · 5
扩散语言模型是什么?

大多数聊天模型从左到右写:每做一次前向计算,写出下一个词元。2025 年,有几种语言模型换了写法:先把整段回答排成空位,再一轮一轮同时填。

01两种写法
自回归语言模型怎样写字?

从左到右的语言模型叫自回归模型。每一次前向计算,它读进前面写好的全部词元,算出下一个词元的概率,挑一个写下,再接着算下一个。写 n 个词元就要算 n 次,一次接一次:下一个要等上一个写完。

02按次序,一个接一个
扩散语言模型每一轮留下哪些词元?

猜完以后只留下一部分。LLaDA 默认留下把握最大的那些,其余的换回掩码,叫“低置信度重掩码”。每轮留几个是事先排好的:8 轮写 48 个,每轮 6 个。

05留下最有把握的
扩散语言模型怎样训练?

训练像做填空题:拿一段真实的文字,随机抽一个比例 t(0 到 1 之间),每个词元各以概率 t 换成掩码,让模型猜被遮住的词元,只在遮住的位置算错。t 小,是几乎写完的一页;t 接近 1,是几乎全空的一页。

06学的是填空
扩散语言模型一定更快吗?

扩散语言模型省的是次数:这一页 48 个字,8 次前向计算。可每一次都要把整页连同问题重读一遍。从左到右的模型有 KV 缓存,前面算过的不用重算;这种扩散模型没有。

08快在哪里

资料来源

  1. S. Nie 等(2025):Large Language Diffusion Models,arXiv:2502.09992(LLaDA:掩码扩散的 8B 语言模型;训练、采样、重新掩码;逆向诗句)
  2. J. Austin 等(2021):Structured Denoising Diffusion Models in Discrete State-⁠Spaces,NeurIPS 2021(D3PM:把词元换成掩码的“吸收态”加噪)
  3. S. S. Sahoo 等(2024):Simple and Effective Masked Diffusion Language Models,NeurIPS 2024(MDLM:训练目标是不同掩码比例下填空损失的加权和)
  4. Inception Labs(2025):Mercury: Ultra-⁠Fast Language Models Based on Diffusion,arXiv:2506.17298(厂商报告的速度)
  5. Google DeepMind:Gemini Diffusion(实验性模型的介绍页;厂商报告的速度和评测)
  6. C. Wu 等(2025):Fast-⁠dLLM,arXiv:2505.22618(扩散语言模型没有 KV 缓存;一次定下太多词元会伤质量)

数据

Masked diffusion for language after S. Nie, F. Zhu, Z. You, X. Zhang, J. Ou, J. Hu, J. Zhou, Y. Lin, J.-R. Wen and C. Li, “Large Language Diffusion Models” (LLaDA; arXiv:2502.09992); J. Austin, D. D. Johnson, J. Ho, D. Tarlow and R. van den Berg, “Structured Denoising Diffusion Models in Discrete State-⁠Spaces” (D3PM; NeurIPS 2021); S. S. Sahoo et al., “Simple and Effective Masked Diffusion Language Models” (MDLM; NeurIPS 2024). Speeds as reported by Inception Labs (Mercury, arXiv:2506.17298) and Google DeepMind (Gemini Diffusion); faster sampling and the cost of decoding many tokens at once after C. Wu et al., “Fast-⁠dLLM” (arXiv:2505.22618). The handbill, its wood type, the chase, the galley and the counters are this page’s model, not a laboratory’s; the toy model that fills them knows only the lines listed in docs/plates/diffusionlm/computed.py. Material presets and the model kit as on the site’s other model plates (public/looks/CREDITS.md).

本页的文字、图片和模型采用 CC BY-NC 4.0 许可:可以免费用于教学和其他非商业用途,可以修改,请注明出自 world.lapla.si。上面列出的第三方素材仍按各自的许可。

引用这幅图版

拉普拉斯的迷你世界,图版 F64《扩散语言模型》,https://world.lapla.si/zh/diffusionlm/,CC BY-NC 4.0,2026-11-05 更新。

嵌入与 API

人工智能 · 全部图版