【人工智能】万字通俗讲解大语言模型内部运行原理 | LLM | 词向量 | Transformer | 注意力机制 | 前馈网络 | 反向传播 | 心智理论

大飞说科技
13 Aug 202338:45

Summary

TLDR本文深入探讨了大语言模型的工作原理,通过词向量、Transformer结构和训练过程的详细解释,揭示了这些模型如何理解和生成语言。文章指出,尽管大语言模型如GPT-3和GPT-4在预测下一个词方面表现出色,但其内部机制仍不为人类完全理解。模型通过学习大量文本数据,自发发展出高级推理能力,但其是否真正理解语言仍是哲学争论的焦点。

Takeaways

  • 📚 大语言模型的火爆起源于其内部独特的工作原理,其不同于传统软件的开发方式,而是基于庞大神经网络的训练。
  • 🧠 语言模型通过词向量(Word Vector)来表示单词,将单词转换为数字序列,从而能够进行数学运算和推理。
  • 🌐 词向量在向量空间中的位置反映了词与词之间的相似性,相似含义的词在空间中距离更近。
  • 🔍 Google的word2vec项目通过分析大量文档,学习单词之间的相似性和关系,引起了词向量领域的关注。
  • 🤖 大语言模型如GPT-3使用多层神经网络,每一层都会进一步细化词向量,以更好地预测下一个词。
  • 🔄 Transformer结构是大语言模型的核心,通过注意力机制和前馈网络处理和预测单词序列。
  • 💡 注意力机制允许模型中的每个单词根据上下文与其他单词交互,共享信息,从而更好地理解语言。
  • 📈 大语言模型的训练不依赖于显式标记的数据,而是通过预测大量文本中的下一个单词来学习。
  • 🚀 随着模型规模的增加,大语言模型在处理语言任务上的表现越来越好,且能够执行更复杂的推理任务。
  • 🧠 一些研究表明,大语言模型可能自发地发展出类似人类心智理论的能力,尽管这一观点仍有争议。
  • 🌟 大语言模型的成功部分归因于语言的可预测性和其与现实世界的关联,以及模型在大规模数据集上的训练。

Q & A

  • 大语言模型的工作原理是什么?

    -大语言模型通过预测文本中的下一个词来学习,使用神经网络处理语言数据。它们基于大量文本数据进行训练,通过调整数以亿计的参数来优化预测的准确性。

  • 词向量在大语言模型中起什么作用?

    -词向量是大语言模型用来表示单词的一种方式,它将单词转换为一串数字,这串数字能够捕捉到单词之间的相似性和关系。通过词向量,模型可以在高维空间中对单词进行计算和推理。

  • 什么是Transformer结构?

    -Transformer是一种神经网络结构,它是构建大语言模型如GPT的基石。Transformer通过注意力机制和前馈网络处理输入文本,逐层深化对语言的理解,并预测下一个词。

  • 大语言模型如何理解和处理歧义词?

    -大语言模型通过上下文信息来处理歧义词。模型会根据单词在句子中的不同位置和周围的词汇来调整其词向量,从而为每个特定上下文中的单词赋予不同的意义。

  • 大语言模型的训练过程是怎样的?

    -大语言模型的训练过程包括前向传播和反向传播两个步骤。在前向传播中,模型尝试预测下一个词;在反向传播中,模型根据预测结果调整权重参数以优化性能。这个过程需要大量的数据和计算资源。

  • 大语言模型的规模和性能有什么关系?

    -大语言模型的规模和性能呈幂率关系。模型越大,性能越好,前提是训练数据量也要相应增加。随着模型规模的增大,它们在处理语言任务时展现出更强大的能力和更高级的推理能力。

  • 大语言模型如何处理多义词和同音异义词?

    -大语言模型能够根据上下文为多义词和同音异义词分配不同的词向量。这样,模型就能区分同一个词在不同上下文中的不同含义,并作出相应的预测。

  • 大语言模型的注意力机制是如何工作的?

    -注意力机制通过为每个单词创建查询向量和关键向量来工作。通过计算这些向量的点积,模型可以确定哪些词与当前单词最相关,并将相关信息传递给当前单词,帮助模型更好地理解上下文。

  • 大语言模型如何使用前馈层进行预测?

    -前馈层通过模式匹配进行工作。每个神经元都能匹配输入文本中的特定模式,并根据这些模式添加信息到词向量中。这些信息可以帮助模型进行临时预测,从而预测下一个词。

  • 大语言模型在心智理论任务上的表现如何?

    -最新的大语言模型如GPT-3和GPT-4在心智理论任务上的表现接近于人类。它们能够处理涉及理解他人思维状态的复杂任务,尽管这种能力可能是自发出现的,而不是被有意设计进去的。

  • 大语言模型是否真正理解语言?

    -这是一个有争议的问题。一些人认为大语言模型通过大量训练能够真正理解语言的含义,而另一些人则认为它们只是在重复复杂的单词序列,并没有真正理解它们。目前还没有定论,但模型的表现和能力仍在不断增强。

Outlines

00:00

🤖 介绍大语言模型的工作原理

本段落介绍了大语言模型的基本概念和工作原理。提及了蒂姆·李和肖恩·特洛特的文章,该文章用简单的语言解释了大语言模型的内部机制。文章强调了大语言模型的火爆程度,以及大众对其工作原理的普遍不了解。同时,介绍了大语言模型的两个关键技术:词向量和Transformer,以及大语言模型如何通过预测下一个词来进行训练。

05:03

📈 词向量和向量空间

这一段深入探讨了词向量的概念,即用数字列表表示单词的方法,并解释了向量空间中相似含义的词会彼此靠近。通过类比地理坐标,说明了词向量如何帮助模型理解和推理语言。同时,提到了Google的word2vec项目,该项目通过分析大量文档来学习单词之间的关系,并通过向量运算展示了模型的推理能力。

10:06

🌐 多义词和上下文的理解

本段落讨论了自然语言中的多义词问题,即同一个词在不同上下文中可以有不同的含义。大语言模型能够根据上下文用不同的向量表示同一个词,从而理解词的准确含义。这需要模型理解单词在特定段落中的上下文,而不仅仅是单词本身的意义。

15:07

🧠 Transformer结构和神经网络层

这一段详细介绍了Transformer结构和神经网络层在大语言模型中的作用。每个Transformer层通过修改词向量来存储关于词的附加信息,帮助模型更好地预测接下来的词。文章通过一个简单的例子解释了Transformer如何工作,并提到了GPT-3模型的多层结构,以及每一层如何专注于理解句子的不同方面。

20:10

🔍 注意力机制和前馈网络

本段落解释了Transformer内部的注意力机制和前馈网络如何工作。注意力机制通过匹配查询向量和关键向量来传递信息,而前馈网络则独立分析每个单词向量并尝试预测下一个词。文章通过具体的例子展示了注意力头如何帮助模型进行预测,并讨论了前馈层如何通过模式匹配来处理信息。

25:12

📚 大语言模型的训练过程

这一段详细介绍了大语言模型的训练方式,强调了不需要显式标记数据,而是通过预测文本中的下一个词来学习。通过一个洗澡调整水温的类比,解释了训练过程中的前向传播和反向传播。同时,提到了训练大模型所需的巨大计算量和时间。

30:15

🚀 模型规模与性能的关系

本段落探讨了模型规模、数据集规模和计算量与大语言模型性能之间的关系。提到了OpenAI发布的一系列越来越大的模型,如GPT-1、GPT-2、GPT-3和GPT-4,并讨论了这些模型在处理语言任务上的性能提升。同时,提到了大模型在高级推理任务上的表现,以及它们在心智理论等任务上的进展。

35:15

🌟 总结与展望

最后一段总结了整个视频的内容,强调了大语言模型的工作原理和它们在理解语言方面的能力。同时,提出了关于大语言模型是否真正理解语言的哲学争论,并指出了这些模型在特定问题上始终得到正确答案的重要性。最后,呼吁观众对视频进行点赞、评论和转发,以帮助更多人理解大语言模型。

Mindmap

Keywords

💡大语言模型

大语言模型是一种人工智能技术,通过训练大量的文本数据,使其能够理解和生成自然语言。在视频中,大语言模型被描述为一种能够预测下一个词、理解上下文和执行复杂任务的系统,如撰写文章、进行类比甚至编写计算机代码。

💡词向量

词向量是自然语言处理中的一种技术,它将词汇表示为一串数字,这些数字能够捕捉到词与词之间的相似性和关系。在视频中,词向量被用来解释大语言模型如何通过数学方式表示单词,并在模型中进行处理。

💡Transformer

Transformer是一种深度学习模型的架构,特别适用于处理序列数据,如文本。它通过自注意力机制来捕捉序列中的长距离依赖关系,是构建大语言模型如GPT-3和GPT-4的基石。

💡自注意力机制

自注意力机制是Transformer架构中的关键组成部分,它允许模型在处理一个词时,同时考虑输入序列中的其他词,从而捕捉上下文信息。

💡训练数据

训练数据是用于训练机器学习模型的样本集合,对于大语言模型来说,通常包括大量的文本数据。模型通过学习这些数据中的模式和结构,来提高其预测下一个词的能力。

💡心智理论

心智理论是心理学中的一个概念,指个体理解他人心理状态的能力,如信念、意图和知识。在视频中,心智理论被用来衡量大语言模型是否能够理解他人的思维状态。

💡前馈层

前馈层是神经网络中的一层,它接收来自前一层的输入,并通过一系列计算生成输出,但不将信息反馈给前面的层。在大语言模型中,前馈层通过模式匹配来预测下一个词。

💡反向传播

反向传播是一种训练神经网络的算法,通过计算损失函数相对于网络权重的梯度,并据此调整权重,以最小化预测误差。

💡神经网络层

神经网络层是构成深度学习模型的基本单元,每一层由多个神经元组成,通过加权和和激活函数来处理输入信号。

💡算力

算力指的是计算机执行计算任务的能力,通常由处理器的速度和数量来衡量。在大语言模型的训练中,算力决定了模型能够处理的数据量和训练的速度。

Highlights

大飞介绍大语言模型的火爆背景

蒂姆·李和肖恩·特洛特联合编写解释大语言模型的文章

文章旨在用最少的数学知识解释大语言模型

大语言模型通过预测下一个词来进行训练

大语言模型的开发与一般软件开发的区别

词向量在语言模型中的重要性

Transformer结构是构建大语言模型的基石

大量数据对于训练大语言模型性能的重要性

大语言模型如何处理单词的多重含义

Google的word2vec项目对词向量研究的影响

大语言模型的训练过程和挑战

GPT-3的引入和其对科技界的影响

大语言模型如何在不同层次上理解和处理信息

语言模型的注意力机制如何工作

大语言模型的前馈层是如何预测下一个单词的

Transcripts

00:00

大家好这里是最佳拍档我是大飞

00:02

这半年时间啊

00:03

大语言模型无疑是最火爆的

00:06

但是我们呢一直没有好好的去讲一下

00:08

大语言模型内部究竟是如何工作的

00:12

不过最近啊

00:13

蒂姆·李(Tim Lee)和肖恩·特洛特(Sean Trott)

00:14

联合编写了一篇文章

00:16

用最少的数学知识和术语

00:18

对大语言模型进行了解释

00:21

先简单对文章作者做一下介绍啊

00:23

蒂姆·李曾经任职于科技媒体Ars Technica

00:27

他最近呢也推出了一份newsletter

00:29

《Understanding AI》

00:30

主要是探讨人工智能的工作原理

00:33

而肖恩特洛特呢

00:34

是加里福尼亚大学圣迭戈分校的助理教授

00:38

主要研究人类语言理解和语言模型

00:41

好了以下是我翻译的文章内容

00:44

咱们看看当你看完视频之后

00:46

究竟能否理解大语言模型的内部机制

00:49

全文呢几乎没有太复杂的数学概念、公式和运算

00:53

所以我觉得呢

00:54

对于很多初学者来说也是非常友好的

00:57

当ChatGPT在去年秋天推出的时候

01:00

在科技行业乃至全世界的范围内引起了轰动

01:04

当时呢机器学习的研究人员

01:06

已经研发了多年的大语言模型

01:09

但是普通大众并没有十分的关注

01:12

也没有意识到他们会变得有多强大

01:14

如今呢几乎每个人都听说过大语言模型了

01:18

并且呢有数千万人用过他们

01:20

但是了解他们工作原理的人并不多

01:24

你可能听说过

01:25

训练大语言模型是用来预测下一个词

01:28

而且呢他们需要大量的文本来实现这一点

01:32

但是一般的解释呢通常也就是止步于此

01:35

他们究竟如何预测下一个词的细节

01:38

往往被大家视为一个深奥的谜题

01:41

其中一个原因是

01:42

大语言模型的开发方式非常与众不同

01:46

一般的软件呢都是由人类工程师所编写的

01:49

他们为计算机提供明确的逐步的指令

01:53

而相比之下

01:54

ChatGPT是建立在一个

01:55

使用了数十亿个语言词汇

01:58

进行训练的神经网络之上

02:00

因此呢到现在为止

02:02

地球上也没有人完全理解

02:04

大语言模型的内部工作原理

02:07

研究人员正在努力尝试理解这些模型

02:10

但是这是一个需要数年

02:11

甚至几十年才能够完成的缓慢过程

02:15

不过呢专家们确实对这些系统的工作原理

02:18

已经有了不少的了解

02:20

我们的目的呢是将这些知识开放给广大的受众

02:23

我们将在不涉及技术术语或者高级数学的前提下

02:27

努力解释已知的大语言模型内部的工作原理

02:31

我们将从解释词向量Word Vector开始

02:34

这是语言模型表示和推理语言的一种令人惊讶的方式

02:39

然后我们将深入探讨Transformer

02:41

它是构建ChatGPT等模型的基石

02:44

最后呢我们将解释这些模型是如何训练的

02:48

并且探讨为什么要使用庞大的数据量

02:51

才能够获得良好的性能

02:53

要了解语言模型的工作原理

02:55

首先需要了解他们如何来表示单词

02:59

人类呢是用字母序列来表示英文单

03:02

词的比如说C-A-T cat表示猫

03:05

而语言模型呢使用的是一个叫做词向量的

03:09

一长串数字的列表

03:11

比如说这是一种将猫表示为向量的方式

03:14

完整的向量长度呢实际上有300个数字

03:18

那为什么要用这么复杂的表示方法呢

03:21

这里边啊有个类比

03:23

比如说华盛顿区位于北纬38.9度西经77度

03:28

我们可以用向量表示法表示为

03:30

华盛顿区的坐标是38.9和77

03:34

纽约的坐标呢是40.7和74

03:37

伦敦的坐标呢是51.5和0.1

03:40

巴黎的坐标呢是48.9和-2.4

03:43

这对于推理空间关系很有用

03:46

你可以看出纽约离华盛顿区很近

03:49

因为坐标中的38.9接近于40.7

03:53

而77呢接近于74

03:56

同样呢巴黎离伦敦也很近

03:58

但是巴黎离华盛顿区很远

04:01

大语言模型呢正是采用了类似的方法

04:04

每个词向量代表了词空间word space中的一个点

04:08

具有相似含义的词的位置互相会更为接近

04:12

比如说在向量空间中

04:14

与猫cat最接近的词就包括dog、kitten和pet

04:19

用实数向量来表示像cat这样的单词

04:22

它的一个主要优点就是

04:24

数字能够进行字母无法进行的运算

04:27

单词太过于复杂了

04:29

无法只使用二维来表示

04:31

因此大语言模型使用了具有数百甚至数千维度的向量空间

04:36

人们无法想象具有如此高维度的空间

04:39

但是计算机完全可以对它进行推理

04:42

并产生有用的结果

04:45

几十年来研究人员一直在研究词向量

04:48

但是这个概念呢真正引起关注的是在2013年

04:51

那时候Google公布了word2vec项目

04:54

Google分析了从Google新闻中收集的数百万篇文档

04:58

为了找出哪些单词倾向于出现在相似的句子中

05:03

随着时间的推移

05:04

一个经过训练的神经网络

05:06

学会了将相似类别的单词

05:08

比如说dog和cat

05:10

放置在向量空间中的相邻位置

05:13

Google的词向量还具有另一个有趣的特点

05:16

你可以使用向量运算来推理单词

05:19

比如说

05:20

Google研究人员取出biggest的向量

05:23

减去big的向量再加上small的向量

05:26

与结果向量最接近的词就是smallest

05:29

也就是说

05:30

你可以使用向量运算来进行类比

05:33

在这个例子中

05:34

big与biggest的关系类似于small与smallest的关系

05:38

Google的词像量还捕捉到了许多其他的关系

05:42

比方说瑞士人与瑞士这类似于柬埔寨人与柬埔寨

05:47

巴黎于法国类似于柏林与德国

05:50

不道德的与道德的类似于可能的与不可能的

05:54

mouse与mice类似于dollar与dollars

05:57

男人与女人类似于国王与女王

06:01

等等等等

06:02

因为这些向量是从人们使用语言的方式中构建的

06:06

所以他们反映了许多存在于人类语言中的偏见

06:10

比如说在某些词项链的模型中

06:12

医生减去男人再加上女人等于护士

06:16

减少这种偏见呢是一个很新颖的研究领域

06:19

尽管如此

06:20

词向量是大语言模型的一个基础

06:23

他们编码了词与词之间微妙但是重要的关系信息

06:28

如果一个大语言模型学到了关于cat的一些知识

06:32

比方说他有时候会去看兽医

06:34

那同样的事情呢很可能也适用于kitten或者dog

06:39

如果模型学到了关于巴黎和法国之间的关系

06:43

比方说他们使用了同一种语言

06:45

那么柏林和德国以及罗马和意大利的关系

06:49

很可能也是一样的

06:51

但是像这样简单的词向量方案

06:53

并没有捕获到自然语言的一个重要事实

06:57

那就是一个单词通常有多重的含义

07:00

比如说

07:00

单词bank可以指金融机构或者是河岸

07:04

或者以这两个句子为例

07:06

在这两个句子中magazine的含义相关但是又有不同

07:10

约翰拿起的是一本杂志

07:12

而苏珊为一家出版杂志的机构工作

07:15

当一个词有两个无关的含义时

07:17

语言学家称之为同音异义词(homonyms)

07:21

当一个词有两个紧密相关的意义时

07:24

比如说这个magazine

07:25

语言学家呢称之为多义词(polysemy)

07:29

像ChatGPT这样的大语言模型

07:31

能够根据单词出现的上下文

07:33

用不同的向量来表示同一个词

07:36

有一个针对于机构的bank的向量

07:39

还有一个针对于河岸的bank的向量

07:42

有一个针对于杂志的magazine的向量

07:44

还有一个针对于杂志社的magazine的向量

07:47

对于多义词的含义啊 正如你预想的那样

07:49

大语言模型使用的向量会更相似

07:52

而对于同音异义词的含义

07:54

使用的向量呢则不太相似

07:56

到目前为止

07:57

我们还没有解释语言模型是如何做到这一点的

08:00

我们很快呢会进入这个话题

08:02

不过详细说明这些向量表示

08:05

这对于理解大语言模型的工作原理非常重要

08:09

在传统软件的设计中数据处理呢是明确的

08:13

比如说你让计算机计算2+3

08:15

关于2、加号或者3的含义呢都不存在歧义问题

08:20

但是自然语言中的歧义

08:22

远不止于同音异义词和多义词

08:25

比方说顾客请修理工修理他的车

08:28

这句话中his是指顾客还是指修理工

08:32

教授催促学生完成她的家庭作业中

08:35

her是指教授还是学生

08:38

第三句中的flies

08:40

到底是一个动词在空中飞

08:42

还是一个名词果蝇呢

08:44

在现实中人们会根据上下文来解决这类歧义

08:47

但是并没有一个简单或者明确的规则

08:50

相反呢这就需要理解关于这个世界的实际情况

08:54

你需要知道

08:55

修理工经常会修理顾客的汽车

08:58

学生呢通常会完成自己的家庭作业

09:01

而水果呢通常不会飞

09:03

因此呢词向量为大语言模型提供了一种灵活的方式

09:07

用来在特定段落的上下文中

09:10

表示每个词的准确含义

09:12

现在让我们来看看

09:13

他们是究竟如何做到这一点的

09:15

ChatGPT最初版本背后的GPT-3

09:18

模型是由数十个神经网络层组成的

09:21

因为输入文本中的每个词会对应着一个向量

09:25

所以这些神经网络中的每一层

09:27

都会接受一系列的向量作为输入

09:30

并添加一些信息来帮助澄清这个词的含义

09:33

从而更好的预测接下来可能出现的词

09:37

让我们从一个简单的示例说起

09:40

大语言模型的每个层呢都是一个Transformer

09:43

2017年Google在一篇里程碑式的论文中

09:46

首次介绍了这种神经网络结构

09:48

在这张图的底部

09:49

模型的输入文本是John wants his back to catch the

09:54

翻译过来就是约翰想让他的银行兑现

09:57

这些单词呢被表示为word2vec的风格的向量

10:00

并传提给第一个Transformer

10:02

这个Transformer确定了wants和cash都是动词

10:06

我们用小括号内的红色文本表示这个附加的上下文

10:10

但实际上模型会通过修改词向量的方式来存储这个信息

10:15

这种方式对于人类来说很难解释

10:18

这些新的向量被称为隐藏状态hidden state

10:22

并传递给下一个Transformer

10:24

第二个transformer添加了另外两个上下文信息

10:27

他澄清了bank是金融机构financial institution

10:31

而不是河岸

10:33

并且his是指代John的代词

10:36

第二个Transformer产生了另一组隐藏状态向量

10:39

这组向量反映的是这个模型之前所学习的所有信息

10:44

这张图表描绘的是一个纯粹假想的大语言模型

10:47

所以大家呢不要对细节过于较真

10:50

真实的大圆模型往往有更多的层

10:53

比如说最强大的GPT-3版本有96层

10:57

有研究表明

10:58

前几层的神经网络会专注于理解句子的语法

11:02

并且解决上面所表示的歧义

11:05

而后面的层则致力于对整个文本段落的高层次的理解

11:10

比如说当大语言模型阅读一篇短篇小说的时候

11:14

他似乎会记住关于故事角色的各种信息

11:17

包括性别和年龄、与其他角色的关系

11:21

过去和当前的位置个性和目标等等

11:25

研究人员呢并不完全了解

11:26

大语言模型是如何跟踪这些信息的

11:29

但是从逻辑上来讲

11:31

模型在各层之间传递信息时候

11:33

必须通过修改隐藏状态的向量来实现

11:37

现代大语言模型中的向量维度极为庞大

11:39

这有利于表达更为丰富的语义信息

11:43

比如说GPT-3最强大的版本使用了有12,288个维度的词向量

11:49

也就是说每个词是由一个包含了12,288个的数字序列表示

11:56

这比Google在2013年提出的word2vec的方案要大20倍

12:01

你可以把所有这些额外的维度看作是GPT-3

12:04

可以用来记录每个词的上下文的一种暂存空间Scratch space

12:09

较早的层所做的信息笔记可以被后来的层读取和修改

12:13

从而使得模型逐渐加深对整篇文章的理解

12:17

因此假设我们将之前的图表改为描述一个96层的语言模型

12:22

来解读一个1,000字的故事

12:25

那么第60层可能会包含一个用于John的向量

12:28

带有一个表示为主角、男性、娶了谢利尔唐、纳德的表弟

12:33

来自于明尼斯达州、目前在博伊希、试图找到他丢失的钱包

12:39

这样一整套的括号注释

12:42

同样呢所有这些以及更多的事实

12:44

都会以一个包含12,288个数字列表的形式进行编码

12:49

这些数字都对应着这个词John

12:52

或者说这个故事中的其他词

12:54

比方说谢利尔、唐纳德、伯伊希、钱包

12:58

或者是其他的词

12:59

他们的某些信息也会被编码在12,288维的向量中

13:05

这样做的目标是让网络的第96层和最后一层

13:09

输出一个包含所有必要信息的隐藏状态

13:12

从而来预测下一个单词

13:15

现在我们来谈谈每个Transformer内部发生的情况

13:19

Transformer在更新输入段落的每个单词的隐藏状态时候

13:23

有两个处理过程

13:24

第一个呢是在注意力的步骤中

13:27

词汇会观察周围

13:28

查找具有相关背景并彼此共享信息的其他的词

13:33

第二呢在前馈步骤中

13:35

每个词会思考之前注意力步骤中收集到的信息

13:38

并尝试预测下一个词

13:41

当然了执行这些步骤的是整个网络

13:44

而不是个别的单词

13:45

但是我们用这种方式来表述是为了强调

13:48

Transformer是以单词作为这一个分析的基本单元

13:52

而不是整个句子或者是段落

13:55

这种方法使得大语言模型能够充分的利用

13:58

现代GPU芯片的大规模并行处理能力

14:01

它还可以帮助大语言模型

14:03

扩展到包含成千上万个词的长段落

14:06

而这两个方面都是早期大语言模型所面临的挑战

14:10

你可以将注意力机制

14:11

看作是单词之间的一个撮合服务

14:14

每个单词呢都会制作一个检查表称为查询向量

14:18

来描述他寻找的词的特征

14:21

每个词呢还会制作一个检查表称为关键向量

14:24

描述他自己的特征

14:26

神经网络通过将每个关键向量与每个查询向量进行比较

14:31

通过计算他们的点积来找到最佳匹配的单词

14:34

一旦找到匹配项

14:36

他就会从产生关键向量的单词

14:39

把相关信息传递给产生查询向量的单词

14:43

比如说在前面的部分中

14:45

我们展示了一个假想的Transformer模型

14:48

他发现在“John wants his bank to cash the”这个句子中

14:52

his指的就是John

14:54

在系统内部

14:55

过程可能是这个样子

14:57

his的查询向量可能会有效的表示为

15:00

我正在寻找一名描述男性的名词

15:03

而John的关键向量可能会有效的表述为

15:06

我是一个描述男性的名词

15:09

然后网络就会检测到这两个向量是匹配的

15:12

并将关于John的向量信息转移给his的向量

15:16

每个注意力层都有几个注意力头

15:19

这意味着这个信息交换的过程在每一层上会并行的进行多次

15:24

每个注意力头呢都会专注于不同的任务

15:28

比方说其中一个注意力头

15:30

可能会将代词与名词进行匹配

15:33

另外一个注意力头

15:34

可能会处理解析类似于bank这样的一词多义的含义

15:37

第三个注意力头

15:38

可能会将Joe Biden这样的两个单词连接在一起

15:43

诸如这类的注意力头经常会按照顺序来操作

15:46

一个注意力层中的注意力操作结果

15:49

会成为下一层中的另一个注意力头的输入

15:52

事实上呢

15:53

我们刚才列举的每个任务可能都需要多个注意力头

15:56

而不仅仅是一个

15:58

GPT-3的最大版本呢有96个层

16:01

每个层有96个注意力头

16:04

因此每次预测一个新词的时候

16:07

GPT-3将执行9,216个注意力的操作

16:11

以上内容

16:12

我们展示了注意力头工作的方式的一个理想化的版本

16:16

现在让我们来看一下关于真实语言模型内部运作的研究

16:21

去年研究人员在Redwood research研究了GPT-2

16:25

即ChatGPT的前身

16:27

对于“When Mary and John went to the store, John gave a drink to”

16:32

这个段落翻译过来就是当玛丽和约翰去商店

16:36

约翰把一杯饮料给了

16:39

预测这句话下一个单词的过程

16:41

GPT-2预测的下一个单词呢是Mary玛丽

16:45

研究人员就发现

16:46

有三种类型的注意力头对这个预测做出了贡献

16:49

第一种

16:50

三个被他们称为名称移动头的注意力头

16:53

(Name Mover Head)

16:55

将信息呢从Marry向量复制到了最后的输入向量

16:59

也就是to这个词所对应的向量

17:01

GPT-2使用这个最右向量中的信息来预测下一个单词

17:06

那么神经网络又是如何来决定Marry是正确的复制词呢

17:10

通过GPT-2的计算过程进行逆向的推导

17:13

科学家们发现了一组他们称之为主语抑制头的四个注意力头(Subject Inhibition Head)

17:18

它们标记了第二个John向量

17:21

阻止了名称移动头来复制John这个名字

17:24

主语抑制头又是如何知道不应该复制John的呢

17:28

团队进一步向后推导

17:29

发现了他们称为重复标记头的两个注意力头

17:34

(Duplicate Token Heads)

17:35

他们将第二个John向量

17:37

标记为第一个John向量的重复副本

17:39

这帮助主语抑制头来决定不应该复制John

17:43

简而言之

17:44

这9个注意力头使得GPT-2能够理解

17:47

“John gave a drink to John”是没有意义的

17:50

而选择“John gave a drink to Mary”

17:53

这个例子呢也侧面说明了

17:54

要完全理解大语言模型会有多么困难

17:57

由五位研究人员组成的Redwood团队

18:00

曾经发表了一篇25页的论文

18:03

解释了他们是如何识别和验证这些注意力头的

18:07

然而即使他们完成了所有这些工作

18:09

我们离对于为什么GPT-2决定

18:12

预测Mary作为下一个单词的全面解释

18:15

还有很长的路要走

18:16

比如说模型是如何知道下一个单词应该是某个人的名字

18:21

而不是其他类型的单词

18:23

很容易想到在类似的句子中

18:25

Mary不会是一个好的下一个预测词

18:27

比如说

18:28

在句子“when Mary and John went to the restaurant, John gave his keys to”这个句子中

18:35

逻辑上呢下一个词应该是“the valet”

18:38

即代客停车员

18:40

假设计算机科学家们进行了充足的研究

18:43

也许他们可以揭示和解释

18:45

GPT-2推理过程中的其他步骤

18:47

最终呢他们可能能够全面理解GPT-2

18:50

是如何决定Marry是句子最可能的下一个单词

18:54

但是这可能需要数个月甚至数年的努力

18:58

才能够理解一个单词的预测情况

19:00

而ChatGPT背后的语言模型

19:03

GPT-3和GPT-4 比GPT-2呢更加的庞大和复杂

19:07

相比于Redwood团队研究的简单句子

19:10

他们能够完成更复杂的推理任务

19:13

因此完全解释这些系统的工作将是一个巨大的项目

19:17

人类不太可能在短时间内完成

19:20

我们继续回到注意力头的部分

19:22

当注意力头在词向量之间传输信息之后

19:25

前馈网络会思考每个词向量并且尝试预测下一个词

19:30

在这个阶段单词之间没有交换任何的信息

19:34

前馈层会独立的去分析每个单词

19:37

但是前馈层可以访问之前由注意力头复制的任何信息

19:41

这个是GPT-3最大版本的前馈层结构

19:45

其中绿色和紫色的圆圈表示神经元

19:49

他们是计算其输入加权和的数学函数

19:52

前馈层之所以强大是因为它有大量的连接

19:56

在图上呢我们使用了三个神经元作为输出层