扩散语言模型实战:Diffusion LLM 提速生成

扩散语言模型(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 / DeepSeekLLaDA / 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 年很可能出现”自回归负责深度思考、扩散模型负责高速输出”的混合架构。作为开发者,现在正是低成本的观察与试水窗口。

上一篇 Aider 实战:用命令行 AI 结对编程
下一篇 Web Crypto API 实战:用浏览器原生加密保护前端数据
最新评论
Docker 网络模式详解:bridge/host 生产选型 - FSData
Docker 网络模式详解:bridge/host 生产选型 - FSData
8月20日
[…] 注意最后那条:把端口绑定到 127.0.0.1,再由宿主机上的 Nginx 反代进来,比直接 -p 80:80 暴露安全得多,也方便统一做
Vue3 + TypeScript 工程化:类型安全的前端架构 - FSData
Vue3 + TypeScript 工程化:类型安全的前端架构 - FSData
8月20日
[…] Pinia 的工程化用法,可以参考我们之前的实战文章 《Vue3 组合式 API + Pinia:状态管理从入门到实战》,那里覆盖了 Sto
2026 年最值得装的 10 个 VS Code 插件(AI/前端/后端/效率全覆盖) - FSData
2026 年最值得装的 10 个 VS Code 插件(AI/前端/后端/效率全覆盖) - FSData
8月19日
[…] 状态,点一下就能起停容器,配合我们讲过的 Docker Compose 编排 […]
Redis 缓存设计:穿透、击穿、雪崩与最佳实践 - FSData
Redis 缓存设计:穿透、击穿、雪崩与最佳实践 - FSData
8月19日
[…] 缓存三大坑的本质都是”缓存失效导致请求穿透到数据库”。记住口诀:穿透用布隆、击穿用锁、雪崩用错峰。配合合理的过期策略
GitHub Actions 实战:从零搭建 CI/CD 流水线 - FSData
GitHub Actions 实战:从零搭建 CI/CD 流水线 - FSData
8月19日
[…] Docker 镜像部署。结合我们之前写的 Docker Compose 一键编排实战,可以在 CI […]