有望重新定义语言生成技术的扩散模型LLaDA​

译文 精选
人工智能
在本文中,我们将详细阐述LLaDA的工作原理、它为何重要以及它如何有望塑造下一代LLM。

译者 | 朱先忠

审校 | 重楼

简介

如果我们能让语言模型更像人类一样思考,结果会怎样?如果它们不是一次写一个字,而是先勾勒出自己的想法,然后逐渐完善,结果又会怎样?

这正是大型语言扩散模型(LLaDA)所引入的:一种与大型语言模型(LLM)中当前使用的文本生成不同的方法。与传统的自回归模型(ARM)不同,后者按顺序(从左到右)预测文本,而LLaDA利用类似扩散的过程来生成文本。它不是按顺序生成标记,而是逐步细化掩码文本,直到形成连贯的响应。

在本文中,我们将深入探讨LLaDA的工作原理、它的重要性以及它如何有可能塑造下一代LLM。

LLM的现状

要理解LLaDA所代表的创新,我们首先需要了解当前大型语言模型(LLM)的运作方式。现代LLM遵循已成为行业标准的两步训练流程:

  • 预训练:模型通过自监督学习,预测海量文本数据集中的下一个符号,从而学习一般的语言模式和知识。
  • 监督微调(SFT:Supervised Fine-Tuning):模型在精心策划的数据上进行改进,以提高其遵循指令和生成有用输出的能力。

请注意,当前的LLM也经常使用RLHF来进一步优化模型的权重,但LLaDA并未使用这种方法;因此,我们在此跳过有关RLHF的讨论。

这些模型主要基于转换器架构,使用下一个标记预测一次生成一个标记的文本。

用于文本生成的简化式转换器架构(图片来自作者本人)

以下是数据如何通过此类模型的简化说明。每个标记都嵌入到向量中,并通过连续的转换器层进行转换。在当前的LLM(LLaMA、ChatGPT、DeepSeek等)中,分类头仅在最后一个标记嵌入上使用,以预测序列中的下一个标记。

这得益于掩码自注意力机制的概念:每个标记都会关注它之前的所有标记。我们稍后会看到LLaDA如何在其注意力层中摆脱掩码。

注意力过程:输入嵌入与查询、键和值矩阵相乘以生成新的嵌入(图片由作者本人提供,灵感来自【参考文献3】)

虽然这种方法取得了令人印象深刻的成果,但也存在明显的局限性,其中一些局限性促进了LLaDA的发展。

当前LLM的局限性

当前的LLM面临几个关键挑战:

计算效率低下

想象一下,如果你要写一本小说,你一次只能思考一个单词,而对于每个单词,你都需要重读到目前为止写过的所有内容。这基本上就是当前LLM的运作方式——它们一次预测一个标记,需要对每个新标记的前一个序列进行完整的处理。即使使用KV缓存等优化技术,这个过程也相当耗时且计算量巨大。

有限的双向推理

传统的自回归模型(ARM)就像作家一样,他们永远无法展望或修改迄今为止写的内容。他们只能根据过去的标记来预测未来的标记,这限制了他们推理文本不同部分之间关系的能力。作为人类,我们通常在写下来之前对自己想要表达的内容有一个大致的了解,而目前的LLM在某种程度上缺乏这种能力。

数据量

现有模型需要大量训练数据才能获得良好的性能,这使得它们的开发是资源密集型的,并且潜在地限制了其在数据可用性有限的专业领域的适用性。

何谓LLaDA

LLaDA通过用“基于扩散”的过程取代传统的自回归,引入了一种根本不同的语言生成方法(我们稍后将深入探讨为什么这被称为“扩散”)。

让我们从预训练开始,一步一步地了解这是如何运作的。

LLaDA预训练

请记住,在预训练阶段我们不需要任何“标记”数据。我们的目标就是将大量原始文本数据输入到模型中。对于每个文本序列,我们执行以下操作:

  • 我们固定最大长度(类似于ARM)。通常,这个值可能是4096个标记。1%的时间,序列的长度是在1到4096之间随机采样并填充的,以便模型也能接触到较短的序列。
  • 我们随机选择一个“掩码率”——例如,可以选择40%。
  • 我们以0.4的概率掩码每个标记。“掩码”到底是什么意思?我们只需用一个特殊的标记替换标记:<MASK>。与任何其他标记一样,此标记与模型可以在训练期间处理和解释的特定索引和嵌入向量相关联。
  • 然后,我们将整个序列输入到基于转换器的模型中。此过程将所有输入嵌入向量转换为新嵌入。我们将分类头应用于每个掩码标记,以获得每个标记的预测。从数学上讲,我们的损失函数对序列中所有掩码标记的交叉熵损失进行平均,如下所示:

LLaDA使用的损失函数(图片来自作者本人)

  • 然后……我们对数十亿或数万亿个文本序列重复此过程。

请注意,与ARM不同,LLaDA可以充分利用文本中的双向依赖关系:它不再需要在注意层中进行掩码。然而,这可能会增加计算成本。

希望你能看到训练阶段本身(数据流入模型)与任何其他LLM非常相似。我们只是预测随机掩码的标记,而不是预测接下来会发生什么。

LLaDA SFT(有监督微调)

对于自回归模型来说,SFT(Supervised Fine-tuning:有监督微调)与预训练非常相似,只是我们使用的是成对的(提示,响应),并且希望在给出提示作为输入时生成响应。

这与LlaDA的概念完全相同!模仿预训练过程:我们只需传递提示和响应,仅从响应中掩码随机标记,然后将完整序列输入模型,该模型将预测响应中缺失的标记。

推理的创新

创新是LLaDA变得更加有趣的地方,并且真正利用了“扩散”范式。

到目前为止,我们总是随机掩码一些文本作为输入,并要求模型预测这些标记。但在推理过程中,我们只能访问提示,并且我们需要生成完整的响应。你可能会认为(这没错),该模型已经看到了SFT期间掩码率非常高(可能为1)的示例,并且它必须以某种方式学习如何从提示生成完整的响应。

然而,在推理过程中一次性生成完整响应可能会产生非常糟糕的结果,因为模型缺乏信息。相反,我们需要一种方法来逐步完善预测,这就是“重新掩码(Remasking)”的关键思想的用武之地。

文本生成过程的每个步骤的工作原理如下:

  • 将当前输入提供给模型(这是提示,后跟<MASK>标记)。
  • 模型为每个输入标记生成一个嵌入。我们仅获得<MASK>标记的预测。这是重要的一步:我们重新掩码其中的一部分。具体来说:我们只保留“最佳”标记,即具有最佳预测和最高置信度的标记。
  • 我们可以使用这个部分未掩码的序列作为下一步生成步骤的输入并重复,直到所有标记都被掩码。你可以看到,有趣的是,与ARM相比,我们对生成过程的控制力更强:我们可以选择重新掩码0个标记(仅一个生成步骤),或者我们可以决定每次只保留最佳标记(步骤数与响应中的标记数相同)。显然,这里需要在预测质量和推理时间之间进行权衡。
    让我们用一个简单的例子来说明这一点(在这种情况下,我选择在每一步保留最好的2个标记):

LLaDA生成过程示例(图片来自作者本人)

请注意,在实践中,重新掩码步骤的工作方式如下。我们不会重新掩码固定数量的标记,而是会随着时间的推移重新掩码一定比例的s/t个标记,从t=1直到降至0;其中,s在【0,t】范围。具体而言,这意味着随着生成步长数量的增加,我们重新掩码的标记会越来越少。

举例:如果我们想要N次采样(因此进行了N次离散的操作,从t=1直到t=1/N,步长为1/N),那么取s=(t-1/N)是一个不错的选择,并确保在过程结束时s=0。

下图总结了上面描述的3个步骤。其中,“掩码预测器(Mask predictor)”表示LLM(即LLaDA),负责预测掩码标记。

使用LLaDA进行的三个步骤:预训练(a)、SFT(b)和推理(c)。(来源:【参考文献1】)

自回归和扩散可以结合起来吗?

LLaDA中开发的另一个巧妙的想法是将扩散与传统的自回归生成相结合,以充分利用两全其美的优势!这称为半自回归扩散。

  • 将生成过程分成多个块(例如,每个块有32个符号)。
  • 目标是一次生成一个块(就像我们在ARM中一次生成一个令牌一样)。
  • 对于每个区块,我们应用扩散逻辑,逐步揭开标记以显示整个区块。然后继续预测下一个区块。

半自回归过程(来源:【参考文献1】)

这是一种混合方法:我们可能会失去模型的一些“向后”生成和并行化能力,但我们可以更好地“引导”模型走向最终的输出。

我认为这是一个非常有趣的想法,因为它很大程度上取决于可以调整的超参数(块数)。我认为不同的任务可能从反向生成过程中受益更多,而其他任务可能从从左到右的更“引导”的生成中受益更多(更多内容见最后一段)。

为何要“扩散”?

我认为有必要简要解释一下这个术语的真正来源。它反映了与图像扩散模型(如Dall-E)的相似性,这些模型在图像生成任务中非常流行。

在图像扩散中,模型首先向图像添加噪声,直到无法识别,然后逐步学习重建图像。LLaDA将这个想法应用于文本,通过掩码标记而不是添加噪声,然后逐步取消掩码以生成连贯的语言。在图像生成的上下文中,掩码步骤通常称为“噪声调度”,而反向(重新掩码)是“去噪”步骤。

扩散模型发挥作用的方式(来源:【参考文献2】)

你还可以将LLaDA视为某种离散(非连续)扩散模型:我们不会向标记添加噪音,而是通过掩码来“停用”某些标记,然后模型学习如何揭示其中的一部分。

结果

让我们来看看LLaDA的一些有趣的结果。

你可以在论文中找到所有结果。我选择在这里重点介绍我认为最有趣的内容。

  • 训练效率:LLaDA的性能与具有相同数量参数的ARM相似,但在训练期间使用的符号少得多(并且没有RLHF)!例如,8B版本使用大约2.3T符号,而LLaMa3则使用15T符号。
  • 针对不同的任务使用不同的块和答案长度:例如,对于数学数据集,块长度特别大,并且该模型在此领域表现出色。这可能表明数学推理可能更多地受益于基于扩散和向后的过程。

来源:【参考文献1】

  • 有趣的是,LLaDA在“逆序诗歌完成任务”上表现更好。此任务要求模型以相反的顺序完成一首诗,从最后一行开始,然后向后完成。正如预期的那样,ARM因其严格的从左到右的生成过程而陷入困境。

来源:【参考文献1】

上述实验证明,LLaDA不仅仅是ARM的一个实验性替代品:它在效率、结构化推理和双向文本生成方面显示出真正的优势。

结论

我认为LLaDA是一种很有前途的语言生成方法。它能够并行生成多个标记,同时保持全局一致性,这无疑可以带来更高效的训练、更好的推理,以及用更少的计算资源实现更好的上下文理解。

除了效率之外,我认为LLaDA还带来了很大的灵活性。通过调整生成的块数和生成步长数等参数,它可以更好地适应不同的任务和约束,使其成为满足各种语言建模需求的多功能工具,并允许更多人为控制。扩散模型还可以通过更全面的推理在主动AI和代理系统中发挥重要作用。

随着基于扩散的语言模型研究的不断推进,LLaDA有望成为迈向更自然、更高效的语言模型的重要一步。虽然现在还为时过早,但我相信从顺序生成到并行生成的转变是人工智能发展的一个有趣方向。

参考文献

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。

原文标题:LLaDA: The Diffusion Model That Could Redefine Language Generation作者:Maxime Wolf

责任编辑:姜华 来源: 51CTO内容精选
相关推荐

2025-02-17 12:30:00

2023-08-24 16:08:24

2024-02-19 08:31:10

SoraAIOpenAI

2021-02-25 17:59:19

区块链比特币加密货币

2024-08-14 14:06:01

2020-08-17 07:00:00

混合云云计算技术

2017-10-13 22:18:53

物联网

2023-09-28 08:00:00

人工智能图像搜索

2023-10-26 08:30:00

人工智能图像搜索

2019-07-03 09:32:11

APIGGVKong

2022-02-16 10:25:10

IBM

2021-06-29 10:34:41

IT风险首席信息官CIO

2024-03-21 11:23:32

2011-05-23 09:16:24

打印机技术

2022-09-01 10:35:22

​VMware

2017-03-22 10:54:37

AR技术旅游业

2009-11-05 11:42:45

Unix专家

2014-06-03 09:15:17

融合数据中心华三

2019-06-20 08:13:33

物联网IOT技术

2018-03-04 22:41:04

区块链互联网信息传递
点赞
收藏

51CTO技术栈公众号