大型语言模型 (LLM)(如 GPT、LLaMA 和其他模型)凭借其理解和生成类人文本的卓越能力风靡全球。 然而,尽管它们的能力令人印象深刻,但训练这些模型的标准方法(即 “下一标记词预测”)却存在一些固有的局限性。
在 “下一个词预测 “中,训练模型的目的是根据前面的词预测序列中的下一个词。 虽然这种方法已被证明是成功的,但它可能导致模型在处理长距离依赖关系和复杂推理任务时陷入困境。 此外,在推理过程中,教师强迫训练机制与自回归生成过程之间的不匹配也会导致性能不理想。
最近一篇来自 Meta AI 的文章介绍了一种名为”多标记预测“的新型训练范式,该范式旨在解决这些局限性,并为大型语言模型增效。在本文中,我们将深入探讨这一突破性研究的核心概念、技术细节和潜在影响。
单标记预测:传统方法
在深入研究多标记词预测的细节之前,有必要了解一下传统方法。 大型语言模型的主力军 训练多年的语言模型–单字预测,也称为下一标记词预测。
下一个标记词预测范式
在 “下一个标记词预测范式 “中,语言模型的训练目的是根据前面的语境预测序列中的下一个词。 更正式地说,模型的任务是在前一个标记 x1、x2、……、xt 的基础上,最大化下一个标记词 xt+1 的概率。 这通常是通过最小化交叉熵损失来实现的:
L = –Σt log P(xt+1 | x1, x2, …, xt)
这一简单而强大的训练目标是许多成功的大型语言模型的基础,如 GPT(Radford 等人,2018 年)、BERT(Devlin 等人,2019 年)及其变体。
教师强迫(Teacher Forcing)和自回归生成
下一个标记预测依赖于一种称为”教师强迫“的训练技术,即在训练过程中为模型提供每个未来标记的基本事实。 这可以让模型从正确的上下文和目标序列中学习,从而提高训练的稳定性和效率。
然而,在推理或生成过程中,模型会以自回归的方式运行,根据之前生成的标记一次预测一个标记。 这种训练机制(教师强迫)和推理机制(自回归生成)之间的不匹配可能导致潜在的差异和次优性能,尤其是对于较长的序列或复杂的推理任务。
下一标记词预测的局限性
虽然下一个标记预测已经取得了显著的成功,但它也有一些固有的局限性:
- 短期关注:由于只预测下一个标记,模型可能难以捕捉文本的长程依赖关系以及整体结构和连贯性,从而可能导致不一致或不连贯的生成。
- 局部模式捕捉:下一个标记预测模型可能会捕捉到训练数据中的局部模式,从而使其难以泛化到分布外场景或需要更抽象推理的任务中。
- 推理能力: 对于涉及多步骤推理、算法思维或复杂逻辑运算的任务,下一个标记预测可能无法提供足够的归纳偏差或表征来有效支持这些能力。
- 样本效率: 由于下一标记词预测的局部性,模型可能需要更大的训练数据集来获取必要的知识和推理技能,从而导致潜在的样本低效。
这些局限性促使研究人员探索其他训练范式,如多标记词预测,其目的是解决其中的一些不足,为大型语言模型释放新的能力。
通过对比传统的下一个标记词预测方法和新颖的多标记词预测技术,读者可以更好地理解后者的动机和潜在优势,为深入探讨这一开创性研究奠定基础。
什么是多标记预测?
多标记词预测背后的关键理念是训练语言模型同时预测未来的多个标记词,而不仅仅是下一个标记词。 具体来说,在训练过程中,模型的任务是使用共享模型主干上的 n 个独立输出头,预测训练语料库中每个位置的下一个 n 个标记。
例如,在 4 个标记词的预测设置中,模型将被训练为根据前面的上下文一次性预测接下来的 4 个标记词。 这种方法鼓励模型捕捉更长距离的依赖关系,并更好地理解文本的整体结构和连贯性。
一个简单示例
为了更好地理解多标记预测的概念,让我们来看一个简单的例子。假设我们有这样一个句子
“敏捷的棕狐狸跳过懒惰的狗”。
在标准的下一个单词预测方法中,模型将被训练成根据前面的语境预测下一个单词。 例如,在上下文 “The quick brown fox jumps over the “中,模型的任务是预测下一个单词 “lazy”。
而在多标记词预测中,模型将被训练为同时预测未来的多个单词。 例如,如果我们设置 n=4,那么模型将被训练同时预测接下来的 4 个单词。 在同样的上下文 “The quick brown fox jumps over the “中,模型的任务是预测 “lazy dog .”(注意 “dog “后面的空格表示句子的结尾)。 (注意 “狗 “后面的空格表示句子的结束)。
通过训练模型同时预测多个未来标记,可以捕捉长距离的依赖关系,更好地理解文本的整体结构和连贯性。
技术细节
作者提出了一种简单而有效的架构来实现多标记预测。 该模型由一个生成输入上下文潜在表示的共享转换器主干和n独立的转换器层(输出头)组成,后者可预测各自的未来标记。
在训练过程中,前向传递和后向传递经过精心安排,以尽量减少 GPU 内存占用。 共享主干计算潜在表示,然后每个输出头依次执行其前向和后向传递,在主干级别积累梯度。 这种方法避免了同时具体化所有对数向量及其梯度,从而将 GPU 内存的峰值使用量从O(nV + d)降低到O(V + d)、 其中V是词汇量大小和d是潜在表示的维度。
内存效率高的实现
训练多标记预测器的挑战之一是降低 GPU 内存利用率。 由于词汇量(V)通常比潜在表示维度的(d)大得多,因此对数向量成为 GPU 内存使用的瓶颈。
为了应对这一挑战,作者提出了一种内存效率高的实现方法,该方法会仔细调整前向和后向操作的顺序。 这种实现方法不是同时将所有对数及其梯度实体化,而是依次计算每个独立输出头的前向和后向传递,并在主干级累积梯度。
这种方法避免了在内存中同时存储所有对数向量及其梯度,从而将 GPU 内存的峰值利用率从O(nV + d)降低到O(V + d),其中n是预测的未来标记的数量。
多标记预测的优势
研究论文介绍了使用多标记词预测来训练大型语言模型的几个显著优势:
- 提高了样本效率:通过鼓励模型同时预测多个未来标记,多标记预测促使模型提高了样本效率。 作者展示了代码理解和生成任务性能的显著提高,参数多达 13B 的模型平均可多解决约 15% 的问题。
- 更快的推理:使用多标记预测训练的额外输出头可用于自推测解码,这是推测解码的一种变体,允许并行标记预测。 这样,即使对于大型模型,在各种批量大小的情况下,推理时间也可提高 3 倍。
- 促进长距离依赖关系: 多标记预测鼓励模型捕捉数据中的长距离依赖关系和模式,这对于需要在更大范围内进行理解和推理的任务尤其有利。
- 算法推理:作者介绍了在合成任务上进行的实验,这些实验证明了多标记预测模型在开发归纳头和算法推理能力方面的优越性,尤其是在模型规模较小的情况下。
- 连贯性和一致性:通过训练模型同时预测多个未来标记,多标记预测鼓励了连贯性和一致性表征的发展。 这对于需要生成更长、更连贯文本的任务尤其有利,例如讲故事、创意写作或生成指导手册。
- 改进的泛化:作者在合成任务上的实验表明,多标记预测模型表现出了更好的泛化能力,尤其是在非分布式环境中。 这可能是由于模型能够捕捉到更长距离的模式和依赖关系,这有助于它更有效地推断出未知的场景。
例子和直觉
为了更直观地说明多标记预测为何如此有效,让我们举几个例子:
- 代码生成:在代码生成中,同时预测多个标记可帮助模型理解和生成更复杂的代码结构。 例如,在生成函数定义时,仅预测下一个标记可能无法提供足够的上下文,使模型无法正确生成整个函数签名。 但是,通过同时预测多个标记,模型可以更好地捕捉函数名称、参数和返回类型之间的依赖关系,从而更准确、更连贯地生成代码。
- 自然语言推理: 考虑这样一种场景:语言模型的任务是回答一个需要对多个步骤或信息片段进行推理的问题。 通过同时预测多个词块,该模型可以更好地捕捉推理过程中不同组成部分之间的依赖关系,从而获得更加连贯和准确的回答。
- 长篇文本生成: 在生成故事、文章或报告等长篇文本时,要在较长时间内保持连贯性和一致性,对于使用下一标记词预测训练的语言模型来说具有挑战性。 多标记词预测鼓励模型开发能捕捉文本整体结构和流程的表征,从而有可能生成更连贯、更一致的长篇文本。
局限与未来方向
虽然论文中展示的结果令人印象深刻,但仍有一些局限性和有待进一步研究的问题:
- 标记的最佳数量:本文探讨了 n(要预测的未来标记数量)的不同值,发现 n=4 对于许多任务都很有效。 但是,n 的最佳值可能取决于具体任务、数据集和模型大小。 开发确定最佳 n 值的原则性方法可以进一步提高性能。
- 词汇量和标记化:作者指出,多标记预测模型的最佳词汇量和标记化策略可能不同于下一标记预测模型。 对这方面的探索可能会在压缩序列长度和计算效率之间做出更好的权衡。
- 辅助预测损失:作者认为,除了标准的下一个标记预测外,他们的工作还能激发人们为大型语言模型开发新型辅助预测损失的兴趣。 研究其他辅助损失及其与多标记词预测的组合是一个令人兴奋的研究方向。
- 理论理解: 虽然本文为多标记预测的有效性提供了一些直觉和经验证据,但从理论上更深入地理解这种方法为何以及如何如此有效将非常有价值。
(机器翻译,轻度译后编辑,仅供参考)
编辑:胡跃