学到一点就写一点 · AI 大白话 用具体例子,把 AI 的原理和用法讲清楚。
水果摊和手机发布会提供不同线索的概念封面 · 点击放大
看这两句话:
我买了一个苹果。
苹果发布了新手机。
第一句的苹果能吃,第二句的苹果会发布手机。
我们读完整句话,很容易分清,因为不会只盯着“苹果”两个字看。买了什么、发布了什么,都会成为判断的线索。
大模型也需要利用这些线索。这一篇要讲的注意力机制,就参与了这件事:让一段文字中不同地方的信息联系起来。
只认出“苹果”还不够
上一篇说过,文字进入模型后,会先变成数字。没看过上一篇也没关系,你可以先把它想成:模型给每一小段文字准备了一份数字记录。
但有了“苹果”的记录,还没算清它在这句话里是什么意思。
我们换两个更容易拆开的例子:
水果摊里的苹果
这家手机公司叫苹果
同样是“苹果”,前面出现“水果摊”,我们会往水果那边想;前面出现“手机公司”,我们会往公司那边想。
周围的文字,给“苹果”补上了背景。
模型也会通过计算,把这样的背景信息带进来,让“苹果”在不同句子里的数字记录有所不同。注意力就是其中负责联系信息的一种办法。
可以先把它看成三步
还是看这段文字:
水果摊里的苹果
现在,我们只观察模型处理“苹果”的这一处。
第一步,看看有哪些信息可以参考。
前面有“水果摊”,也有“里”“的”,再加上“苹果”自身的信息。
这些信息的作用不一样。对我们读这段文字来说,“水果摊”是一个明显的线索,“里”“的”帮助把关系连起来。
模型会用数字计算,比较这些位置的信息与当前这一处怎样联系。它不会真的在心里问“哪个词最有用”;这里是借我们读句子的方式,帮助理解计算的用途。
第二步,决定各参考多少。
好比听几个人介绍一件事,有的内容多参考一点,有的少参考一点。
注意力会算出一组比例,决定每处信息以多大的份额参与。技术资料把这些比例叫作“权重”。
这里不必算具体数字。先记住:同一句话里的信息,可以一起参与,但参考的比例不同。
这些比例由模型计算出来,并没有一条人工规则规定“水果摊永远最重要”。换一句话、换一次计算,比例都可能变化。
第三步,把信息合起来。
按照刚才的比例,把各处送来的数字信息合在一起,得到一份新的数字结果。
这份结果会参与后续处理。于是,模型在“苹果”这一处使用的信息,就不再只来自“苹果”本身,也带上了前面的线索。
先联系前文线索,再按不同份额合起来,参与苹果这一处的后续处理 · 点击放大
教学示意:线的粗细只表示“参考份额可以不同”,不是实际模型的计算结果;图中文字分组也只是为了讲解。
所以,注意力不只是选出一个关键词,然后把其他文字扔掉。它可以把多个地方的信息一起带过来。
Q、K、V,只是给这三种作用起了名字
如果你以后看技术文章,可能会遇到 Q、K、V。
可以把它们和刚才的过程对应起来:
Q:当前这一处,拿什么去找线索。
K:各个位置,拿什么来供比较。
V:比较之后,把什么信息带过来。
Q 和 K 配合,用来算参考比例;V 是按这些比例合起来的信息。
它们实际都是数字,不是模型写下的三个问题。每处文字都能通过计算得到这三份信息,并非三个词分别负责一个字母。
读到这里,能分清“找线索、算比例、合信息”就够了。具体怎么算,等需要看技术资料时再往下拆。
为什么还要管前后顺序?
看这两句话:
人追狗。
狗追人。
出现的词一样,谁追谁却反过来了。
所以,模型除了处理文字内容,还要利用位置和顺序的信息。光有几个词,还得知道它们怎样排在一起。
还有一个需要分清的地方:本文介绍的这类逐步生成回答的模型,在某一处计算时,只能参考这一处和前面的文字。
比如:
水果摊里的苹果很甜。
在“苹果”这一处计算时,可以参考前面的“水果摊”“里”“的”和自己,不能参考后面的“很甜”。
苹果这一处可以参考前文和自身,很和甜在后面,暂不参与这一处的计算 · 点击放大
教学示意:只展示“苹果”这一处可以参考的范围,不表示每处信息的参考份额相同。
等处理到“甜”那里,前面的“水果摊”和“苹果”就都可以用上了。到句末、准备继续生成时,整句话的线索已经在可参考范围里。
这也解释了开头的“苹果发布了新手机”:模型可以在处理到句末时利用“新手机”这条线索,但不能说开头的“苹果”提前看到了后文。
多头,就是用几种方式分别联系信息
前面只讲了一套“找线索、算比例、合信息”的过程。
模型还可以让几套这样的计算同时进行,每套使用不同的数字变换,各自得到结果,再合起来。这就叫多头注意力。
可以先理解成:同一段文字,通过几种不同的计算方式,把信息联系起来。
具体联系哪些信息,是训练中学出来的。并不是人提前分好工,规定一个专门看水果、一个专门看公司。
最后,再回到那两个“苹果”
“水果摊里的苹果”和“这家手机公司叫苹果”,给了模型不同的线索。
注意力帮助它按不同的比例把信息联系起来。再经过模型中的其他计算和多轮处理,这些线索就能用于后续的回答生成。
这仍不保证它每次都判断正确,但我们可以先明白:模型处理一个词时,用到的不只是这个词,也包括能够参考的上下文。
下一篇,我们接着看:有了这些联系,模型又怎样组合几个条件,做一道推理题?为什么有时能做对,有时又会推错?
配图说明:封面由 AI 生成,是视觉隐喻;正文两图为程序绘制的教学示意,不是模型实测数据。文中的“数字记录”“找线索”等说法用于帮助理解,不表示模型像人一样思考。