扩散语言模型(Diffusion LLM)正成为 2026 年大模型领域最受关注的新范式之一。与 ChatGPT 这类逐 token 自回归(Autoregressive)生成不同,扩散语言模型借鉴图像生成的”去噪”思路,让一整段文本并行生成,理论上能把推理速度提升一个数量级。本文带你搞懂它是什么、为什么快,以及现在怎么上手。
一、自回归的瓶颈:为什么大模型越聊越慢
今天绝大多数大模型都是自回归的:每生成一个 token,都要依赖前面所有 token 的输出,本质是一条串行流水线。随着对话变长,KV Cache(键值缓存)不断膨胀,首 token 延迟和整体耗时几乎随长度线性增长。即便有了 MLA 多头潜在注意力 这类 KV 缓存压缩技术把显存压下来,”每一步都必须等上一步”的串行天花板依然存在。这就引出一个朴素的问题:能不能一次生成多个 token?
二、扩散语言模型是什么:从图像到文本
扩散模型的成名作是 Stable Diffusion:模型从一团纯噪声出发,经过多轮”去噪”逐步还原出图片。文本版的扩散语言模型把同样的思路搬到了离散或连续的 token 空间,目前有两条主流路线。
其一是掩码扩散(Masked Diffusion),代表是 LLaDA。它先把整句话初始化成一串 [MASK],模型在每一轮迭代里”填上”一批被遮住的 token,像填空游戏一样逐步显形。其二是连续扩散(Continuous Diffusion),代表是 Mercury,它直接在连续的潜空间里把噪声回归成词向量,再映射回离散 token。无论哪条路线,核心差异都在于并行——同一轮迭代更新的是整句的所有位置,而不是只吐出一个 token。
打个比方:自回归像一个人从左到右逐字念稿,念到第 50 个字才能确定第 51 个字;扩散模型则像一群人同时往一张被涂花的纸上补字,每轮讨论后整页都清晰一点,直到全部可读。前者信息流是单向的、严格有序的,后者是全盘协同的、可以乱序收敛的。这也是为什么扩散模型在”规划类”任务上偶尔会表现出不同于自回归的直觉。
三、它凭什么快:并行解码与常量步数
自回归生成 100 个 token 至少需要 100 步,且每一步严格串行。扩散语言模型通常只需 8 到 64 步去噪,而每一步又能同时修正整句的所有位置。最关键的区别是:它的步数不随生成长度线性增长。当然,并行不是免费的——每步要计算整句注意力,单步算力更高,但在中长文本场景里,端到端延迟常常反而更低。
需要强调,并行解码的收益在中长文本和批量场景最明显。短到十几个字的回复,启动与迭代的固定开销会抵消并行优势;但当一次要生成几百上千 token,扩散模型”步数不随长度走”的特性就会拉开差距。这也是它首先在对延迟敏感的代码补全、实时补全场景落地的原因:这些场景单次输出不长,但调用频次极高,省下的累计延迟非常可观。
| 维度 | 自回归 LLM | 扩散语言模型 |
|---|---|---|
| 生成方式 | 逐 token 串行 | 整句并行去噪 |
| 生成步数 | ≈ 输出长度(线性) | 固定 8–64 步(近似常量) |
| 并行度 | 低 | 高 |
| 长文本延迟 | 随长度明显上升 | 增长更平缓 |
| 典型代表 | GPT / LLaMA / DeepSeek | LLaDA / Mercury |
四、主流玩家:LLaDA、Mercury 与开源生态
2025–2026 年,扩散语言模型从论文走向可用。几个值得关注的项目:
- LLaDA:由 UMass Amherst 与 Genmo 提出的 8B 掩码扩散模型,已开放权重,主打可逆生成与较强的规划、推理能力,是社区实验的首选。
- Mercury:Inception Labs 推出的连续扩散商用模型,口号是”10x 速度”,提供 API 与本地部署方案,主要面向代码与高速补全场景。
- 其他探索:包括 Gemini Diffusion 等头部实验室的扩散路线尝试,行业正在快速试错。
| 方案 | 类型 | 开源 | 速度 | 适用 |
|---|---|---|---|---|
| LLaDA-8B | 掩码扩散 | 是 | 中高 | 研究 / 实验 |
| Mercury | 连续扩散 | 否(API) | 高(标称 10x) | 代码 / 高速补全 |
| 自回归基线 | 自回归 | 视模型 | 基准 | 通用 |
五、动手体验:用 Hugging Face 跑一个 Diffusion LLM
想本地体验掩码扩散,最方便的是直接拉 LLaDA 的权重。下面给出调用骨架(完整迭代去噪循环以官方 GSAI-ML/LLaDA 仓库脚本为准):
# 安装依赖
pip install transformers accelerate torch
# 加载掩码扩散模型(骨架示意)
from transformers import AutoTokenizer, AutoModelForMaskedLM
tok = AutoTokenizer.from_pretrained("GSAI-ML/LLaDA-8B-Instruct")
model = AutoModelForMaskedLM.from_pretrained(
"GSAI-ML/LLaDA-8B-Instruct", torch_dtype="auto", device_map="auto"
)
prompt = "请简要介绍扩散语言模型:"
input_ids = tok(prompt, return_tensors="pt").input_ids.to(model.device)
# 真实推理需按官方脚本做多轮"挑置信度最低的 mask 位置填回"的去噪循环
# 详见 https://github.com/GSAI-ML/LLaDA
如果你更想直接感受速度,Mercury 提供了 OpenAI 兼容的 API,几行就能调用:
import requests
r = requests.post(
"https://api.inceptionlabs.ai/v1/chat/completions",
headers={"Authorization": "Bearer <YOUR_KEY>"},
json={
"model": "mercury-coder",
"messages": [{"role": "user", "content": "用 Python 写一个快速排序"}],
},
)
print(r.json()["choices"][0]["message"]["content"])
六、当前局限:质量、采样与生态
扩散语言模型还很年轻,落地前要清楚它的短板:
| 局限 | 说明 |
|---|---|
| 质量 | 复杂推理、长程一致性上仍略逊顶级自回归模型 |
| 采样调参 | 去噪步数需权衡:太少质量差,太多反而变慢 |
| 生态 | 量化、推理引擎适配仍在早期,vLLM / SGLang 类引擎对扩散支持有限 |
也正因如此,想把它接进自己的服务时,建议先沿用成熟的大模型推理栈。例如用 One API 自建大模型网关 统一接入、用 SGLang 这类高吞吐推理引擎 兜住自回归流量,把扩散模型作为”高速分支”逐步灰度,而不是一次性替换。
七、选型建议:什么时候该用 Diffusion LLM
一句话原则:对延迟极敏感、文本偏短的场景优先考虑,超长创作与强多步推理先用自回归。
- 适合:实时补全、代码建议、批量短文本生成、对 p99 延迟敏感的在线服务。
- 不适合:超长文档创作、需要多步链式推理的复杂任务。
- 迁移成本:多数应用通过 One API 这类网关统一封装,切换模型成本很低,可以先小流量验证。
如果你已经在本地用 Ollama 管理模型权重做实验,也可以把 LLaDA 这类开源权重纳入同一套工作流,与 DeepSeek 本地部署 方案共用基础设施,降低试错成本。
八、结语
扩散语言模型不是要取代自回归,而是补齐”速度”这块短板。随着 LLaDA 开源与 Mercury 商用化,2026 年很可能出现”自回归负责深度思考、扩散模型负责高速输出”的混合架构。作为开发者,现在正是低成本的观察与试水窗口。




