点击下方 卡片 ,关注“ 慢慢学AIGC ”
图片来源:https://openart.ai/discovery/sd-1008235131640741898
深入探讨大语言模型最新进展
在为 DeltaHacks 做指导时,我遇到了这个问题,但无法给出一个令自己信服的答案。于是我做了一些调查,结果发现这是一个值得深入探讨的有趣话题。它涉及对 transformer、架构、数学和工程优化的理解。在这里,我将分享我在这个过程中获得的一些见解。
语言模型架构概述
让我们首先熟悉一些架构术语。
编码器和解码器
- 编码器:处理并将输入数据转换为浓缩表示,捕获关键信息。在翻译任务中,编码器接收英语句子并将其转换为表示其语言特征和含义的向量。
- 解码器:接收编码后的表示并生成输出,通常以不同的形式呈现。在同样的翻译任务中,解码器接收英语句子的编码表示,并生成其法语等效表述。
图片来源:Jay Alammar 的博客《可视化神经机器翻译模型》
仅编码器模型
- 示例:基于 BERT 的模型
- 预训练方法:掩码语言建模(Masked Language Model, MLM)
- 用途:需要深入理解输入数据的任务。这些模型在分类、情感分析和信息提取方面很有效。
仅解码器模型
- 示例:GPT,XLNet
- 预训练方法:下一个词预测(Next Token Prediction,NTP)
- 用途:生成任务。它们通过基于提供的上下文以自回归方式预测后续文本来工作。它们的主要功能是在没有单独编码阶段的情况下生成输出。
编码器-解码器模型
- 示例:T5, BART, Google Gemini(可能)
- 预训练:取决于任务
- 用途:涉及理解和生成数据的任务。它们首先将输入序列编码为内部表示,然后将此表示解码为输出序列。
比较这些架构的用途,我们可以首先轻易排除仅编码器模型:它们通常使用 MLM 预训练,不一定有助于生成输出。
另一方面,仅解码器模型非常有意义:它们用于生成输出,并在下一个词预测任务上预训练,这正是大多数大语言模型的任务。
问题实际上归结为仅解码器与编码器-解码器架构的比较:
既然有解码器组件并因此具备生成能力,那么额外的编码器组件不是只会有帮助吗?
因果解码器(CD) vs 编码器-解码器(ED)
仅解码器(也称为因果解码器)与编码器-解码器模型的性能比较早已被研究。较早的工作之一是 Wang 等人发表在 ICML 2022 上的论文《什么语言模型架构和预训练目标最适合零样本泛化?》【2】。在这项研究中,研究人员比较了各种架构和预训练方法的组合。他们发现:
我们的实验表明,在纯自监督预训练后,在自回归语言建模目标上训练的因果解码器模型表现出最强的零样本泛化能力。
然而,在我们的实验中,对输入有非因果可见性、使用掩码语言建模目标进行训练,然后进行多任务微调的模型表现最佳。
图片来源:ICML 2022 论文《什么语言模型架构和预训练模板最适合零样本泛化?》
好的, 所以编码器-解码器 > 仅解码器 > 仅编码器, 对吗?
事实证明,尽管前述论文揭示了一些开发更大模型的宝贵见解,但在选择架构时还需要考虑其他一些因素。
训练成本
要发挥 ED 的最大潜力,我们需要在标记数据上进行多任务微调(基本上就是指令微调),这对于更大的模型来说可能非常昂贵。
另一方面,CD 模型由于其强大的零样本泛化能力而达到了很好的性能,这与当前的惯例 - 在大规模语料库上进行自监督学习 - 很好地契合。
涌现能力
该论文中比较的模型具有约 50 亿参数,并在 1700 亿个词元上进行了训练。这还不足以解释一些神奇的现象 - 大语言模型的涌现能力。
图片来源:Yao Fu《LLM 涌现能力详解》【3】
大语言模型(LLM)的涌现能力指的是模型展示出在训练过程中未明确教授的新的、复杂的能力,这些能力随着模型规模和复杂性的增加而自然产生。Yao Fu 的这篇关于涌现能力的博客【3】是一个很好的学习资源。
本质上,涌现能力使 LLM 能够进行某种程度的复杂推理。例如,从非结构化文本中提取结构化知识。这种能力使 LLM 能够理解一些自然蕴含在其训练文本语料中的 NLP 任务。对于较简单的任务,我们可以认为具有涌现能力的 LLM 在训练过程中已经进行了微调,对于更复杂的任务,它可以将其分解为更简单的任务。涌现能力并不一定更多地赋予仅解码器模型而非 ED 模型,但它们减少了 ED 模型通过多任务微调实现的性能优势。
从提示中进行上下文学习
另一个需要考虑的是提示。在使用 LLM 时,我们可以应用提示工程方法,如提供少样本示例来帮助 LLM 理解上下文或任务。在 Dai 等人的这篇论文【1】中,研究人员在数学上证明,这种上下文信息可以被视为具有类似梯度下降的效果,更新零样本提示的注意力权重。
如果我们将提示视为引入注意力权重的梯度,我们可能会期望它对仅解码器模型有更直接的效果,因为它不需要先转换为中间上下文才能用于生成任务。从逻辑上讲,它仍然应该适用于编码器-解码器架构,但它需要仔细调整编码器以达到最佳性能,这可能很困难。
效率优化
在仅解码器模型中,来自先前词元的键(K)和值(V)矩阵可以在解码过程中被后续词元重复使用。由于每个位置只关注先前的词元(由于因果注意力机制),这些词元的 K 和 V 矩阵保持不变。这种缓存机制通过避免重新计算已处理词元的 K 和 V 矩阵来提高效率,从而在像 GPT 这样的自回归模型中实现更快的生成和更低的推理计算成本。
自回归 vs 双向注意力
关于底层注意力机制的差异,还有一个有趣的观点,即仅解码器(因果解码器)的自回归和编码器-解码器的双向注意力。我们可以可视化它们如何关注不同位置:
在 Transformer 架构中,注意力矩阵的计算方式是将两个低维矩阵(Q 和 K^T)相乘,然后应用 softmax 操作。在仅解码器架构中,由于因果掩码(防止模型看到未来的词元),注意力矩阵被限制为下三角形式,理论上维持其满秩状态:对角线上的每个元素(表示自注意力)都有助于使行列式为正(你只能从 softmax 得到正结果)。满秩状态意味着理论上更强的表达能力。
另外两种生成架构都引入了双向注意力,因此不能保证其注意力矩阵的满秩状态。作者认为这将限制模型的性能。他设置了一个实验来验证这个假设,将双向注意力矩阵分割成单向的,一半的注意力头向前关注,另一半向后关注。然后他比较了这种前后(FB)注意力与完全双向注意力模型的性能。FB 注意力确实表现更好,这在某种程度上验证了这个理论,但改进相当微小,似乎并不表明有显著差异,尤其是在模型得到充分训练的情况下。
图片来源:苏建林博士科学网博客【6】
这在直觉上是有道理的。双向注意力就像一把双刃剑:它加快了学习过程,但也某种程度上"宠坏"了模型,使其不能学习对生成至关重要的更深层次的预测模式。你可以把它想象成学习写作:填空比一个词一个词地写整篇文章更容易,但它会是一种不太有效的练习方式。然而,经过大量的训练,两种方法都能达到学会写作的目标。
我学到了什么
仅解码器架构的流行来自于其简单性、良好的零样本泛化能力,以及较低的训练成本就能达到合理的性能。已经有许多工作研究了仅解码器和编码器-解码器架构的性能,但是在有充分的训练和模型大小的情况下,实际上没有确凿的证据证明一种架构在最终性能上优于另一种。
事实上,Google Gemini 恰恰显示了编码器-解码器模型可以工作得同样好,甚至在某些任务中超过仅解码器架构。 编码器组件通过能够从非文本输入中提取信息来支持"内置多模态性" ,这可能对未来一代 LLM 至关重要。我们最初的问题实际上应该是 - 为什么大多数 LLM 曾经是仅解码器的 - 它显示了一个时代,每个人主要致力于推进仅解码器架构。尽管如此,我认为它仍然揭示了大量关于理解 LLM 内部机制如何工作以及它们进步历史的见解。令人兴奋的是目睹在寻求 AGI 的过程中接下来会发生什么。
作者: Yumo Bai,发表于 2024 年 2 月 3 日,点击底部“阅读原文”跳转至 Medium 原文。以上内容为 AI 生成。
参考文献
【1】 Dai, D., Sun, Y., Dong, L., Hao, Y., Sui, Z., & Wei, F. (2022). Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers. Retrieved from https://arxiv.org/abs/2212.10559
【2】 The BigScience Architecture & Scaling Group. (2022). What Language Model Architecture and Pretraining Objective Work Best for Zero-Shot Generalization? Retrieved from https://arxiv.org/abs/2204.05832
【3】 Fu, Y., Khot, T., & Peng, H. (2022, November 20). A Closer Look at Large Language Models Emergent Abilities. Retrieved from https://yaofu.notion.site/A-Closer-Look-at-Large-Language-Models-Emergent-Abilities-493876b55df5479d80686f68a1abd72f
【4】 Wei et al. (2022). Emergent Abilities of Large Language Models. Retrieved from https://arxiv.org/abs/2206.07682
【5】 Dong, Y., Cordonnier, J.-B., & Loukas, A. (2021). Attention is not all you need: pure attention loses rank doubly exponentially with depth. Retrieved from https://arxiv.org/abs/2103.03404
【6】 苏剑林. (Mar. 17, 2023). 《为什么现在的LLM都是Decoder-only的架构?》[Blog post]. Retrieved from https://kexue.fm/archives/9529
【7】 Alammar, J (2018). The Illustrated Transformer [Blog post]. Retrieved from https://jalammar.github.io/illustrated-transformer/