Diffusion-LM精读:扩散模型如何实现细粒度文本可控生成

可控文本生成的核心难题
在自然语言生成领域,如何在不重新训练语言模型的前提下控制其输出行为,始终是一个悬而未决的难题。过去的主流方案大多依赖自回归语言模型,通过「即插即用」(Plug and Play)的方式借助分类器引导生成。
自回归语言模型(如GPT系列)按照从左到右的顺序逐个token生成文本,每一步的生成都以前面已生成的token为条件。这种逐步生成的机制意味着模型在生成当前词时无法"看到"未来的上下文,导致其在需要全局规划的任务中天然受限。PPLM(Plug and Play Language Models)和FUDGE等「即插即用」方法的核心思路是:保持预训练语言模型的参数不变,在解码阶段通过一个额外训练的轻量级分类器来调整生成概率分布,从而引导输出满足特定属性。具体来说,PPLM通过计算分类器关于模型隐藏状态的梯度,在生成过程中动态调整隐藏状态的方向,使输出更符合目标属性;FUDGE则训练一个预测"未来是否满足属性"的判别器,在每一步对候选token进行重新加权。然而,由于自回归模型的离散采样过程不可导,分类器的梯度信号只能在有限的局部范围内发挥作用,难以实现跨越整个句子的结构性控制。这类方法在情感、主题等简单属性的控制上表现尚可,但面对句法结构、语义跨度这类需要全局规划的细粒度控制任务时,往往力不从心。
本文精读的论文《Diffusion-LM Improves Controllable Text Generation》正是针对这一痛点提出了全新解法——将原本在图像等连续域大放异彩的扩散模型,创造性地迁移到离散文本上,从而实现更强的可控生成能力。这篇工作也被公认为扩散语言模型(Diffusion LM)方向的开山之作。
核心思路:让离散文本进入连续空间
Diffusion-LM 的核心洞见在于:扩散模型天然适合连续、可导的数据,而文本本质上是离散的 token 序列。要让二者结合,就必须在文本与扩散过程之间架设桥梁。
扩散模型(Diffusion Models)是一类基于随机过程的生成模型,其灵感来源于非平衡热力学——物理系统在受到微小随机扰动后,会逐渐从有序状态演化为无序状态(热力学第二定律),而如果能够精确学习这一演化过程的逆过程,就可以从无序中重建有序。扩散模型包含两个对称过程:前向过程(扩散过程)逐步向数据中添加高斯噪声,直到数据完全变为纯噪声;反向过程(去噪过程)则学习从噪声中逐步恢复原始数据。前向过程通常被定义为一个马尔可夫链,每一步的噪声添加量由一组预定义的噪声调度参数(noise schedule)控制,这组参数决定了数据在各时间步的信噪比。DDPM(Denoising Diffusion Probabilistic Models)是该方向的里程碑工作,由Ho等人于2020年提出,它证明了通过训练一个神经网络来预测每一步添加的噪声,可以高质量地生成图像,其生成效果首次在多项指标上与GAN(生成对抗网络)相媲美,且训练过程更加稳定。扩散模型在图像生成领域(如Stable Diffusion、DALL-E 2)取得了巨大成功,其核心优势在于:中间状态全程是连续的实数向量,因此可以方便地利用梯度信息进行引导和控制。例如,在图像领域,Classifier Guidance和Classifier-Free Guidance技术已经证明,通过在去噪过程中注入梯度信号,可以精确控制生成图像的类别、风格甚至空间布局。
论文的做法分为三步:
- 先用一个可学习的词嵌入将词语映射为连续向量
- 通过扩散模型迭代去噪,得到一系列连续的隐变量序列
- 通过 Rounding(取整)操作将连续向量还原为离散文本
词嵌入(Word Embedding)是将离散的词汇符号映射为低维稠密实数向量的技术,其核心思想是让语义相近的词在向量空间中彼此靠近。经典方法包括Word2Vec(通过预测上下文或目标词来学习分布式表示)、GloVe(基于全局词共现矩阵的因子分解)以及Transformer中的嵌入层(随下游任务端到端训练)。在传统语言模型中,词嵌入通常是模型的一个组件,其训练目标服务于下一个token的预测任务。而在Diffusion-LM中,词嵌入承担了更为关键的角色——它是连接离散文本世界与连续扩散世界的"桥梁"。这里的嵌入函数必须满足一个额外约束:不同词语的嵌入向量之间要保持足够的区分度,以便在反向的Rounding步骤中能够准确地将连续向量映射回正确的离散词。如果两个语义不相关的词的嵌入向量过于接近,去噪过程中的微小扰动就可能导致错误的词汇选择。这就是为什么论文强调使用可学习嵌入而非固定嵌入的原因——嵌入空间的几何结构需要与扩散过程的去噪动力学相互适配,使得去噪轨迹能够自然地收敛到各词嵌入向量的邻域。
由于中间状态全程是连续可导的,就可以直接利用分类器的梯度来引导生成方向。

从整体流程来看:
- 反向过程(生成):从高斯噪声向量 $X_T$ 出发,经过多步去噪得到 $X_0$,再通过嵌入映射回离散单词 $W$(Rounding)
- 前向过程(训练):先把离散文本 $W$ 通过嵌入函数映射成连续向量 $X_0$,再逐步加入高斯噪声直到接近纯噪声的 $X_T$
相比标准扩散模型,Diffusion-LM 额外增加了两个关键环节:从词到连续向量的嵌入,以及从连续向量到词的取整。这两步让原本只能处理连续数据的扩散模型得以驾驭离散文本。
训练目标与关键设计
端到端的三项损失函数
由于 Diffusion-LM 需要同时学习扩散模型参数和词嵌入参数,作者在标准扩散目标上进行了扩展。最终的训练目标包含三项损失:
- 扩散去噪损失:让模型学会从噪声中恢复干净的隐变量。这是标准扩散模型训练的核心损失,通常以均方误差(MSE)的形式衡量模型预测值与真实值之间的差距。在变分推断的框架下,这一损失项对应于各时间步条件分布的KL散度之和,构成了变分下界(ELBO)的主体部分。
- 嵌入匹配项:要求模型第一步去噪后的输出与词嵌入尽量接近。这一项起到"锚定"的作用,确保扩散过程的终点($X_0$)落在词嵌入空间的有意义区域内,而非漂移到嵌入空间中没有对应词汇的"无人区"。
- 取整损失:用对数概率 $\log P(W|X_0)$ 鼓励 $X_0$ 能准确对应到真实单词。这里 $P(W|X_0)$ 通常通过softmax计算$X_0$与所有词嵌入向量的相似度得到,本质上是一个基于距离的分类问题。
通过同时优化这三项,词嵌入、扩散模型与取整过程得以协同训练,形成端到端的学习框架。这种联合优化的设计确保了三个组件之间的一致性——嵌入空间的结构会自适应地调整以适配扩散过程的去噪轨迹,而去噪过程也会学会将隐变量引导至嵌入空间中可区分的位置。

直接预测 X0 的参数化策略
在参数化方式的选择上,标准扩散模型通常让网络预测噪声 $\epsilon$,但 Diffusion-LM 让网络直接预测干净的隐变量 $X_0$。
在扩散模型的训练中,存在两种等价但实践表现不同的参数化方式。ε预测(噪声预测)让神经网络学习估计当前时刻数据中混入的噪声分量,这是DDPM原始论文采用的方式,在图像生成中表现优异,因为图像的像素值范围固定且噪声的统计特性相对稳定。X0预测则让网络直接估计去噪后的干净数据。从数学上看,二者可以通过扩散过程的噪声调度公式 $X_t = \sqrt{\bar{\alpha}_t} X_0 + \sqrt{1-\bar{\alpha}_t} \epsilon$ 互相转换——已知其中一个量和噪声调度参数,可以代数地求解另一个量。但在梯度行为和优化稳定性上,二者存在显著差异。对于文本任务而言,X0预测有一个独特优势:每一步去噪的输出都可以直接与词嵌入空间中的向量进行比较和对齐,这使得Rounding步骤获得更清晰的监督信号,模型可以在任意时间步"窥见"当前预测对应的可能文本内容。而ε预测在大嵌入维度下容易出现数值不稳定,因为预测的噪声需要经过缩放变换 $\hat{X}_0 = (X_t - \sqrt{1-\bar{\alpha}_t}\hat{\epsilon}) / \sqrt{\bar{\alpha}_t}$ 才能还原为X0,当 $\bar{\alpha}_t$ 在某些噪声水平下接近零时,缩放系数 $1/\sqrt{\bar{\alpha}_t}$ 趋于无穷大,会严重放大预测误差。
实验表明,这种直接预测 $X_0$ 的方式在大嵌入维度下显著更加稳定。论文还发现,配合平方根噪声调度(square root noise schedule)而非标准的线性或余弦调度,X0预测的表现进一步提升。平方根调度使得信噪比在时间步上的变化更加均匀,避免了早期时间步信噪比变化过快而晚期变化过慢的问题,这对文本这种信息密度均匀分布的数据类型尤为重要。
可控生成机制:基于梯度的引导算法
Diffusion-LM 的可控生成能力,正是建立在其连续可导特性之上。在每一步去噪时,模型需要更新隐变量 $X$,使其同时满足两个目标:
- 流畅性:来自扩散模型本身的梯度,指示 $X$ 应往哪个方向走才能让文本更自然
- 可控性:来自外部分类器的梯度,指示 $X$ 应往哪个方向走才能更好地满足控制条件 $C$
从贝叶斯概率的角度理解,这一机制对应于在采样过程中同时考虑先验分布 $p(X)$(由扩散模型建模的自然语言分布)和似然 $p(C|X)$(分类器给出的属性匹配概率),实际采样的是后验分布 $p(X|C) \propto p(X) \cdot p(C|X)$。对后验取对数并求梯度,恰好分解为扩散模型的得分函数(score function)与分类器梯度的叠加,这为梯度引导提供了坚实的理论基础。

实际操作中,作者引入了超参数 $\lambda$ 来平衡流畅性与控制强度——$\lambda$ 越大,分类器梯度的权重越高,控制效果越强,但流畅性可能下降;$\lambda$ 越小则反之。作者还在每个扩散步执行多次梯度更新(而非标准的单次更新)以进一步提升控制效果。这种多步更新的策略类似于优化领域中的内循环迭代,让每一步的隐变量有更多机会向满足控制条件的方向移动。值得注意的是,由于整个过程在连续空间中进行,梯度信号可以从分类器无损地回传到隐变量的每一个维度和每一个位置,这与自回归模型中梯度被离散采样截断的情况形成了鲜明对比。这种基于梯度的引导算法,正是 Diffusion-LM 能够处理复杂控制任务的关键所在。
实验验证:六项细粒度控制任务
论文在六项极具挑战的细粒度控制任务上验证了 Diffusion-LM 的有效性:
| 任务 | 说明 |
|---|---|
| 语义内容控制 | 给定 Food、Japanese 等属性,输出包含该信息的餐厅评论 |
| 词性序列控制 | 给定词性标签序列(POS),生成对应词性的句子 |
| 句法树控制 | 给定目标句法解析树,生成符合该结构的句子 |
| 句法跨度控制 | 给定跨度位置和类别,生成包含特定短语结构的句子 |
| 长度控制 | 生成指定长度的句子 |
| 填充任务 | 给定左右上下文,生成逻辑连贯的中间句 |
这六项任务的控制粒度从粗到细递进:语义内容控制只需满足一个全局属性标签,而词性序列控制则要求每个位置的词性都精确匹配;句法树和跨度控制更是需要模型理解和生成符合特定层级结构的文本,这对模型的全局规划能力提出了极高要求。

主实验结果分析
在五项分类器引导任务上,Diffusion-LM 的控制成功率全面高于 PPLM 和 FUDGE 这两个即插即用基线,同时流畅度也维持在较好水平。
尤其值得关注的是,在句法树和句法跨度这两项需要全局规划的任务上,Diffusion-LM 甚至超过了专门微调过的 Oracle 模型,而自回归基线在这些任务上表现明显较弱。非自回归(Non-Autoregressive)生成模型同时生成序列中的所有位置,而非逐个生成。这类模型在机器翻译领域已有广泛研究——Gu等人于2018年提出的NAT(Non-Autoregressive Transformer)首次证明了非自回归翻译的可行性,随后CMLM(Conditional Masked Language Model)、Levenshtein Transformer等工作通过迭代精化(iterative refinement)策略显著缩小了与自回归模型的质量差距。非自回归模型的核心优势包括并行生成带来的速度提升,以及对全局信息的天然建模能力。在可控文本生成场景中,非自回归的优势更加显著:以句法树控制为例,目标句子的语法结构是一个跨越整个句子的全局约束——第一个词的词性选择可能影响最后一个词的语法角色,名词短语的位置决定了动词短语的结构。自回归模型在生成第一个词时无法预见句末的约束需求,容易在中途陷入难以满足全局约束的局面,即所谓的"短视"问题。而Diffusion-LM作为非自回归模型,在每一步去噪中同时更新所有位置的隐变量,分类器的梯度可以同时作用于整个序列,使模型能够在全局层面协调各位置的生成决策。例如,当分类器检测到当前预测的句法结构不满足目标树时,它可以同时调整句首名词短语和句尾动词短语的隐变量方向,实现全局性的结构调整。这充分体现了非自回归结构在全局约束建模上的天然优势。
填充任务的表现
填充任务要求根据左右上下文生成中间句,对自回归模型而言通常需要专门的训练或解码技巧(如双向语言模型或先反转后生成的策略)。而 Diffusion-LM 作为非自回归模型,天然支持双向信息的利用——在去噪过程中,左右上下文的信息可以同时通过梯度施加约束,使中间生成的内容在语义和语法上与两侧上下文保持一致。
实验显示,Diffusion-LM 在自动评估指标上优于 COLD 和 DELOREAN 等基于连续松弛的方法,并达到了专门为填充任务从零训练的自回归模型的水平——且无需针对性训练。COLD(Constrained Decoding with Langevin Dynamics)利用朗之万动力学在连续松弛的token表示空间中进行采样,DELOREAN则通过反向传播梯度来优化soft token序列,二者都试图将离散文本生成问题转化为连续优化问题。它们通常使用Gumbel-Softmax(一种可微分的离散分布近似方法)或soft token(词汇表上的概率分布向量)等连续松弛技巧,在词汇表的概率单纯形(simplex)上进行梯度优化。这类方法的局限在于:松弛后的连续表示仍然受限于单纯形的几何结构——单纯形是一个有界的低维流形,其上的梯度优化容易受到边界约束的干扰,且概率分布的高维性质使得优化景观充满局部最优;从松弛表示到离散文本的转换(如argmax采样或直通估计器)往往引入较大的近似误差,导致优化过程中看到的目标与实际生成结果之间存在不一致性(即所谓的"train-test mismatch")。相比之下,Diffusion-LM将优化过程放在了高维欧几里得空间中的嵌入向量上,这是一个无界的连续空间,梯度可以自由流动而不受边界约束;同时借助扩散模型提供的概率框架,其去噪过程本身就是一种结构化的优化轨迹——从各向同性高斯噪声出发,沿着学习到的得分函数方向逐步逼近数据分布的高概率区域。这使得梯度引导更加自然和有效,生成质量也更加稳定。
消融实验:三大关键设计要素
消融实验进一步揭示了 Diffusion-LM 之所以有效的核心设计决策:
- 可学习词嵌入 vs 随机词嵌入:可学习词嵌入在两个数据集上都取得更低困惑度,证明了端到端学习嵌入的必要性。随机初始化且固定的嵌入向量之间的距离分布缺乏结构性,词义相近的词可能被映射到相距甚远的位置,而不相关的词可能被映射到相邻位置,这会严重干扰去噪过程的学习和Rounding步骤的准确性。
- $X_0$ 预测 vs $\epsilon$ 预测:直接预测 $X_0$ 的参数化在大维度下更稳定,配合平方根噪声调度效果最佳。消融实验显示,当嵌入维度从16增加到128时,ε预测的困惑度急剧恶化,而X0预测保持稳定,这验证了前述关于数值稳定性的理论分析。
- Transformer vs U-Net:Transformer 架构在语言建模任务上显著优于 U-Net,这与文本序列的特点相吻合。U-Net是图像扩散模型(如Stable Diffusion)的标准骨干网络,其卷积+跳跃连接的结构非常适合捕捉图像的局部空间特征和多尺度信息。但文本序列的依赖关系主要是长程的、位置敏感的语义和语法关系,Transformer的自注意力机制天然更适合建模这类依赖。
这三项设计共同构成了 Diffusion-LM 稳定训练和有效生成的基石。它们也为后续的扩散语言模型研究提供了重要的工程指导——在将图像领域的扩散模型技术迁移到文本领域时,不能简单套用原有设计,需要根据文本数据的离散性和序列特性进行针对性调整。
总结与启示
Diffusion-LM 的意义不仅在于它在六项控制任务上取得了优异的效果,更在于它打开了一条全新的技术路径:将连续扩散模型迁移到离散文本域。
其核心贡献可以归纳为三点:
- 通过嵌入与取整两个桥梁,弥合了连续扩散过程与离散文本之间的鸿沟
- 直接预测 $X_0$ 的参数化策略,保证了训练的稳定性
- 基于梯度的可控生成机制,让细粒度的文本控制成为可能
作为扩散语言模型方向的奠基之作,Diffusion-LM 证明了扩散模型在文本生成上的巨大潜力,也为后续大量文本扩散模型研究提供了重要的方法论范式。在此之后,SSD-LM、GENIE、SeqDiffuSeq、DiffuSeq等一系列工作在Diffusion-LM的基础上进行了扩展和改进——有的探索了离散状态空间的扩散过程(如D3PM、Absorbing Diffusion),有的将扩散语言模型应用于机器翻译、摘要生成等更广泛的NLP任务,有的则致力于缩小与自回归语言模型在无条件生成质量上的差距。这些后续工作共同推动了扩散语言模型从概念验证走向实用化的进程。
核心要点
核心要点
相关推荐

Gemini 3.5 Transcribe实测:免费实时翻译85种语言教程
详细实测Gemini 3.5 Transcribe语音转文字模型,支持85种语言自动侦测、智慧转录去除口误、浏览器实时翻译等功能,完全免费使用,附三步上手教程。

数据科学经理该做什么?从执行者到赋能者的角色转型
数据科学经理晋升后感到空闲和迷茫?本文深入解析DS经理的四大核心职责:对外争取资源、战略规划、人才培养与质量把控,帮助技术管理者完成从执行者到赋能者的角色转型,实现团队产出的杠杆式增长。

Qwen3.8-27B本地部署实测:5090、3090、Mac速度对比与硬件选购指南
实测Qwen3.8-27B在RTX 5090(68t/s)、3090(40-48t/s)、Mac M3 Ultra(21t/s)上的推理速度对比,分析是否真的超越Claude 4.6,并给出本地部署硬件选购建议。