作者 | Mordechai Rorvig
编译 | bluemin
编辑 | 陈彩娴
在过去的两年里,基于Transformer架构开发的大规模语言模型在性能(如语言流畅度)上达到了令人叹为观止的效果。
但是,Transformer对单词的处理方法是什么?学术界仍未有确定的答案。普遍的理解是,transformer模型能够以某种方式同时关注多个单词,以便立即进行“全局”分析。但它到底是如何工作的,或者这是否是transformer模型的真正处理方式,仍旧扑朔迷离。
换言之,我们知道菜品的配料,但不知道配方。
针对这一问题,一家叫做 Anthropic AI 公司的研究人员进行了两项研究,希望从根本上理清transformer在处理和生成文本时的工作内容是什么。
他们发现,少于两层、且只有注意力块的transformer在某些方面也能达到复杂transformer的效果,且能够帮助理解背后的工作机制。
1 少于两层的Transformer在12月发布的第一篇论文(如下)中, Anthropic AI 公司的科研人员研究了transformer的简化版本,并全面解释了它们的功能。
这个工作得到了以色列理工学院 Yonatan Belinkov 的高度评价:“这篇论文很好地讲述了transformer架构在非常简单的情况下是如何工作的。”“我非常看好这项工作,它既有趣又有前途,并且有些独特和新颖。”
图注:从左到右分别为 Chris Olah、Catherine Olsson 与 Nelson Elhage
不过,到目前为止,记忆只能采用一种模式。不妨想一下,当Smith的名字变成了一个虚构的名字,比如“Gigamuru”时会发生什么。对我们而言,预测下一个单词轻而易举,但模型在训练期间不会识别出虚构的词,因此不可能记住它与其他词之间的任何关系,也不会生成它。
2 引入归纳头Anthropic 团队还发现,当他们研究一个更复杂的模型时,比如一个有两层attention head的模型,出现了一种解决方案。它依赖于attention head独有的能力:不仅可以将信息移动到输出,还可以移动到上下文中的其他位置。这种能力可以使第一层的head利用前面单词的信息,学习注释上下文中的每个单词。然后,第二个head可以搜索“Doctor”(在本例中为“Gigamuru”)之前的单词,并像单层模型中的head一样,将其移动到输出。
研究人员将后一层与前一层协作的attention head称为induction head(归纳头)。它不仅仅起到记忆的作用。根据Nelson Elhage的解释,它还可以做一些看起来更像是抽象推理或算法实现的工作。
induction head可以让两层模型发挥更大的作用,但它们与全尺度transformer的相关性尚不清楚,因为全尺度transformer有数百个attention head协同工作。在他们的第二篇论文中,研究人员表示这些发现得到了延续:induction head似乎对一些最复杂、多层结构的行为起到了关键作用。
在这些行为中,算术能力尤为突出,因为模型只接受了完成文本的训练。例如,如果给出重复提示:“问:48 76是多少?答:124,问:48 76是多少?答:“全尺度模型会得到正确答案。”。在给出充足的非重复性示例后,它将能够正确回答从未见过的算术问题。这种从语境中学习新能力的现象被称为上下文学习。
这种现象令人费解,因为从上下文中学习是不可能的。这是因为决定模型性能的参数只在训练期间调整,而不是在模型处理输入上下文时调整。
induction head至少解决了部分难题。它们解释了如何使上下文学习的简单和重复形式成为可能,并且提供了所需的功能:能够复制模型没有训练过的新单词(如“Gigamuru”或“124”)。
另一位来自Anthropic的合著者Catherine Olsson说:“induction head更有可能执行任何模式,即使它有些奇异或新颖。”
研究人员进一步在多层次模型中识别出induction head,并表明它们参与了更新颖的上下文学习形式,比如学习语言间的翻译。
“这并不是要解释整个机制,”OpenAI 的 Jacob Hilton 说。“只是induction head似乎参与其中。”
这些结果为我们理解transformer模型提供了一个立足点。它们不仅在获取知识,还在学习如何处理他们根本没有学到的事物。也许通过了解其工作机制,我们可以对“大放异彩”的transformer少些惊讶与感叹。
原文链接:
相关文章
猜你喜欢