自回归(AR)模型写 256 个 token 要走 256 步,每步只落一个。扩散语言模型(language model, LM)换了一种写法:先把要写的一段全部遮住,每一步让模型同时猜所有空位,只留下最有把握的几个,几十步填满。Google 2025-05 的 Gemini Diffusion 演示、Inception 的 Mercury 系列、2026-06 开放权重的 DiffusionGemma 都属于这一类,只是噪声的具体形式各家不同,有的没有公开。这条路走得通:掩码扩散(masked diffusion)的训练目标是负对数似然(NLL)的上界,有清楚的概率解释;据作者报告,从零训练的 8B 模型 LLaDA 在不少基准上和同量级 AR 模型相当。它换来的是一次前向能落下多个 token、能利用右边的上下文、能填空;付出的是训练要学所有顺序,每一步都要重算一整块,一步落太多会前后不一致,厂商自己的同族对比里质量也更低。速度优势主要出现在并发低、显存带宽是瓶颈的时候。

待审核草稿。 这一篇还没有经过站主审阅,事实、取舍和措辞都可能修改;引用前请回到文中链接的一手资料核对。

两种写法,同一句话

自回归:每步落 1 个,只看左边
the → the tea → the tea is → the tea is cold

掩码扩散:每步预测所有空位,留下有把握的
[M] [M] [M] [M] → the [M] is [M] → the tea is cold
自回归 掩码扩散(整段) 分块扩散(block diffusion)
每步做什么 用左边预测下一个 双向读整段,预测所有空位 块与块之间从左到右,块内像整段扩散
每步落几个 1 可调,一个到几十个 同左
KV cache 精确可用 不能精确缓存 已完成的块可以
输出长度 写到 EOS 为止 事先给定 按块往后延
例子 GPT、LLaMA LLaDA 8B BD3-LM、LLaDA2.0、DiffusionGemma

本系列说的“扩散”,指离散的掩码扩散:噪声就是把 token 换成 [M]。图像里常见的连续扩散加的是高斯噪声,见 Qwen-Image 的 flow matching;文本上也有在词向量上做连续扩散的工作,但公开了细节的大模型(LLaDA、Dream、LLaDA2.0、DiffusionGemma)都是离散的。DiffusionGemma 也按块生成,不过 Google 说它的噪声是把 token 换成随机词,即均匀态(uniform-state)扩散,见第一篇最后一节。另外,“并行”说的是一次前向落下多个 token,不等于计算更少:每一步都要算整块,下面会反复用到这一点。

时间线

日期 事件 一句话
2019-04 Mask-Predict 翻译里先并行预测全部目标词,再反复遮住最没把握的重填(EMNLP 2019)
2021-07 D3PM 离散扩散框架,包括吸收态:变成 [M] 就不回来
2021-10 ARDM 任意顺序自回归和吸收态扩散是同一类模型的特例(ICLR 2022)
2023-10 SEDD score entropy;困惑度(perplexity)比之前的扩散 LM 低 25–75%,胜过 GPT-2(ICML 2024)
2024-06 MDLM、RADD 目标化简成掩码语言模型(MLM)损失的加权平均;模型不需要知道时间
2024-10 SMDM 的 scaling law 要达到同样的验证损失,约需 AR 16 倍的计算
2025-02 LLaDA 8B 从零训练 2.3T token;作者报告与同数据 AR 基线(baseline)的扩展趋势相当
2025-03 Block Diffusion 块间自回归、块内扩散,已完成的块能精确缓存(ICLR 2025)
2025-05-20 Gemini Diffusion 实验性演示,需排队申请;模型页自报平均 1479 tokens/s,不计固定开销
2025-05 Fast-dLLM 近似 KV cache 加按置信度并行落 token;自报 LLaDA 吞吐最多提高 27.6 倍(生成长度 1024)
2025-06 Mercury 技术报告 Mercury Coder Mini / Small 在 H100 上 1109 / 737 tokens/s,报告说数字来自 Artificial Analysis 的独立测评
2025-10 性能刻画 第三方测 LLaDA 对 LLaMA-3:batch 一大,AR 吞吐更高
2025-12 LLaDA2.0 从 AR 模型转换的 16B 和 100B MoE;SGLang 2025-12-19 起支持
2026-02 LLaDA2.1;Mercury 2(02-24) LLaDA2.1 能改已落下的 token;Mercury 2 自报 Blackwell 上 1009 tokens/s
2026-06-10 DiffusionGemma 开放权重 26B A4B MoE;自报最多快 4 倍,质量低于同规格 Gemma 4
2026-09-08 Mercury 2.5 自报 1107 tokens/s,没写 GPU 型号

哪些比较确定,哪些还在变

每格都对应一条带日期的公开记录。“接下来看什么信号”写的是什么样的结果会改变判断,不是预测它会发生。

比较确定 还在变 接下来看什么信号
掩码扩散的目标是负对数似然的上界,并等于任意顺序自回归的损失:RADD(2024-06)、ARDM(2021-10) 掩码和均匀态哪个更好:Sahoo 等(2026-02)在 1.7B 上发现均匀态困惑度更差、GSM8K 却更好;Google 的开发者指南说 DiffusionGemma 用均匀态,第三方的 Asaria 等(2026-06)则称它为掩码扩散 更大规模、同数据的跨家族对照;DiffusionGemma 的技术报告
同样计算下验证损失落后于 AR:SMDM 约 16 倍($6\times10^{18}$–$10^{20}$ FLOPs) 下游任务上的扩展:LLaDA 自报到 $10^{23}$ FLOPs 与同数据 AR 相当;数据重复多轮时扩散反超(Prabhudesai 等,2025-07) 10B 以上、同数据同计算、公开 checkpoint 的对照
固定并行落 token 可能损失质量:Kim 等(2025-10)在生成长度 128、块大小 32 的设置下,每步 4 个时 GSM8K 73.6 → 61.7。另外,Feng 等对最坏情况 HMM 证明了线性步数下界,但有反向过程和学习误差假设,不能直接套到所有推理任务上(适用范围) 自适应落 token 和可修改:Fast-dLLM 的置信度阈值、LLaDA2.1 的编辑、DiffusionGemma 自报每次前向 15–20 个 token 第三方测的“同质量下平均每步落几个”
双向注意力不能精确缓存,分块扩散可以:Block Diffusion(2025-03) 块多大合适,近似缓存的误差有多大 主流引擎里的稳定接口和公开基准:SGLang(2025-12 起)、vLLM(DiffusionGemma 指南给了 vllm serve 命令)
低并发时的速度优势来自用上 decode 时闲着的算力,并发高时缩小:Kim 等、Fast-dLLM 附录,以及 Google 自己对 DiffusionGemma 的说明 厂商速度数字(Mercury 2.5 的 1107 tokens/s 等)都是自报,条件不全 第三方在同硬件、同引擎、多个并发档位、同等质量下的对照
厂商自己的同族对比里质量更低:DiffusionGemma 模型卡上 AIME 2026 69.1% 对同规格 Gemma 4 的 88.3%;Gemini Diffusion 的 GPQA Diamond 40.4% 对 2.0 Flash-Lite 的 56.5% 从 AR 权重转换能否补上差距:LLaDA2.0-flash 自报平均 73.18,原模型 Ling-flash-2.0 是 72.15 转换后的模型在推理和长上下文任务上与原模型的差距

“比较确定”的意思是:有一手结果,在原论文的设置里成立;不代表换任务、换规模也成立。

接下来看什么

下面是开放问题,以及什么样的结果会改变现在的判断;不是预测。

  • 同条件的速度对照。 截至 2026 年 10 月,公开的加速数字多是 batch 1 或厂商自报。要看到优势在哪个并发区间成立,需要第三方在同一硬件、同一引擎、同等质量下扫一遍并发。
  • 前沿规模的质量差距。 DiffusionGemma 与 Gemma 4 的差距能否靠转换训练和 RL 缩小:d1(2025-04)给掩码扩散设计了 diffu-GRPO,LLaDA2.1(2026-02)加入了大规模 RL。重点看推理和长上下文。
  • 服务栈。 SGLang 的 dLLM 调度默认用 FDFO:一个请求的当前块一解完就离开批次,不用等同批里慢的请求(SGLang 文档,截至 2026-10)。它和 vLLM 对 DiffusionGemma 的支持在高并发下的吞吐和尾延迟,还没有公开实测。
  • 数据受限时的优势。 Prabhudesai 等(2025-07)发现数据重复多轮时扩散更划算;高质量数据成为瓶颈时,这一点能否在更大的模型上成立。
  • 扩散当草稿模型。 DFlash 一类“扩散写草稿、AR 验证”的做法不改变输出分布,它会不会比原生扩散 LM 更早成为部署的主流。

这一组怎么读

先读这些会更顺:BERT(遮盖与双向 encoder)、语言模型目标(自回归的似然和训练、生成的错位)、解码策略、KV cache和 roofline 与 decode 的 batch。相邻的几篇:DFlash把分块扩散用作 AR 模型的草稿模型;MTP讲一次预测多个 token 的训练目标;测试时计算讲多花推理计算换质量,ReMDM 一类“步数越多越好”的采样器也属于这个问题。

  1. 掩码扩散在训练什么:前向遮盖、$1/t$ 加权,和 BERT 的 MLM 差在哪里;用两个 token 手算“目标等于所有顺序的平均”;LLaDA 的规模和扩展说法该怎么读
  2. 解码步数、缓存与真实速度:逐步填空和重遮,一步落几个,KV cache 为什么失效、分块扩散怎么补;用教学模型在同一张 H100 上手算低并发和高并发的账;厂商数字和第三方测量;和 DFlash 的关系
  3. 复习题:面试题和自检
本页术语 3
语言模型 language model, LM
对文本序列建模,用上下文预测或生成后续内容
困惑度 perplexity
exp(交叉熵),语言模型的常用指标
基线 baseline
用来比较新方法的参考方法或配置