Meta 提出多 token 模型训练新方法,有望提升生成速度与智能性
Meta 提出了一种训练大语言模型 (Large Language Models, LLMs) 的新方法:一次预测多个 token。这种方法有望实现更快、更智能的 AI 模型,有可能彻底改变当前主流的模型训练方法。该方法在多项任务,尤其是编码任务上取得了重大改进。
摘要
Meta 提出了一种新颖的训练 LLMs 的方法,这种方法在进行模型训练时同时预测多个 token,而不是传统的每次预测一个 token 的方法。这种多 token 模型不仅将文本生成速度提高了三倍,而且还提高了模型的智能性。MBPP 和 HumanEval 等编码基准的卓越性能证明了这种方法的有效性。新的架构包括额外的输出头,允许模型在进行预测时考虑后续标记的上下文,从而产生更加连贯和上下文适当的输出。虽然语言建模的好处不太明显并且需要进一步扩展,但该方法在语法准确性至关重要的编码等领域显示出极大的提升。多 token 预测方法也符合行业向更高效解码方法的转变,这是由于需要大量 token 生成以进行用户交互的长推理模型的出现所必需的。
Meta 通过新的研究提供了一种训练大模型的新方法:模型可以在每次预测中同时预测多个 token,而不仅仅是一个,并且与之前的方法不同,没有额外的训练开销。这种方法不仅可以加快模型的文本生成速度,还可以使模型变得更加智能,这种方法有望成为最前沿人工智能的新训练范式。
弱学习形式
现有的 LLMs 都以同样的、非常低效的方式进行学习。在训练深度神经网络时,必须人工定义希望模型优化的任务。对于 LLMs 来说,这种任务就是预测下一个单词;模型接收文本序列形式的一组单词输入,并预测下一个 token (单词或子单词)。然后,将该 token 添加到前面输入的序列中,并将得到的新序列输入到模型中,生成下一个 token ……如此循环进行。
与当今的所有神经网络一样,需要找到一种方法来衡量模型的每个预测的好坏,并使用该衡量的结果 (模型预测的好坏)来随着模型的训练逐步减少这种模型预测的'误差'。
技术说明
如今,大多数人工智能模型都是类似'参数曲线'形式的,也就是极高维的多元函数,模型接受一组输入后预测一个或多个输出。从技术角度讲,模型能够工作得益于多层感知机 (Multilayer Perceptron,MLP) 的广泛使用。事实上,可以证明,每个神经网络都有某种形式的 MLP(在 LLM 的情况下,与注意力机制相结合),由于通用逼近原理,这个极其复杂的神经网络可以逼近未知的期望函数,或 UAT 。但这些模型不仅仅是预测一个词的合理性,而是对分布进行建模。
由于希望训练好的模型能够对整个书面语言进行建模,并在需要时具有较好的创造性,因此该预测不仅仅是模型认为最合适的单词,我们强制模型为模型预测的每个 token 分配一个概率。通过这种方式,模型必须考虑自然语言中的不确定性,因为许多不同的单词可能是任何给定序列的合理延续。例如,对于一个序列'The boy went to the …',模型给出的五个选项在语义上都是有效的,但只有一个是标准答案 (Ground Truth)。
[图示:多 Token 预测与传统预测架构对比]
基于以上分析,应该如何衡量模型预测的误差呢?
LLMs 如何学习
在 LLMs 的情况下,通过交叉熵函数 (cross-entropy function) 来实现模型的学习,该函数本质上只关注模型分配给真实单词的概率。函数公式如下所示:
[图示:交叉熵损失函数公式]
基于上面的示例,我们可以看到模型分配给下一个单词'Playground'的概率是 40% ,由于我们定义'Playground'是标准答案,所以模型预测的概率远低于应该的数值 (100%),因此模型需要调整其参数。
当概率分布不是极度偏向真实情况时 (与前面的示例不同,为该 token 分配了非常高的值),这里说模型是'困惑'的,或者对其预测表示怀疑。因此,衡量模型错误的主要指标是模型的'困惑度',或者说它对下一个单词的确定程度。'困惑度'值越低,模型越好。这是一个相当缓慢且需要大量数据的过程,因此该模型被馈送到整个公共互联网,直到它能够始终如一地为正确的单词分配非常高的概率。
如果创建的模型对于几乎任何给定的序列都可以准确地预测接下来会发生什么,那么我们就可以认为该模型就能够讲该语言、在语言之间进行翻译、执行基本的推理等。换句话说,预测下一个 token 的任务已经变得普遍,每个人都遵循这种方法来训练 LLMs。
在推理中,当模型训练完成后,就执行自回归解码 (autoregressive decoding)。通俗地说,该模型将以循环的方式生成序列的下一个 token,token 总是向后看,而不是向前看。因此,生成任何给定单词的概率仅取决于较早出现的单词。
然而,以上的这种方法很可能会被 Meta 提出的新方法取代。
一次预测更多的 token
Meta 提出了一种全新的模型训练方法,这也意味着模型的整体架构发生了变化。
简而言之,Meta 修改 LLM 以预测接下来'k'个单词而不是下一个单词 (这里的 k 固定为 4)。为此,可以向模型添加更多输出头,每个头执行相同的练习:预测序列中接下来的 4 个 token。
[图示:多输出头架构示意图]
需要注意的是,这并不意味着预测的 token 总数为 16。虽然所有四个头都会产生 4 个 token,但模型只保留每个头中的最后一个 token (在上图中表示为单词 5、6、7 和 8)。


