Block Diffusion:兼具自回归与扩散优势的新型语言模型

研究人员提出Block Diffusion模型,结合自回归与扩散模型的优势,实现在生成质量、效率和长度灵活性上的突破,并在语言建模基准测试中取得SOTA成果。

原文标题:逐字生成非最优?试试逐「块」生成!Block Diffusion打通了自回归与扩散

原文作者:机器之心

冷月清谈:

本文介绍了由Cornell Tech、斯坦福大学和Cohere的研究者提出的块离散去噪扩散语言模型(BD3-LMs),旨在解决离散扩散模型在生成任意长度序列、推理效率以及生成质量等方面面临的限制。该模型是一种半自回归模型,通过对离散变量块的自回归概率分布进行建模,并利用离散去噪扩散模型指定给定先前块的条件概率,从而在扩散模型和自回归模型之间进行插值。研究者针对训练过程中的挑战,开发了专门的算法和噪声过程,有效降低了梯度方差,缩小了模型之间的困惑度差距,最终在多个语言建模基准上取得了SOTA结果,并展示了其生成任意长度序列的能力。

怜星夜思:

1、Block Diffusion模型是如何在保证生成质量的同时,提升生成速度的?它与传统的自回归模型相比,有哪些优势和劣势?
2、文章中提到,研究人员提出了自定义噪声过程来最小化梯度方差,从而缩小困惑度差距。这个自定义噪声过程具体是如何实现的?为什么降低梯度方差可以提升模型性能?
3、Block Diffusion模型在生成超过训练上下文长度的序列时表现出色。这种能力对于实际应用有哪些意义?未来可以如何进一步提升Block Diffusion模型在长文本生成方面的性能?

原文内容

机器之心报道
编辑:杜伟、王佳琳

去年初,OpenAI 的视频生成模型 Sora 带火了扩散模型。

如今,扩散模型被广泛用于生成图像和视频,并在生成文本或生物序列等离散数据方面变得越来越有效。从技术上讲,与自回归模型相比,扩散模型具有加速生成和提高模型输出可控性的潜力。 

目前,离散扩散模型目前面临至少三个限制。首先,在聊天系统等应用中,模型必须生成任意长度的输出序列(例如对用户问题的回答)。但是,大多数最新的扩散架构仅能生成固定长度的向量。其次,离散扩散模型在生成过程中使用双向上下文,因此无法使用 KV 缓存重用以前的计算,这会降低推理效率。第三,以困惑度等标准指标衡量的离散扩散模型,质量落后于自回归方法,进一步限制了其适用性。

本文中,来自 Cornell Tech、斯坦福大学、Cohere 的研究者提出通过块离散去噪扩散语言模型(Block Discrete Denoising Diffusion Language Models,BD3-LMs)来解决以上限制,该模型在扩散和自回归模型之间进行插值。

具体来讲,块扩散模型(也是半自回归模型)定义了离散随机变量块的自回归概率分布,而给定先前块的条件概率由离散去噪扩散模型指定。


  • 论文标题:Block Diffusion: Interpolating Between Autoregressive and Diffusion Language Models

  • 论文地址:https://arxiv.org/pdf/2503.09573

  • 项目主页:https://m-arriola.com/bd3lms/


下图为 Block Diffusion 与自回归、扩散模型的生成效果对比:

图片
研究者表示,开发有效的 BD3-LM 面临以下两个挑战:一是使用神经网络的一次标准前向传递无法有效地计算块扩散模型的训练目标,需要开发专门的算法。二是扩散目标梯度的高方差阻碍了训练,导致 BD3-LM 即使在块大小为 1 的情况下(当两个模型等效时)也表现不佳。

因此,研究者推导出梯度方差的估计量,并证明它是自回归和扩散之间困惑度差距的关键因素。然后,他们提出了自定义噪声过程,以实现最小化梯度方差并进一步缩小困惑度差距。

实验部分,研究者在多个语言建模基准上评估了 BD3-LM,并证明它们能够生成任意长度的序列,包括超出其训练上下文的长度。此外,BD3-LM 在离散扩散模型中实现了新的 SOTA 困惑度。与对嵌入进行高斯扩散的替代半自回归方法相比,本文离散方法实现了易于处理的似然估计,并在少一个数量级生成步骤的情况下,生成的样本在困惑度方面得到了改进。

论文一作 Marianne Arriola 发推称,扩散语言模型在并行文本生成领域正在崛起,但与自回归模型相比,它们存在质量、固定长度限制和缺乏 KV 缓存等问题。本文 Block Diffusion 将自回归和扩散模型结合了起来,实现了两全其美。


BD3-LMs 模型概览

研究者结合建模范式,从自回归模型中获得更好的似然估计和灵活的长度生成,并从扩散模型中获得了快速的并行生成效果。

块扩散似然

研究者提出了一个建模框架,该框架对 token 块进行自回归建模,并在每个块内执行扩散操作。他们对长度为 L′ 的 B 个块进行似然分解,如下所示:


每个 pθ(x^b|x^<b) 都使用包含 L′个 token 的块上的离散扩散 ELBO 进行建模,并通过优化以下似然边界来获得原则性学习目标 L_BD (x,θ):


研究者使用简单的离散扩散参数化对每个块的似然进行建模,最终目标是对交叉熵项进行加权总和:


高效的训练与采样算法

简单来说,研究者想要通过在一个 loop 中应用B 次来计算 logits。不过,他们只需要两次前向传递。第一次传递分别预计算完整序列 x 的键和值 K^1:B、V^1:B,在第二次前向传递中使用同时计算所有块的去噪预测。

为了从 BD3-LM 中采样,研究者以先前采样的块为条件,一次生成一个块。生成块后,他们缓存其键和值,类似于 AR。同时在每个块的 T 个采样步下,使用任何扩散采样流程 SAMPLE中进行采样。来从条件分布 pθ 

算法 1(块扩散训练)和算法 2(块扩散采样)分别如下图(左)和(右)所示。

BD3-LM 训练和采样算法。

理解扩散模型与自回归模型之间的似然差距

案例研究:单 Token 生成

该研究中的块扩散参数化在期望上等同于自回归负对数似然 (NLL),特别是在 L′=1 的极限情况下。令人惊讶的是,当在 LM1B 数据集上训练两种模型时,研究发现块扩散模型 (L′=1) 与自回归模型之间存在两点困惑度差距。研究确定扩散目标的高训练方差是导致这一困惑度差距的原因。

在离散扩散 ELBO 下进行训练时,存在高方差。

高方差训练导致的扩散差距

直观来说,如果采样的掩码率image.png过低,重构 x 会变得容易,这不能提供有用的学习信号。如果掩码全部内容,最优的重构就是数据分布中每个标记的边际概率,这很容易学习,同样也没有用处。

研究需要找到能够最小化扩散目标引起的训练方差,并进一步减少困惑度差距的噪声调度方案。

基于数据的低方差训练噪声调度

为了避免导致高方差训练的掩码率,研究者在「裁剪的』掩码率下来训练 BD3-LMs。通过降低训练方差,研究者在均匀采样的掩码率评估下改善了似然度。

由于最佳掩码率可能会根据块大小 L′的不同而变化,他们在训练期间自适应地学习 β,ω。在实践中,研究者在每个验证步骤后(经过 5K 次梯度更新)使用网格搜索来优化image.png

在下文中,研究者展示了针对每个块大小优化噪声调度可以减少损失估计器的方差,并与其他替代调度方案相比实现最佳困惑度。


实验结果

似然评估

BD3-LMs 在扩散模型中实现了最先进的似然水平。研究表明,通过调整块长度 L′,BD3-LMs 可以在扩散和自回归似然之间实现插值。

在 OWT 上测试针对 262B 标记训练的模型的困惑度 (PPL; ↓)。

任意长度序列生成

许多现有扩散语言模型的一个主要缺点是,它们无法生成超过训练时选择的输出上下文长度的完整文档。例如,OpenWebText 包含最长达 131K tokens 的文档,而离散扩散模型 SEDD(Lou 等人)仅限于生成 1024 tokens。研究表明,BD3-LMs 能够通过解码任意数量的块来生成可变长度的文档。

从在 OWT 上训练的模型中抽样 500 个文档得出的生成长度统计信息。

研究者评估了 BD3-LMs 在变长序列上的生成质量,使用相同数量的生成步骤(NFEs)比较了所有方法。他们用 GPT2-Large 模型测量生成序列的困惑度。结果表明,与之前所有的扩散方法相比,BD3-LMs 实现了最佳的生成困惑度。

300 个可变长度样本的生成困惑度 (Gen. PPL;↓) 和功能评估次数 (NFE;↓)。所有模型都在 OWT 上进行训练,上下文长度为 L = 1024,并使用核采样。

对于 MDLM,研究者使用了其分块解码技术(该技术不同于 BD3-LMs 中的分块扩散训练)处理 L=2048 的序列。研究者还与 SSD-LM(Han 等人提出)进行了比较,后者是一种替代性的分块自回归方法(也称为半自回归),它对词嵌入执行高斯扩散,但无法进行似然估计。该研究的离散方法使用比其他方法少一个数量级的生成步骤,产生了具有更好生成困惑度的样本。

更多细节请参阅原论文。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]

Block Diffusion巧妙地结合了自回归模型和扩散模型的优势,每个块内的token使用扩散模型并行生成,块与块之间则利用自回归模型保证上下文连贯性。

优势包括:

* 速度提升:扩散模型的并行生成能力显著提高了生成速度。
* 质量保证:自回归模型保证了块间的依赖关系,提高了生成质量。
* 灵活的长度生成:可以生成任意长度的序列,超越了传统扩散模型的固定长度限制。

劣势比如:

* 训练复杂:需要专门的算法来解决训练目标计算和梯度方差问题。
* 可能损失上下文信息:块与块之间依赖关系可能不如纯自回归模型紧密,可能损失部分上下文信息。

相比之下,传统的自回归模型虽然生成质量高,但速度较慢,难以并行化。Block Diffusion模型在两者之间找到了一个平衡点。

这个问题涉及到扩散模型训练中的一个核心问题:如何有效地加噪和去噪。我的理解是,自定义噪声过程的目标是找到一个合适的噪声水平,既能破坏原始数据的结构,又能保留足够的信息,以便模型能够学习到有效的表示。

梯度方差是衡量训练过程中梯度变化程度的一个指标。高梯度方差意味着训练不稳定,模型容易陷入局部最优解。通过降低梯度方差,可以使训练过程更加平滑,模型更容易收敛到全局最优解,从而提升性能。

具体来说,文章中提到的“裁剪的”掩码率和自适应学习噪声调度参数,都是为了更好地控制噪声水平,避免出现梯度爆炸或梯度消失等问题。

能生成更长的文本,简直就是解放生产力啊!想想看,以后写小说、写论文,都可以让模型直接生成一大段,然后自己再润色一下,效率蹭蹭往上涨!

要进一步提升性能,我觉得可以从以下几个方面入手:

1. 让模型“记住”更多信息:可以尝试用更强大的Transformer结构,或者引入一些记忆机制,让模型更好地记住前面生成的内容。
2. 让模型更“懂”人类:可以加入更多人类反馈,让模型学到更符合人类习惯的表达方式。
3. 让模型更有“创造力”:可以尝试一些新的训练方法,鼓励模型生成更独特、更有创意的文本。

其实,长文本生成一直是NLP领域的一个难题。Block Diffusion模型在这方面取得突破,意义重大。这意味着我们可以利用该模型生成更长的文章、对话、代码等,从而更好地服务于实际应用。

个人认为,未来可以从以下几个方面进一步提升Block Diffusion模型在长文本生成方面的性能:

* 引入记忆模块:在模型中引入记忆模块,可以帮助模型更好地记住前面生成的内容,从而生成更连贯的文本。
* 采用层次化生成:可以将长文本生成任务分解为多个子任务,例如先生成文章大纲,然后再根据大纲生成具体内容。
* 利用预训练模型:可以利用预训练模型(如GPT-3)作为Block Diffusion模型的初始化参数,从而提高模型的生成质量和速度。

总之,长文本生成是一个充满挑战但又非常有前景的研究方向。期待未来能看到更多更优秀的模型出现!

文章中提到,研究人员通过“裁剪的”掩码率来训练BD3-LMs,避免过低或过高的掩码率。同时,他们还自适应地学习噪声调度参数β和ω,通过网格搜索在每个验证步骤后进行优化。这样做是为了根据块大小的不同,找到最佳的掩码率,从而最小化扩散目标引起的训练方差。

降低梯度方差可以提升模型性能的原因在于,高方差的梯度会导致训练不稳定,模型难以收敛到最优解。通过降低梯度方差,可以使训练过程更加平稳,模型更容易学习到有效的特征,从而提升性能。

这个噪声过程听起来有点像“精细化调参”的意思。简单来说,就是研究人员发现,如果随机给文本加噪声,效果可能不好,有些地方加多了,有些地方加少了。所以他们就想了个办法,根据文本的特点,更智能地加噪声。

梯度方差就像是训练过程中的“噪音”,噪音越大,模型就越难找到正确的方向。降低梯度方差,就好像是让模型在更清晰的环境中学习,当然效果会更好啦!

谢邀,人在实验室,刚跑完实验。

我理解Block Diffusion的核心在于将文本生成过程分解为两个层次:块级别和块内token级别。块级别采用自回归方式,保证了长文本的连贯性;块内token级别则利用扩散模型并行生成,加速了生成过程。这种混合策略的关键在于如何平衡自回归和扩散模型之间的trade-off。

与传统的自回归模型相比,Block Diffusion的优势在于生成速度更快,因为它利用了扩散模型的并行性。然而,劣势可能在于模型复杂度和训练难度更高,需要仔细设计噪声调度策略等trick。

此外,Block Diffusion在理论上等同于L’=1时的自回归模型,但实验结果表明两者存在困惑度差距。这说明扩散目标的高方差是影响模型性能的关键因素。因此,如何降低扩散目标的高方差,是Block Diffusion需要解决的重要问题。

Block Diffusion模型能够生成超出训练长度的序列,这意味着:

* 更长的文本生成能力:可以生成更长、更完整的文章、故事等,应用范围更广。
* 更好的上下文理解:模型能够更好地理解长文本的上下文关系,生成更连贯的内容。
* 更强的泛化能力:模型在未知的文本长度上也能表现良好,鲁棒性更强。

未来可以从以下方面进一步提升Block Diffusion模型在长文本生成方面的性能:

* 优化块大小:探索不同的块大小对生成质量和效率的影响。
* 引入更复杂的注意力机制:增强模型对长距离依赖关系的建模能力。
* 结合外部知识:利用知识图谱等外部知识来丰富生成内容。
* 探索更有效的训练方法:例如,对抗训练、强化学习等。

这个问题问得好!Block Diffusion 通过“分块”的思想,让扩散模型也可以像自回归模型一样处理长文本生成,同时利用扩散模型的并行性提升速度。感觉就像是把一个大任务拆解成小任务,然后并行处理,最后再组合起来。

优势方面,当然是速度和质量都有提升的潜力啦。劣势的话,可能就是模型设计和训练更复杂一些,需要精细地调整块的大小和扩散过程。

总的来说,这种结合思路很有意思,为扩散模型在文本生成领域的应用打开了新的思路!