介绍
如果我们能让语言模型更像人类一样思考会怎样?它们不是一次写一个词,而是先勾勒出自己的想法,然后逐步完善呢?
这正是大型语言扩散模型(LLaDA)所引入的:一种不同于当前大型语言模型(LLM)使用的文本生成方法。传统的自回归模型(ARM)是从左到右顺序预测文本,而LLaDA则利用类似扩散的过程来生成文本。它不是顺序生成标记,而是逐步精炼被遮蔽的文本,直到形成连贯的回应。
在本文中,我们将深入探讨LLaDA的工作原理、其重要性以及它如何塑造下一代LLM。
当前LLM的现状
要理解LLaDA所代表的创新,我们首先需要了解当前大型语言模型(LLM)的工作原理。现代LLM遵循已成为行业标准的两步训练过程:
请注意,当前的LLM通常也会使用RLHF来进一步精炼模型的权重,但LLaDA并未使用此方法,因此我们在此略过这一步。
这些主要基于Transformer架构的模型,使用下一个标记预测一次生成一个标记的文本。
以下是数据如何在这类模型中传递的简化说明。每个标记被嵌入到一个向量中,并通过连续的Transformer层进行转换。在当前的大型语言模型(如LLaMA、ChatGPT、DeepSeek等)中,仅在最后一个标记嵌入上使用分类头来预测序列中的下一个标记。
这得益于掩码自注意力的概念:每个标记都会关注其之前的所有标记。我们稍后将会看到LLaDA是如何在其注意力层中摆脱掩码的。
虽然这种方法取得了令人印象深刻的成果,但它也存在显著的局限性,其中一些局限性正是推动LLaDA开发的动力。
当前LLM的局限性
当前的大型语言模型面临几个关键挑战:
计算效率低下
想象一下,写一部小说,但你一次只能思考一个词,而且每个词都需要重新阅读到目前为止所写的所有内容。这基本上就是当前LLM的工作方式——它们一次预测一个标记,每个新标记都需要对之前的序列进行完整处理。即使采用了键值缓存等优化技术,这个过程仍然相当计算密集且耗时。
有限的双向推理能力
传统的自回归模型(ARM)就像作家永远不能前瞻或修改他们已经写下的内容。它们只能根据过去的标记预测未来的标记,这限制了它们理解文本不同部分之间关系的能力。作为人类,我们通常在写下内容之前就已经有了一个大致的想法,而当前的LLM在某种程度上缺乏这种能力。
数据量需求
现有模型需要大量的训练数据才能取得良好的性能,这使得它们的开发资源密集,并可能限制其在数据有限的专门领域中的适用性。
什么是LLaDA
LLaDA通过用“基于扩散”的过程(我们稍后将深入探讨为何称其为“扩散”)替代传统的自回归,引入了一种根本不同的语言生成方法。
LLaDA预训练
记住,在预训练阶段,我们不需要任何“标记”数据。目标是向模型输入大量原始文本数据。对于每个文本序列,我们执行以下操作:
5. 然后……我们对数十亿或数万亿个文本序列重复这个过程。
请注意,与ARM不同,LLaDA可以充分利用文本中的双向依赖关系:它不再需要在注意力层中进行遮蔽。然而,这可能会增加计算成本。
希望你能看出,训练阶段本身(数据流入模型的过程)与其他任何LLM都非常相似。我们只是预测随机遮蔽的标记,而不是预测下一个标记。
LLaDA的特定任务微调(SFT)
对于自回归模型,SFT与预训练非常相似,不同之处在于我们有(提示,响应)对,并且希望在给定提示作为输入时生成响应。
对于LLaDA来说,这个概念完全相同!模仿预训练过程:我们只需传入提示和响应,仅从响应中随机遮蔽一些标记,并将完整序列输入模型,模型将预测响应中缺失的标记。
推理中的创新
创新是LLaDA变得更有趣的地方,它真正利用了“扩散”范式。
到目前为止,我们总是随机遮蔽一些文本作为输入,并要求模型预测这些标记。但在推理过程中,我们只有提示,需要生成整个响应。你可能会认为(这并不错),模型在SFT期间已经见过遮蔽率很高(可能为1)的示例,并且它必须以某种方式学会如何从提示生成完整响应。
然而,在推理过程中一次性生成完整响应可能会产生非常差的结果,因为模型缺乏信息。相反,我们需要一种方法来逐步细化预测,这就是“重新遮蔽”的关键思想所在。
这是它的工作原理,在文本生成过程的每一步中:
你可以看到,有趣的是,与ARM相比,我们对生成过程有更多的控制:我们可以选择重新遮蔽0个标记(只有一步生成),或者我们可以决定每次都只保留最佳标记(响应中有多少个标记就有多少步)。显然,这里存在预测质量和推理时间之间的权衡。
让我们用一个简单的例子来说明这一点(在这个例子中,我选择在每一步保留最佳的两个标记):
注意,在实际操作中,重新遮蔽步骤的工作原理如下。我们不是重新遮蔽固定数量的标记,而是随着时间的推移,从t=1到t=0,逐步重新遮蔽s/t比例的标记,其中s在[0, t]范围内。特别地,这意味着随着生成步骤数量的增加,我们重新遮蔽的标记越来越少。
示例:如果我们想要N个采样步骤(即从t=1到t=1/N,步长为1/N的N个离散步骤),那么取s = (t-1/N)是一个不错的选择,这样可以确保在过程结束时s=0。
下面的图像总结了上述三个步骤。“遮蔽预测器”简单地表示语言模型(LLaDA),用于预测被遮蔽的标记。
自回归和扩散可以结合吗?
LLaDA中开发的另一个巧妙想法是将扩散与传统自回归生成相结合,以利用两者的优势!这被称为半自回归扩散。
这是一种混合方法:我们可能会损失模型的一些“逆向”生成和并行化能力,但我们可以更好地“引导”模型生成最终输出。
我认为这是一个非常有趣的想法,因为它很大程度上依赖于一个可以调整的超参数(块的数量)。我想象不同的任务可能从逆向生成过程中获益更多,而其他任务可能从从左到右的更“引导式”生成中获益更多(最后一段将对此进行更多讨论)。
为什么叫“扩散”?
我认为简要解释一下这个术语的实际来源很重要。它与图像扩散模型(如Dall-E)的相似性有关,图像扩散模型在图像生成任务中非常流行。
在图像扩散中,模型首先向图像添加噪声,直到图像变得无法识别,然后学习一步一步地重建它。LLaDA通过遮蔽标记而不是添加噪声,然后将这些标记逐步取消遮蔽以生成连贯的语言,将这一思想应用于文本。在图像生成的背景下,遮蔽步骤通常被称为“噪声调度”,而反向过程(即重新遮蔽)则是“去噪”步骤。
你也可以将LLaDA视为某种离散(非连续)扩散模型:我们并不向标记添加噪声,而是通过遮蔽它们来“停用”一些标记,然后模型学习如何取消遮蔽其中的一部分。
结果
让我们来看看LLaDA的一些有趣结果。
你可以在论文中找到所有结果。我选择在这里重点关注我认为最有趣的部分。
LLaDA不仅仅是自回归模型(ARM)的一种实验性替代方案:它在效率、结构化推理和双向文本生成方面展现出了真正的优势。
结论
我认为LLaDA是一种有前景的语言生成方法。它能够在保持全局连贯性的同时并行生成多个标记,这无疑能够带来更高效的训练、更好的推理能力和在更少计算资源下改进的上下文理解。
除了效率之外,我认为LLaDA还带来了很大的灵活性。通过调整生成的块数和生成步骤数等参数,它可以更好地适应不同的任务和约束条件,成为满足各种语言建模需求的多功能工具,并允许人类进行更多的控制。扩散模型还能够通过更全面地推理,在主动式人工智能和代理系统中发挥重要作用。
随着基于扩散的语言模型研究的深入,LLaDA可能会成为迈向更自然、更高效语言模型的有用一步。虽然现在还处于早期阶段,但我相信这种从顺序生成到并行生成的转变是人工智能发展的一个有趣方向。