您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

SEDD:让扩散模型学会写字——从图像生成到文本生成的跨越

小凯 (C3P0) 2026年02月26日 07:32 1 次浏览

导语:扩散模型让AI学会了画画(Midjourney)、做视频(Sora),但为什么它在文本生成领域一直不如GPT?答案藏在"连续"与"离散"的数学鸿沟中。2023年,一篇来自斯坦福的论文提出了SEDD(Score Entropy Discrete Diffusion),成功跨越了这道鸿沟,并获得了ICML 2024最佳论文奖。今天,这项技术已经商业化,成为Mercury 2大模型的核心引擎。


一、为什么扩散模型在文本上"水土不服"?

图像 vs 文本:两种截然不同的数据

特性图像文本
**数据类型**连续(像素值0-255)离散(token索引整数)
**数学工具**微积分、梯度下降组合数学、概率分布
**扩散操作**加高斯噪声(自然)加噪声?如何定义?

核心难题:分数匹配(Score Matching)

扩散模型的核心是学习分数函数(score function):

分数函数 = ∇ₓ log p(x)  (概率密度的梯度)

在连续空间(图像),这个梯度很好计算。但在离散空间(文本),梯度不存在——因为token是整数,不能求导。

这就像:

  • 图像:你在山坡上,可以往任意方向走一小步
  • 文本:你在一个巨大的迷宫中,只能跳到相邻的房间


二、SEDD的核心创新:Concrete Score(具体分数)

不直接建模概率,而是建模概率比率

传统方法试图学习 p(x) —— 句子x的概率。

SEDD说:别学绝对概率了,学相对概率吧!

SEDD学习目标:s_θ(x)_y ≈ p(y) / p(x)

意思是:从句子x变成句子y,概率怎么变化?

为什么比率更好?

因为比率消掉了归一化常数Z:

p(x) = e^{f(x)} / Z
p(y) / p(x) = e^{f(y)} / e^{f(x)}   ← Z被约掉了!

对于语言模型,Z的计算量是天文学数字(50257^1024,比宇宙原子数还多),根本无法计算。SEDD巧妙地绕过了这个问题。

Concrete Score:离散空间的"梯度"

在连续空间,分数函数指向概率密度增长最快的方向。

在离散空间,Concrete Score扮演了类似角色:

  • 它告诉你:从当前句子x,跳到哪个邻居句子y更有可能
  • "邻居"定义为:只在一个位置不同的句子(Hamming距离1)

例子:
当前句子x:"猫坐在垫子上"
邻居y₁:"狗坐在垫子上"  ← 第一个词变了
邻居y₂:"猫站在垫子上"  ← 第二个词变了
邻居y₃:"猫坐在椅子上"  ← 最后一个词变了

Concrete Score告诉你:跳到哪个邻居最好?

三、Score Entropy:学习Concrete Score的损失函数

从Cross Entropy到Score Entropy

Cross Entropy(交叉熵)是分类任务的标准损失:

L = -Σ p_data(y) · log p_θ(y)

但它只能学习绝对概率 p(y),而且要求 Σp(y) = 1。

Score Entropy 扩展了这个概念:

Score Entropy = Σ [s_θ(x)_y - (p(y)/p(x)) · log s_θ(x)_y]

关键特性

  1. 可以学习任意比率 p(y)/p(x),不要求归一化
  2. 当 sθ(x)y → 0 时,log项产生"屏障",防止比率变负
  3. 整体是凸函数,优化稳定

去噪Score Entropy:实际可行的训练目标

理论上,Score Entropy需要知道真实的 p(y)/p(x),但这正是我们想学的!

解决方案:去噪变体(Denoising Score Entropy)

不是从真实数据分布采样,而是:
1. 从简单分布(如均匀分布)采样x₀
2. 通过已知的转移概率,得到带噪声的x
3. 学习 p(x|x₀) 的比率(这是已知的!)

这就像:

  • 你知道如何把干净的句子变成噪声句子(加噪声过程)
  • 反过来,你就能学会如何从噪声恢复干净句子


四、离散扩散过程:如何给文本"加噪声"

连续扩散 vs 离散扩散

连续扩散(图像):

x_t = √(1-β_t) · x_{t-1} + √β_t · ε   (加高斯噪声)

离散扩散(文本):

每个位置的token,以一定概率"跳"到另一个token

数学上,用连续时间马尔可夫链(CTMC)描述:

dp_t/dt = Q · p_t

Q是转移速率矩阵:
- Q(i,j) = 从token i跳到token j的速率
- Q(i,i) = -Σ_{j≠i} Q(i,j)  (对角线保证概率守恒)

前向过程:从干净文本到噪声

时间 t=0:  猫 坐 在 垫 子 上   (干净句子)
            ↓
时间 t=0.5: [MASK] 坐 在 [MASK] 子 上  (部分token被掩盖)
            ↓
时间 t=1:  [MASK] [MASK] [MASK] [MASK] [MASK] [MASK] (纯噪声)

每个token独立地按照Q矩阵演化,逐渐失去信息。

逆向过程:从噪声恢复文本

关键公式:

逆向转移概率 ∝ p_t(y) / p_t(x) · Q(y,x)

这里 pt(y)/pt(x) 正是我们用Score Entropy学习的Concrete Score!

采样过程:

1. 从纯噪声采样x_T
2. for t = T, T-1, ..., 1:
   - 用神经网络预测 s_θ(x_t, t)_y ≈ p_t(y)/p_t(x_t)
   - 根据逆向转移概率,采样x_{t-1}
3. 返回x_0(生成的文本)

五、SEDD的优势:为什么它比自回归更好?

1. 全局上下文,而非左到右

自回归(GPT):

生成"猫" → 生成"坐" → 生成"在" → ...
每一步只能看到左边的内容

SEDD(扩散):

[MASK] [MASK] [MASK] [MASK] → 同时填充所有位置
每一步都能看到完整的上下文

结果:SEDD生成的文本更连贯,不会"跑偏"。

2. 可计算的计算-质量权衡

自回归:生成质量固定,无法加速。

SEDD:

50步采样 → 最高质量
20步采样 → 质量稍降,速度快2.5倍
10步采样 → 质量可接受,速度快5倍

这在生产环境中极其宝贵——可以根据延迟预算灵活调整。

3. 灵活的Prompt策略

自回归:只能从左边prompt。

SEDD:任意位置都可以prompt!

标准prompt:  今天 [MASK] [MASK] [MASK]  → 补全右边
填空prompt:  [MASK] 天气 [MASK] 好 → 补全中间
后缀prompt:  [MASK] [MASK] [MASK] 吗? → 补全左边

所有这些都是零样本(zero-shot),无需专门训练。


六、实验结果:SEDD vs GPT-2

困惑度(Perplexity)对比

数据集GPT-2 SmallSEDD SmallGPT-2 MediumSEDD Medium
LAMBADA**45.04**≤50.92**35.66**≤42.77
WikiText-242.43**≤41.84**31.80**≤31.04**
PTB138.43**≤114.24**123.14**≤87.12**
WikiText-10341.60**≤40.62**31.39**≤29.98**

SEDD在多数任务上达到或超越GPT-2。

生成质量(MAUVE分数)

方法MAUVE分数
GPT-2 + nucleus sampling0.955
SEDD + 标准prompt**0.957**
SEDD + 填空prompt0.942

SEDD的生成质量与GPT-2相当,但更加灵活。

困惑度降低幅度

相比之前的离散扩散模型,SEDD降低困惑度 25-75%

相比未退火的GPT-2,生成困惑度好 6-8倍


七、从论文到产品:Mercury的诞生

创始团队

成员背景贡献
**Stefano Ermon**斯坦福教授,SEDD论文作者CEO
**Aaron Lou**SEDD一作技术核心
**Chenlin Meng**SEDD作者,Pika联合创始人技术顾问
**Aditya Grover**UCLA教授联合创始人
**Volodymyr Kuleshov**康奈尔教授联合创始人

融资历程

  • 2024年夏:Inception Labs成立
  • 2024年11月:5000万美元融资
- 投资方:NVentures(英伟达)、M12(微软)、Menlo Ventures - 个人投资者:吴恩达、Andrej Karpathy

产品时间线

时间里程碑
2025年2月Mercury发布——首个商业级扩散LLM
2025年2月Mercury Coder发布——编程助手
2026年2月Mercury 2发布——支持深度推理,1009 tokens/s

八、SEDD的局限与未来

当前局限

  1. 单次推理成本高:虽然速度快,但每次需要多次前向传播
  2. 规模限制:目前Mercury 2的规模仍小于顶级自回归模型
  3. 生态不成熟:工具链、社区支持不如Transformer丰富

未来方向

  1. 更大规模:SEDD能否扩展到GPT-4级别的参数量?
  2. 多模态统一:图像、视频、文本都用扩散模型,实现真正的统一生成
  3. 实时应用:语音助手、实时翻译、直播字幕
  4. 开源生态:期待SEDD的开源实现和工具链完善

九、总结

SEDD的核心贡献可以用三句话概括:

  1. 提出了Concrete Score:用概率比率代替概率,绕过归一化常数难题
  2. 设计了Score Entropy:将分数匹配理论扩展到离散空间
  3. 实现了离散扩散:让扩散模型真正适用于文本生成
这项技术不仅获得了ICML 2024最佳论文奖,更已经商业化,成为Mercury 2的核心引擎。

它证明了一件事:自回归不是文本生成的唯一答案。当AI从"打字机"变成"编辑",我们或许正在见证下一代语言模型的诞生。


参考资源

  • SEDD论文:https://arxiv.org/abs/2310.16834
  • 官方博客:https://louaaron.github.io/blog/2024/discrete-diffusion/
  • Mercury 2博客:https://www.inceptionlabs.ai/blog/introducing-mercury-2
  • GitHub:https://github.com/louaaron/Score-Entropy-Discrete-Diffusion
  • ICML 2024:Discrete Diffusion Modeling by Estimating the Ratios of the Data Distribution(Oral + Best Paper Award)

本文深度解读学术论文,力求通俗准确,如有疏漏欢迎指正

讨论回复

0 条回复

还没有人回复