一个直觉性的问题
Stable Diffusion 生成图片的效果已经惊艳世界。DALL-E 3、Midjourney、Flux——扩散模型在图像生成领域称霸毫无争议。
但为什么没有人用扩散模型生成文字?
答案很简单:文字是离散的,扩散过程是连续的。
图片是像素矩阵,每个像素是一个连续值(0-255 的浮点数)。你可以往上面加高斯噪声,再训练一个网络把噪声去掉——这就是扩散模型的核心。
但文字是一个个离散的 token。你不能给”猫”这个字加 0.3 个单位的噪声——它要么是”猫”,要么不是。
Continuous Latent Diffusion Language Model(CLDLM) 给出了一个巧妙的解决方案:先把离散的 token 映射到连续空间,再在连续空间上做扩散。
核心思路
三阶段架构
编码阶段: token序列 → [Encoder] → 连续潜向量 z₀
扩散阶段: z₀ → [加噪] → zT → [去噪网络] → z₀'
解码阶段: z₀' → [Decoder] → token序列
1. 编码器(Text → Continuous Latent)
编码器把离散的 token 序列映射到连续的潜空间。这不是简单的 embedding lookup——它需要捕获 token 之间的语义关系,生成的潜向量必须是”可扩散的”(即在连续空间中具有良好的拓扑结构)。
常见做法:使用预训练的 Encoder-Decoder 模型(如 T5 的 Encoder 部分),或者训练一个 VAE(变分自编码器)来学习潜空间。
2. 扩散去噪网络(核心)
在潜空间中执行标准的扩散过程:
前向过程(训练时):给干净的潜向量 z₀ 逐步添加高斯噪声,得到完全噪声化的 zT
z₀ → z₁ → z₂ → ... → zT (纯噪声)
反向过程(推理时):从纯噪声 zT 开始,用去噪网络逐步恢复 z₀
zT → z_{T-1} → ... → z₁ → z₀' (去噪结果)
去噪网络通常是一个 Transformer,接收当前的噪声向量和时间步 t 作为输入,预测噪声分量。
3. 解码器(Continuous Latent → Text)
把去噪后的潜向量映射回离散 token。这是一个非平凡的步骤——因为潜向量是连续的,解码器需要做一个”软到硬”的转换。
常见方法:
- 直接用线性层 + Softmax 映射到 vocab 分布
- 使用预训练解码器(如 T5 的 Decoder)
- 对潜向量做最近邻搜索(找最接近的 token embedding)
与自回归 LLM 的本质差异
| 维度 | 自回归 LLM (GPT/Claude) | CLDLM |
|---|---|---|
| 生成方式 | 从左到右逐 token | 全局并行去噪 |
| 输出类型 | 每步输出一个 token 的概率分布 | 每步输出整个序列的潜向量更新 |
| 全局一致性 | 只能看到已生成的前缀 | 每步都能看到整个序列的草稿 |
| 流式输出 | 天然支持 | 不支持(需要所有去噪步完成) |
| 可编辑性 | 困难(需要 re-generate) | 天然支持(在潜空间中局部修改) |
| 训练效率 | 高(Teacher Forcing) | 较低(需要大量去噪步训练) |
| 推理并行度 | 低(序列化) | 高(所有位置并行) |
最有价值的差异:全局一致性
自回归模型的一个本质缺陷是曝光偏差(Exposure Bias)——训练时模型看到的是真实的前缀(Teacher Forcing),推理时看到的是自己生成的前缀。这导致错误会累积:一旦早期生成了一个不好的 token,后续内容会越跑越偏。
CLDLM 没有这个问题。去噪过程中,网络始终能看到整个序列的当前状态,可以同时修正所有位置的”错误”。这在需要全局一致性的任务中优势明显:
- 摘要生成:需要兼顾整篇文章的要点
- 诗歌/对联:需要首尾呼应、对仗工整
- 翻译:需要考虑源语言的全局语义
- 受控生成:需要同时满足多个约束条件
技术挑战
挑战 1: 离散-连续的鸿沟
文本的离散性是根本性的挑战。即使映射到了连续空间,潜向量的分布也不如图片那样”自然地”适合扩散过程。
解决方案:
- Self-Conditioning: 在去噪过程中,把上一步的去噪结果作为条件输入,帮助网络更好地收敛
- Bit Diffusion: 将 token ID 编码为二进制向量(如 8-bit),在连续的二进制空间中做扩散
- Absorbing Diffusion: 不使用高斯噪声,而是将 token 随机替换为 [MASK],去噪过程就是预测 mask 位置的原始 token
挑战 2: 长度泛化
自回归模型的输出长度是灵活的——一直生成到出现 EOS token 为止。但 CLDLM 需要预先指定潜向量的长度(即输出序列长度),这对长度不确定的生成任务不友好。
现有方案:
- 分段生成:先生成一段,不够再接着生成(但丢失了全局一致性优势)
- 长度预测器:用一个辅助模型预测输出长度
- 变长潜空间:在 VAE 编码器中引入动态长度压缩
挑战 3: 推理效率
去噪过程通常需要 50-200 步迭代,虽然每步可以并行处理所有位置,但总计算量仍然很大。
加速方案(从图像扩散模型借鉴):
- DDIM 采样:将 1000 步去噪压缩到 50 步,质量损失可控
- 一致性模型(Consistency Model):训练网络在 1-4 步内完成去噪
- 蒸馏:用多步去噪的结果训练少步去噪的学生模型
2026 年的研究进展
MDLM(Masked Diffusion Language Model)
将 MLM(Masked Language Modeling)和扩散过程统一:前向过程是逐步 mask token,反向过程是逐步 unmask。在多个基准上超越了 GPT-2 级别的自回归模型。
SEDD(Score Entropy Discrete Diffusion)
在离散空间上直接定义扩散过程,避免了连续化编码的信息损失。用 score matching 替代传统的去噪目标,训练更稳定。
Plaid 1B
Meta 训练的 1B 参数扩散语言模型,在受控生成任务(情感控制、主题控制)上显著优于同等规模的自回归模型。这是目前公开的最大规模文本扩散模型。
工程前景判断
短期(2026-2027)
- 扩散语言模型在特定任务上开始实用化:文本编辑、受控生成、短文本翻译
- 作为自回归模型的辅助模块出现:用扩散模型做”修订”阶段,自回归做”初稿”
- 模型规模突破 10B,缩小与自回归模型的差距
中期(2027-2028)
- 混合架构成为主流:自回归 backbone + 扩散 refinement head
- 推理框架成熟,类似 vLLM 的扩散模型推理引擎出现
- 首个生产级扩散语言模型产品面世
长期(2028+)
- 扩散语言模型在多模态场景中与视觉扩散模型统一
- 文本-图像-视频-音频的统一生成框架
- 可能出现全新的训练范式
对开发者的建议
- 现在不需要切换:自回归模型(GPT、Claude、Llama)在 2026 年仍然是生产首选
- 关注混合架构:当出现”自回归 + 扩散”的混合模型时,可能是性能跃升的节点
- 学习扩散理论:理解 DDPM、Score Matching、Classifier-Free Guidance 等基础概念
- 关注 Hugging Face Diffusers 库:目前主要支持图像扩散,但文本支持在逐步加入
扩散语言模型是一个”看得见终点但还在路上”的方向。它不会在短期内替代自回归模型,但代表了”下一代 LLM 架构可能长什么样”的重要探索。