连续扩散语言模型 (CDLM's)

Hacker News Top 新闻

摘要

文章讨论了连续扩散模型在语言生成领域的复兴,强调了近期的研究和历史背景,挑战了自回归语言模型的主导地位。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/30 21:46

# 连续扩散语言模型 来源:https://sander.ai/2026/08/24/continuous-dlms.html 在经历数年相对沉寂之后,**语言的连续扩散模型**领域近期活动激增,表明这一方法正在强势回归。此前,完全离散的扩散方法已大体取代了早期将连续扩散应用于语言的尝试,但如今趋势正在转变。在本文中,我想深入探讨当前的发展现状及其发生原因。 近期该领域的新研究热潮启发我写下一些思考。我之前曾撰写过关于扩散语言模型(https://sander.ai/2023/01/09/diffusion-language.html)的文章,因此本文主要作为后续更新,涵盖自那时以来的所有进展。这将是一份相当主观的叙述——非常欢迎在评论区和其他地方提出其他观点和异议意见!稍后我将讨论语言连续扩散的一些技术方面,但首先,让我们回顾一些历史背景。 ## 挑战自回归的霸权 [](https://sander.ai/images/chain.jpg)现代语言模型在很大程度上是**自回归**的:它们逐个token生成序列。这是将复杂的生成任务分解为更小、更易处理的序列步骤的自然方式。所有步骤都是同一基本任务的实例(根据前序token预测下一个token),这使得参数可以在序列维度上共享。尽管存在这种固有的顺序生成过程,Transformer架构¹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:transformer) 通过教师强制² (https://sander.ai/2026/08/24/continuous-dlms.html#fn:teacherforcing) 实现了对所有序列位置的高效并行训练。这已被证明是一个极具扩展性的方案³ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:gpt2),并将我们带入了大型语言模型(LLM)时代。 然而,自回归并非构建序列迭代生成过程的唯一方式。受视听领域早期成功的启发,研究人员开始寻求将**扩散**方法应用于语言生成。与逐个元素生成序列不同,扩散模型的生成过程是通过反转一个逐渐破坏信息的损坏过程来定义的。其典型方法是逐步添加高斯噪声,直至其完全压制原始信号。 ### 2021年:早期离散扩散模型 在2019年⁴ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:score) 和2020年⁵ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:improvedscore)⁶ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:ddpm) 图像生成取得早期成功后,2021年首次尝试将此理念应用于语言,涉及**用离散损坏过程替换连续损坏过程**,以实现对类别数据的建模:多项式扩散⁷ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:multinomial)、D3PM⁸ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:d3pm) 和 SUNDAE⁹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:sundae)。 当时,自回归的统治地位尚不如今日稳固:GPT-3¹⁰ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:gpt3) 引发了一些关注,但“ChatGPT时刻”要到2022年末才到来。那时,离散扩散似乎解决了自回归范式的一些真实理论缺陷,例如由教师强制 (https://en.wikipedia.org/wiki/Teacher_forcing) 导致的曝光偏差,以及将其应用于填充和受控生成任务的相对困难。请注意,在前几年¹¹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:maskpredict)¹² (https://sander.ai/2026/08/24/continuous-dlms.html#fn:xlnet)(特别是机器翻译¹³ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:nat)¹⁴ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:iternat))已有非自回归和任意顺序自回归方法的探索,但尚未从扩散的角度进行。 ### 2022年:面向离散数据的连续扩散 2022年,出现了一些**将连续扩散应用于语言建模**的尝试,始于Diffusion-LM¹⁵ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:diffusionlm)。这种方法以不同的方式解决了类别数据与高斯噪声损坏之间的不兼容性:简单地用连续的嵌入向量表示离散类别,这些向量完全适用于高斯噪声损坏。这样,原本非常适合图像的高斯扩散机制无需任何修改即可应用。 Diffusion-LM鼓吹这种替代生成范式在可控文本生成方面的优势。在2022年最后几个月,发表了多篇采用此方法变体的论文,包括DiffuSeq¹⁶ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:diffuseq)、SSD-LM¹⁷ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:ssdlm)、Difformer¹⁸ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:difformer)、SeqDiffuSeq¹⁹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:seqdiffuseq)、GENIE²⁰ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:genie)、LD4LG²¹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:ld4lg),以及我参与的两篇论文:自条件嵌入扩散(SED)²² (https://sander.ai/2026/08/24/continuous-dlms.html#fn:sed) 和面向类别数据的连续扩散(CDCD)²³ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:cdcd)。 当时,这些连续方法的魅力在于它们能够受益于在连续扩散完全接管视听生成过程中所发现和发展的所有洞察、工具和机制。例如,将为连续扩散模型开发的采样和蒸馏技术应用于离散扩散通常要困难得多,甚至完全不可能。 ### 2023年末:连续扩散的消亡 随后,发生了一件有趣的事:**在2023年之后,该领域几乎所有新研究都使用了离散扩散**,连续语言扩散就此消亡。一篇2025年关于扩散语言模型的综述论文²⁴ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:survey) 中的图表清晰地展示了这一点: > — Sander Dieleman (@sedielem) 2025年8月19日 (https://twitter.com/sedielem/status/1957906664410984848?ref_src=twsrc%5Etfw) 连续方法以黄色标记,离散方法以绿色标记。从2023年到2024年的转变相当明显!虽然很难确定具体原因,但我认为有几个潜在因素:其一是ChatGPT时刻,逐渐将语言扩散研究的重点从理论优势和优雅性转向原始性能。现在的目标是尝试**在大规模上匹配强大的自回归模型**,甚至在特定场景中超越它们。似乎人们感觉使用完全离散方法更容易缩小性能差距,也许是因为它们在概念上与自回归更接近。 另一个因素可能是,**扩展语言扩散模型的科学**开始被探索,而连续方法的初步观察结果并不乐观。2023年5月,Gulrajani & Hashimoto²⁵ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:plaid) 量化了基于似然的连续扩散语言模型(Plaid-1B)的训练效率差距:**效率低64倍**。(注意,上图将Plaid标记为离散,但它实际上是连续方法。) 在LLM社区仍然非常关注训练计算量与困惑度(Chinchilla最优性²⁶ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:chinchilla))帕累托前沿的时期,任何训练效率比自回归基线差近两个数量级的建模方法都很难被认真对待。第一个挑战这种训练效率焦点并主张考虑推理预算的LLaMA²⁷ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:llama) 模型仅在几个月前(2023年2月)发布,因此我认为社区尚未完全内化这一转变是合理的。 不用说,这一切都具有高度推测性。也许只是巧合,离散方法恰好在那时获得了更多势头。如果你对导致2023年末连续扩散消亡事件的原因有任何想法,我很乐意在评论区听取! 就我个人而言,那时我已经停止研究扩散语言模型(我忙于构建图像和视频生成模型:Imagen (https://deepmind.google/models/imagen/) 和 Veo (https://deepmind.google/models/veo/),后来是 Nano Banana (https://deepmind.google/models/gemini-image/) 和 Omni (https://deepmind.google/models/gemini-omni/)),所以我只是从旁观者的角度观察这一演变。我对此有些惊讶,因为我相信连续扩散有几个关键优势,例如能够表示单个token层面的不确定性,以及拥有丰富的采样算法和技巧工具箱。放弃这些似乎可能是个错误,但整个研究界显然认为这是正确的道路。 ## 将连续扩散适配于离散数据 [](https://sander.ai/images/discrete.jpg)我们将在下一节讨论扩散语言建模领域近期的发展,但首先,我认为更有用的是更详细地讨论连续扩散如何能够实际应用于离散数据。这方面的背景将有助于理解近期事件的驱动因素。 首先需要考虑的是我们试图建模的离散数据的性质。通常人们说“离散”时,实际上指的是*类别*数据,即输出空间(在token层面)是一个无结构的集合,每个离散变量可以取的不同值之间没有关系(无论是序数关系还是其他关系)。以像素网格表示的数字图像*也是*离散的,严格来说,但由于像素颜色通道所取的离散值代表了一个潜在的连续物理信号(光强度),我们通常简单地忽略这一点,无论如何都将它们视为连续数据。 假设我们处理的是类别数据,要使连续扩散良好工作,有几个必要条件:**嵌入策略**、**损失函数**和合理的**噪声调度**。此外,有一个技巧出现在几乎每篇相关论文中,并且最终对性能产生巨大影响:**自条件**。我们将依次更仔细地探讨这些内容。为简洁起见,我将使用缩写**CDLM**来指代连续扩散语言模型,**DDLM**指代其离散对应模型。 ### 嵌入策略 📍 现代神经网络通常具有实值参数和激活。因此,在任何处理离散数据的神经网络中,通常发生的第一件事是将离散输入*嵌入*到连续表示空间中。从那时起,神经网络只处理实值表示。这些嵌入通常仅被视为额外的参数,可以与模型其余部分一起联合优化。值得注意的是,DDLM和自回归模型也是如此——驱动这些模型的神经网络内部仍然是连续的。 为了将连续扩散应用于离散数据,我们可以简单地将损坏过程从离散输入空间“提升”到连续嵌入空间。换句话说,与离散扩散相比,这只是改变操作顺序的问题。在训练期间,我们不是先应用离散损坏再进行连续嵌入,而是先嵌入输入,然后应用连续损坏。 (a) 自回归模型、(b) 离散扩散模型(掩码扩散)和 (c) 连续扩散模型的示意图。绿色块表示离散token的连续嵌入。蓝色块代表模型的层。对于a和b,嵌入阶段通常也被视为模型的一部分。b的损坏发生在token层面,在嵌入之前。对于c,损坏是通过向连续嵌入添加噪声来应用的。(https://sander.ai/images/cdlm_embeddings.png) (a) 自回归模型、(b) 离散扩散模型(掩码扩散)和 (c) 连续扩散模型的示意图。绿色块表示离散token的连续嵌入。蓝色块代表模型的层。对于a和b,嵌入阶段通常也被视为模型的一部分。b的损坏发生在token层面,在嵌入之前。对于c,损坏是通过向连续嵌入添加噪声来应用的。 嵌入空间的形状和结构深刻影响着其中发生的连续损坏过程的性质。已经探索了各种嵌入策略: - **显式**(例如 SSD-LM¹⁷ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:ssdlm)):可以说最简单的方法是使用类似独热表示 (https://en.wikipedia.org/wiki/One-hot) 的方式,其中词汇表大小为 \(V\) 的每个元素都关联一个 \(V\) 维向量,该向量有 \(V-1\) 个零和一个一。由于词汇表是一个集合,为元素分配表示需要任意选择一个特定顺序。这种嵌入空间对于现代语言模型来说可能难以处理,因为 \(V\) 往往相当大。一个潜在的变通方法是使用紧凑的二进制模式,如 Analog Bits²⁸ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:analogbits) 所示。 - **预训练**(例如 SED²² (https://sander.ai/2026/08/24/continuous-dlms.html#fn:sed)):我们可以使用表示学习策略学习嵌入,然后将其重新用于扩散语言模型。例如,它们可以从自回归语言模型借用,或从双向语言模型如 BERT²⁹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:bert) 中提取。它们也可以是*上下文相关的*,即给定token的嵌入不仅取决于token本身,还取决于相邻token,从而产生更丰富的嵌入空间²¹ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:ld4lg)。 - **联合学习**(例如 CDCD²³ (https://sander.ai/2026/08/24/continuous-dlms.html#fn:cdcd)):我们可以尝试在单一学习过程中与去噪模型一起拟合嵌入,让它们可能协同适应。 后者可能看起来是最自然的做法,因为联合学习嵌入是DDLM和自回归LLM的成功之处。端到端的单阶段学习方法如今在概念上和实践上也被广泛认为是最有吸引力的。但嵌入空间在CDLM中(相对于DDLM)提升的作用意味着这也带来了一些挑战:简单的公式容易导致嵌入坍缩或不可控地增长。例如,在

相似文章

LangFlow:连续扩散在语言建模中可与离散扩散相媲美

Hugging Face Daily Papers

LangFlow提出了首个可与离散扩散方法相媲美的连续扩散语言模型,挑战了长期以来认为连续扩散在语言建模中劣于离散扩散的观点。该工作引入了基于最优Gumbel噪声调度等关键要素,并展示了与离散扩散基线相比具有竞争力的困惑度和迁移学习性能。

连续潜在扩散语言模型

Hugging Face Daily Papers

Cola DLM 是一种分层潜在扩散语言模型,它通过文本到潜空间的映射以及条件解码,实现高效且非自回归的文本生成。

令牌时间连续扩散用于语言建模

Hugging Face Daily Papers

本文介绍了令牌时间连续扩散(Token Time Continuous Diffusion,简称TTCD),这是一种新型扩散语言模型,它在连续空间中运行,采用每个令牌的时间步,在条件生成和数独求解方面以高加速比优于离散模型。

TextLDM:利用连续潜在扩散进行语言建模

Hugging Face Daily Papers

本文介绍了 TextLDM,这是一种通过将离散标记映射到连续潜在空间,从而将视觉潜在扩散Transformer适配于语言建模的方法。研究表明,该方法在表示对齐的增强下,达到了与 GPT-2 相当的性能,并统一了视觉与文本生成的架构。