Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Anthropic 公司研究人员从简单的 AI 中获得关于 Transformer 的新理解

编辑 | 橘子皮

在过去的两年里,人工智能程序的语言流畅度达到了惊人的水平。其中最大和最好的都是基于 2017 年发明的称为 Transformer 的架构。它以方程式列表的形式作为程序遵循的一种蓝图。

但除了这个简单的数学大纲之外,我们真的不知道 Transformers 对它们处理的单词做了什么。普遍的理解是,它们可以以某种方式同时关注多个单词,从而可以立即进行「大图」分析,但是这究竟是如何工作的——或者它是否是理解 Transformers 的准确方式——尚不清楚。就好比一道菜,我们只知道成分,但不知道配方。

现在,来自 Anthropic 公司的研究人员进行的两项研究,已经开始从根本上弄清楚 Transformers 在处理和生成文本时在做什么。在他们于 12 月发布的第一篇论文中,作者着眼于架构的简化版本并充分解释了它们的功能。以色列海法理工学院的 Yonatan Belinkov 说:「它们很好地描述了它们在非常简单的情况下是如何工作的……我对这项工作感到非常积极。它很有趣,有点独特和新颖,很有前途。」

论文链接:https://transformer-circuits.pub/2021/framework/index.html

作者还表明,简单的 Transformer 从学习基本语言模式到获得语言处理的一般能力。「你会看到能力的飞跃。」哈佛大学的 Martin Wattenberg 说, 作者是在「破译配方」。

在 3 月 8 日发表的第二篇论文中,研究人员表明,负责这种能力的相同组件也在最复杂的Transformer中发挥作用。虽然这些模型的数学在很大程度上仍然难以理解,但结果为理解提供了一个途径。「他们在玩具模型中发现的东西可以转化为更大的模型。」Conjecture 公司和研究小组 EleutherAI 的 Connor Leahy 说。

论文链接:https://transformer-circuits.pub/2022/in-context-learning-and-induction-heads/index.html

理解 Transformer 的难点在于它们的抽象性。传统程序遵循可理解的过程,例如每当看到「green」一词时就输出「grass」一词,而 Transformer 将「green」一词转换为数字,然后将它们乘以某些值。这些值(也称为参数)决定下一个单词是什么。它们在称为训练的过程中得到微调,模型学习如何产生最佳输出,但尚不清楚模型正在学习什么。

大多数机器学习程序将它们的数学打包成称为神经元的模块化成分。Transformer 加入了一种额外的成分,称为注意力头,它的头组分层排列(就像神经元一样)。但是头部执行与神经元不同的操作。头部通常被理解为允许程序记住输入的多个单词,但这种解释远非确定。

注意力机制显然有效。它取得了很好的效果。」Wattenberg 说,「问题是:它在做什么?我的猜测是它正在做很多我们不知道的事情。」

为了更好地理解 Transformer 的工作原理,Anthropic 研究人员简化了架构,去掉了所有的神经元层和除一层或两层注意力头之外的所有层。这让他们发现了 Transformer 和他们完全理解的更简单模型之间的联系。

考虑一种最简单的语言模型,称为二元模型,它再现了基本的语言模式。例如,在对大量文本进行训练时,二元模型会注意单词「green」后面最常出现的单词(例如「grass」)并记住它。然后,在生成文本时,它会重现相同的模式。通过为每个输入单词记住一个相关的后续单词,它可以获得非常基本的语言知识。

研究人员表明,具有一层注意力头的 Transformer 模型做了类似的事情:它再现了它所记忆的内容。假设你给它一个特定的输入,比如「史密斯医生去商店,因为医生……」这个输入被称为提示或上下文。对我们来说,下一个词是显而易见的——史密斯。

训练有素的单层模型中的注意力头可以分两步进行此预测。首先,它查看上下文中的最后一个词(医生),并在它已经学习(在训练期间)的上下文中搜索一个特定的词以与最后一个词相关联。然后,对于它找到的任何单词,它会查找另一个它已经学会的,且与找到的单词相关联的单词,就像在二元模型中一样(这可以是同一个词)。然后它将这个关联的词移动到模型的输出中。

对于这个例子,研究人员表明,根据最后一个词「医生」,头部从训练中知道搜索一个通用名称的词。在句子前面找到「Smith」这个名字时,头部会查看它所学到的与「Smith」相关联的内容,并将该词移动到输出中。(在这种情况下,模型已经学会将同一个词「Smith」与找到的词「Smith」相关联。)整个过程的净效果是模型将「Smith」这个词从上下文复制到输出。

「在这里,我们实际上可以理解注意力的作用。」共同作者之一 Anthropic 的 Chris Olah 说。

但记忆只能采取模型到目前为止。考虑一下当史密斯的名字变成一个虚构的名字时会发生什么,比如「Gigamuru」。对我们来说,句子完成仍然很明显——Gigamuru——但模型在训练期间不会看到虚构的词。因此,它不可能记住它与其他词之间的任何关系,也不会生成它。

Anthropic 团队发现,当他们研究一个更复杂的模型时——一个有两层注意力头的模型——一个解决方案出现了。它依赖于注意力头独有的能力:他们不仅可以将信息移动到输出,还可以移动到上下文中的其他位置。使用这种能力,第一层的头部学习用关于它之前的单词的信息来注释上下文中的每个单词。然后,第二个头可以搜索以单词「医生」(在本例中为「Gigamuru」)之前的单词,并像单层模型中的头一样,将其移动到输出。研究人员将后一层中的注意力头与前一层中的头协作称为感应头。它不仅仅是记忆。

「它正在做一些看起来更像抽象推理或实现算法的事情。」Anthropic 的 Nelson Elhage 说,他也是合著者,「这有点那种味道。」

感应头让两层模型做得更多,但它们与全尺寸Transformer的相关性尚不清楚,它们有数百个注意力头协同工作。在他们的第二篇论文中,研究人员发现这些发现得到了延续:感应头似乎对最复杂的多层架构的一些显著行为做出了重大贡献。

在这些行为中,算术的能力很显著,因为模型只被训练来完成文本。例如,如果给出重复提示:「问:48 加 76 等于多少?答:124,问:48 加 76 等于多少?A:……」一个完整的模型会得到正确的答案。并且在给出足够多的非重复示例后,它将能够正确回答它从未见过的算术问题。这种从上下文中明显学习新能力的现象称为上下文学习。

这种现象令人费解,因为从上下文中学习是不可能的。这是因为决定模型性能的参数仅在训练期间进行调整,而不是在模型处理输入上下文时进行调整。

感应头至少解决了部分难题。他们解释了上下文学习的简单、重复形式是多么可能,提供了所需要的:复制模型尚未经过训练可以使用的新词(如「Gigamuru」或「124」)的能力。

「感应头更有可能做任何模式,即使它有点奇怪或新奇。」另一位合著者 Anthropic 的 Catherine Olsson 说。

研究人员更进一步,在多层模型中识别感应头,并表明它们参与了更新颖的上下文学习形式,例如学习语言之间的翻译。

「这并不是要解释整个机制。」OpenAI 的 Jacob Hilton 说,「只是感应头似乎参与其中。」

结果为我们了解 Transformer 提供了一个立足点。他们不仅在获取知识,而且还在学习处理他们根本没有学到的东西的方法。也许通过知道他们这样做,我们可以对它们让我们感到惊讶而不那么惊讶。

相关报道:https://www.quantamagazine.org/researchers-glimpse-how-ai-gets-so-good-at-language-processing-20220414/

理论Transformer通用人工智能
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

算术技术

算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运算基本性质的数学分支。

推荐文章
暂无评论
暂无评论~