Transformer 模型简介:它们是什么以及它们如何工作
已发表: 2024-08-07Transformer 是人工智能领域的一项突破,尤其是在自然语言处理 (NLP) 领域。它们以其性能和可扩展性而闻名,在语言翻译和对话式人工智能等应用中至关重要。本文探讨了它们的结构、与其他神经网络的比较以及它们的优缺点。
目录
- 什么是变压器模型?
- Transformer 与 CNN 和 RNN
- 变压器模型如何工作
- 变压器模型示例
- 优点
- 缺点
什么是变压器模型?
Transformer 是一种广泛应用于 NLP 中的深度学习模型。由于其任务性能和可扩展性,它是GPT系列(OpenAI制造)、Claude(Anthropic制造)和Gemini(Google制造)等模型的核心,并在整个行业得到广泛应用。
深度学习模型由三个主要部分组成:模型架构、训练数据和训练方法。在这个框架内,变压器代表一种模型架构。它定义了神经网络的结构及其相互作用。 Transformer 与其他机器学习 (ML) 模型的关键创新在于“注意力”的使用。
注意力是 Transformer 中的一种机制,使它们能够有效地处理输入并维护长序列(例如整篇文章)的信息。
下面举一个例子来说明。 “那只猫坐在河边。然后它就移动到附近树的树枝上。”你可以认识到这里的“银行”并不是你存钱的银行。您可能会使用“河流”的上下文线索来解决这个问题。注意力的作用类似;它使用其他单词来定义每个单词的含义。例子中的“it”指的是什么?该模型会将“移动”和“树”这两个词视为线索,以认识到答案是“猫”。
尚未解答的重要问题是模型如何知道要查看哪些单词。我们稍后会讨论这个问题。现在我们已经定义了变压器模型,让我们进一步解释为什么它被如此频繁地使用。
Transformer 与 CNN 和 RNN
循环神经网络(RNN)和卷积神经网络(CNN)是另外两种常见的深度学习模型。虽然 RNN 和 CNN 有其优点,但 Transformer 的使用更为广泛,因为它们可以更好地处理长输入。
Transformer 与 RNN
RNN 是顺序模型。一个恰当的比喻是一个人在读书。当他们逐字阅读时,他们对书的记忆和理解不断发展。对于精明的读者来说,他们甚至可能根据之前发生的事情来预测接下来会发生什么。 RNN 以同样的方式运行。它逐字读取,更新其记忆(称为隐藏状态),然后可以做出预测(例如,句子中的下一个单词或某些文本的情绪)。缺点是隐藏状态不能容纳太多信息。如果您将整本书输入 RNN,它不会记住有关介绍章节的许多细节,因为其隐藏状态下的空间有限。后面的章节由于最近被添加到隐藏状态而获得优先权。
变形金刚不会遇到同样的内存问题。他们将输入中的每个单词与其他单词进行比较(作为注意力机制的一部分),因此他们不需要使用隐藏状态或“记住”之前发生的事情。使用同一本书的类比,变压器就像一个人阅读书中的下一个单词,然后查看书中前面的每个单词以正确理解新单词。如果一本书的第一句包含短语“他出生在法国”,而一本书的最后一句包含短语“他的母语”,则变压器将能够推断出他的母语是法语。 RNN 可能无法做到这一点,因为隐藏状态不能保证保留该信息。此外,RNN 需要一次读取每个单词,然后更新其隐藏状态。变压器可以并行地应用它的注意力。
Transformer 与 CNN
CNN 使用序列中每个项目的周围上下文来分配含义。对于页面上的某个单词,CNN 会查看紧邻该单词周围的单词,以找出该单词的含义。它无法连接一本书的最后一页和第一页。 CNN 主要用于图像,因为像素与其邻居的相关性通常比单词的相关性要高得多。也就是说,CNN 也可用于 NLP。
Transformer 与 CNN 的不同之处在于,它们不仅仅关注某个项目的直接邻居。他们使用注意力机制将输入中的每个单词与其他单词进行比较,从而提供对上下文更广泛、更全面的理解。
变压器模型如何工作?
Transformer 具有注意力块层、前馈神经网络 (FNN) 和嵌入。该模型接受基于文本的输入并返回输出文本。为此,它遵循以下步骤:
1标记化:将文本转换为标记(类似于将句子分解为单个单词)。
2嵌入:将标记转换为向量,并结合位置嵌入,以便模型了解标记在输入中的位置。
3注意力机制:使用自注意力(对于输入令牌)或交叉注意力(在输入令牌和生成令牌之间)处理令牌。这种机制允许模型在生成输出时权衡不同令牌的重要性。
4 个FNN:将结果传递给 FNN,这允许模型通过引入非线性来捕获复杂模式。
5重复:通过多个层多次重复步骤 3-4,以细化输出。
6输出分布:生成所有可能标记的概率分布。
7令牌选择:选择概率最高的令牌。
这一过程构成了对变压器模型的一次前向传递。该模型会重复执行此操作,直到完成输出文本。在每次传递中,嵌入过程可以并行执行,注意力机制和前馈阶段也可以并行执行。本质上,变压器不需要一次处理每个令牌。它可以同时关注所有代币。
我们现在可以转向之前的问题:模型如何知道要关注哪些令牌?答案很简单,只需查看大量训练数据即可。首先,模型会处理错误的标记,因此会生成错误的输出。使用训练数据附带的正确输出,可以修改注意力机制以在下次输出正确答案。在数十亿(甚至数万亿)个示例中,注意力机制几乎总是可以选择正确的标记。
变压器模型示例
变形金刚无处不在。虽然 Transformer 最初是为翻译而设计的,但它已经可以很好地扩展到几乎所有语言、视觉甚至音频任务。
大型语言模型
Transformer 架构支持几乎所有大型语言模型 (LLM):GPT、Claude、Gemini、Llama 和许多较小的开源模型。法学硕士可以处理各种文本(以及越来越多的图像和音频)任务,例如问答、分类和自由格式生成。
这是通过数十亿文本示例(通常从互联网上抓取)训练 Transformer 模型来实现的。然后,公司根据分类示例对模型进行微调,以教会模型如何正确执行分类。简而言之,该模型学习广泛的知识库,然后通过微调“教授”技能。
视觉变形金刚
视觉变压器是适用于图像的标准变压器。主要区别在于标记化过程必须使用图像而不是文本。一旦输入变成标记,就会发生正常的转换器计算,最后,输出标记用于对图像进行分类(例如,猫的图像)。视觉转换器通常与文本法学硕士合并以形成多模式法学硕士。这些多模态模型可以接收图像并对其进行推理,例如接受用户界面草图并获取创建它所需的代码。
CNN 在图像任务中也很流行,但 Transformer 允许模型使用图像中的所有像素,而不仅仅是附近的像素。例如,如果图像最左侧包含停车标志,最右侧包含汽车,则模型可以确定汽车需要停车。 CNN 可能无法连接这两个数据点,因为它们在图像中彼此相距很远。
音频变压器
音频变压器与视觉变压器一样,都是标准变压器,具有专为音频数据量身定制的独特标记化方案。这些模型可以处理文本和原始音频作为输入,输出文本或音频。 Whisper 就是一个例子,它是一种将原始音频转换为文字记录的语音到文本模型。它通过将音频分割成块,将这些块转换成频谱图,并将频谱图编码成嵌入来实现这一点。然后,这些嵌入由转换器处理,生成最终的转录标记。
除了语音到文本应用程序之外,音频转换器还有各种其他用例,包括音乐生成、自动字幕和语音转换。此外,公司正在将音频变压器与法学硕士集成,以实现基于语音的交互,允许用户通过语音命令提出问题并接收响应。
变压器型号的优点
由于其在各种任务中的可扩展性和卓越性能,Transformer 在机器学习领域已经变得无处不在。他们的成功归功于几个关键因素:
长上下文
注意力机制可以将输入序列中的所有标记进行相互比较。因此,整个输入中的信息将被记住并用于生成输出。相比之下,RNN 会忘记较旧的信息,而 CNN 只能使用与每个 token 接近的信息。这就是为什么您可以将数百个页面上传到 LLM 聊天机器人,向其询问有关任何页面的问题,并获得准确的答复。 RNN 和 CNN 缺乏长上下文是 Transformer 在任务中击败它们的最大原因。
并行性
变压器中的注意力机制可以在输入序列中的所有标记上并行执行。这与 RNN 形成鲜明对比,RNN 顺序处理标记。因此,变压器可以更快地进行培训和部署,从而为用户提供更快的响应。与 RNN 相比,这种并行处理能力显着提高了 Transformer 的效率。
可扩展性
研究人员不断增加变压器的尺寸和用于训练它们的数据量。他们还没有看到 Transformer 可以学习的数量的限制。 Transformer 模型越大,它可以理解和生成的文本就越复杂和细致(GPT-3 有 1750 亿个参数,而 GPT-4 有超过 1 万亿个参数)。值得注意的是,扩大 Transformer 模型(例如与 10 亿参数模型相比创建 100 亿参数模型)并不需要明显更多的时间。这种可扩展性使 Transformer 成为各种高级应用程序的强大工具。
变压器模型的缺点
变压器模型的缺点是它们需要大量的计算资源。注意力机制是二次的:输入中的每个标记都会与其他每个标记进行比较。两个令牌将进行 4 次比较,三个令牌将进行 9 次比较,四个令牌将进行 16 次比较,依此类推 — 本质上,计算成本是令牌计数的平方。这个二次方成本有几个含义:
专用硬件
LLM 无法轻松在普通计算机上运行。由于其尺寸,它们通常需要数十 GB 的 RAM 来加载模型参数。此外,传统 CPU 并未针对并行计算进行优化。相反,需要 GPU。在 CPU 上运行的 LLM 可能需要几分钟才能生成单个令牌。不幸的是,GPU 并不是最便宜或最容易使用的硬件。
输入长度有限
Transformer 可以处理的文本量有限(称为上下文长度)。 GPT-3 最初只能处理 2,048 个令牌。注意力实现的进步已经产生了上下文长度高达 100 万个标记的模型。即便如此,仍需要大量研究来找到上下文长度的每个额外标记。相反,RNN 没有最大上下文长度。随着输入的增加,它们的准确性会大大下降,但您现在可以将 200 万个令牌长的输入输入其中。
能源成本
为变压器计算供电的数据中心需要能源来运行它们,并需要水来冷却它们。据估计,GPT-3 的训练需要 1,300 兆瓦时的电力:相当于为美国 130 个家庭供电一整年。随着模型变大,所需的能量也会增加。到2027年,人工智能行业每年所需的电力可能与荷兰一样多。人们正在做出重大努力来减少能源变压器的需求,但这个问题尚未得到解决。