研究发现,70%的注意力头和20%的前馈网络可以被移除,而对上下文学习的影响微乎其微,这表明大型语言模型存在训练不足的情况。
大型语言模型已经存在一段时间,但随着ChatGPT的出现,今年真正引起了公众的广泛关注。大型语言模型通常在海量数据上进行预训练;最近的变体还通过强化学习进行了调整,以遵循指令并整合人类反馈。
这些大型语言模型展示的一个迷人能力是上下文学习,即模型只需通过跟随提供的几个(有时甚至是零个)良好示例,就能学会执行新输入的任务。在这种学习范式下,当预训练数据量固定时,更大的大型语言模型被证明比小型模型更能执行各种任务。
在今年计算语言学协会会议上发表的一篇论文中,我们从架构可解释性的角度研究了模型规模对上下文学习的重要性。我们特别提出了一个问题:执行上下文学习真的需要所有大型语言模型组件吗?
我们将对OPT-66B模型的案例研究作为调查方式。OPT-66B是一个拥有660亿参数的的大型语言模型,去年由某机构开源,作为GPT-3的开放复制品(在我们研究时是当时最大的公开可用的仅解码器大型语言模型)。
我们发现模型的很大一部分可以被丢弃而不影响性能,这表明OPT-66B以及很可能其他著名的大型语言模型都存在训练不足的情况。我们相信我们的发现有助于通过识别(或更普遍地提供识别方法)可能需要更好训练的架构元素来构建更强大的大型语言模型。
现代大型语言模型使用Transformer架构,该架构依赖于注意力机制:模型学习预测在预测当前token时应该关注序列中的哪些先前token。
具体来说,大型语言模型使用多头注意力,意味着它们并行应用多个注意力机制或头。OPT-66B有64层,每层有72个注意力头。多头注意力的输出在每一层通过一个单独的前馈网络。
我们分析OPT-66B的第一种方法是为每个注意力头和前馈网络分配一个分数,表明它们对给定任务的重要性。基于这些分数,我们随后对模型进行了剪枝。
我们发现重要的注意力头主要聚集在模型的中间层,而重要的前馈网络主要在后层。当高达70%(在OPT-66B中约157亿参数)的注意力头被移除时,在14个不同自然语言处理数据集/任务上执行零样本/少样本上下文学习的能力几乎保持不变。
对于上下文学习重要(和不重要)的注意力头似乎在任务和样本数量上也存在重叠。这表明一个常见的与任务无关的注意力头子集负责上下文学习。我们还发现,高达20%的前馈网络(约85亿参数)可以被移除,而对零样本/少样本上下文学习的性能影响极小。
我们的第二种分析技术是量化OPT-66B中所有注意力头执行与上下文学习相关的两种任务无关的原始操作的能力。这些原始操作是前缀匹配和复制:显式搜索上下文中当前token的先前出现并复制其后继token(其后缀)。
专门用于这两种操作的头首先由机器学习研究公司Anthropic发现,并称为归纳头。我们发现OPT-66B中的一小部分头对这两种原始操作都具有显著的分数。我们还发现这些头与之前识别的特定任务重要的头有不同程度的重叠。这表明归纳头能够执行与上下文学习相关的更复杂行为,例如潜在概念匹配,但它们并非唯一具有这种能力的头。
我们最重要的观察是,似乎只有核心的注意力头和前馈网络核对于上下文学习很重要,这表明OPT-66B以及很可能其他著名的大型语言模型都存在训练不足的情况。这也强化了最近的研究,这些研究质疑在扩大模型规模时保持预训练数据量固定的效果,表明为了获得最佳性能,所见预训练数据量必须与模型本身同步扩展。看看自我们研究发布以来新发布的大型语言模型变体(例如那些调整以遵循指令的模型)在此类分析中的表现将会很有趣。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。