今天故事的主角是两位科学家,Sanjeev Arora和Anirudh Goyal。
Arora来自普林斯顿大学,而Goyal则来自谷歌DeepMind。
他们凑到一起,只想探究一个问题。
那就是,LLM,究竟是只会叽叽喳喳学舌的随机鹦鹉,还是真学会了什么,摇身一变成为了具有涌现能力的智能体?
AI先驱Hinton和吴恩达曾经也聊过这个问题,但彼时并没有得出什么明确的结论。
不过Hinton表示,在这个问题的回答上如果我们不能达成共识,那么在AI会产生多大危害这个问题上也不可能达成共识。
而Arora和Goyal的观点是,LLM并不是只会学舌的鹦鹉。具体来说,他们不认为LLM的输出内容只是从海量的训练数据中随机组合而来的。
两个人为此合写了一篇论文。
论文地址:https://arxiv.org/abs/2307.15936
真相则是,经过大量训练,LLM的规模变得越来越大,它们的相关能力会得到切实的提升,并开发出新的能力。
这可不是一般的排列组合能做到的。
大模型之「大」
众所周知,LLM是一个庞大的人工神经网络,连接着一个个「神经元」。
其实说的就是模型的参数。参数越多,LLM的规模越大。
咱们先了解一下训练LLM的机制和环节。
训练的过程会有这么个环节——给LLM提供一个单句,把最后一个词隐藏掉,然后让LLM根据概率来预测空缺的词汇应该是谁。
假如LLM知道1000个单词,那它就会搞出1000个概率。最后选一个概率最大的填上。
一开始,LLM可能选不准词,算法就会给出一个损失值,即在某个高维的数学空间中,LLM给出的初始答案和原句正确答案之间的「距离」(distance),然后用这个值来对参数进行微调。
之后,还是同一个句子,LLM就能算出一个更正确的概率分布,上述损失值就会稍微降低一点。
如此这般,训练数据中数以十亿计的句子都跑一遍这个流程,等LLM的总体损失值降低到一个还不错的程度为止。
同样,测试LLM也会走这个流程,根据损失值得出测试的结果(当然,测试用的句子肯定不在训练数据里,要不然不是作弊了嘛)。
训完练,测完试,LLM在遇到全新的文本prompt时,就有极大可能生成最正确的那个词了。一个词出来,扔到prompt里,再生成下一个词。
慢慢生成下去,一个看似连贯的回答就跃然纸上了。
然而在这个过程中,并没有迹象表明,规模更大的LLM会在需要推理能力(reasoning)的提问上表现更好。
注意跟上思路,没有迹象表明,意思是说没有实证能指向这个结果,但是从表面上的事实来看,这个结论是对的。
也就是说,规模更大的LLM会在推理能力上表现的比小规模的模型好,虽然二者在训练方式上没有不同,只差在规模上。
Arora大惑不解,那这能力是从哪来的?
这也就是Arora和Goyal研究的起点了——试图构建一个理论框架来分析这些新能力是如何出现的。
于是,他们把目光转向了数学领域,瞄上了一个叫随机图的东西。简单来说,这个名词处于图论和概率论两个领域的交叉地带。
在随机图中,任何两个节点之间是否存在一条把它们连起来的边,是随机的,就好像抛硬币一样。
硬币掷出正面,就有一条边,概率为p。
p的值发生某些变化的时候,整个随机图的属性就可能发生突然的转变。比方说,p值超过某个特定阈值,有些孤立的节点(即和其它节点不存在连接的点),就会突然消失。
两位科学家意识到,随机图的这个特点可能是模拟大语言模型的一种直观方式。
虽说神经网络的复杂程度难以言说,几乎难以分析,但是随机图这个概念已经被数学家研究了相当长的一段时间,还开发出了各种工具来分析。
也许,通过随机图的相关理论,神经网络的研究人员就可以试着理解并分析大语言模型的一些特征。
这里,两位研究人员把目光专注在了二分图上,图里会包含两种类型的节点。
在他们的模型中,一种类型的节点代表着文本片段。注意,这里的片段从篇幅上看最起码得是个段落,甚至长达几页都有可能,而非单个的词汇。
这类节点构成一条直线。
第二类节点,代表着理解上述给定文本所需要的的技能。比方说,对逻辑关系的理解,或是计算的能力,更具体点,还可能有理解讽刺的能力。
举这几个例子是为了讲明白,这第二类节点所代表的能力多种多样,沾的上边的都算。
Arora表示,LLM如果能看出某段文本里含有反讽,可能对整体的理解都会出现较大变化。
不过,我们上面讲到过,第二类节点所代表的能力,不代表LLM在训练的过程中的目的是为了实现这些能力。换句话说,LLM在训练的时候只训练了对下一个可能出现的单词的预测能力。
也就是说,第二类节点所代表的能力,是Arora和Goyal从结果的角度设计的,为的是更好的理解LLM所展现出来的能力。
设定讲完了,两类节点就要开始互相连接了,连接代表的是LLM为了读懂某段文字需要哪些能力。可能一对一,可能一对多,也可能多对一。
还拿读懂反讽举例,这个技能点就会和所有包含反讽元素的文本建立联系。
连接可没那么简单。要知道,OpenAI和DeepMind这种大公司,是不会公开训练数据或者测试数据的。所以两位研究人员不能依赖这些。
此外,他俩想搞明白的还是规模和行为、能力之间的关系。
自从2021年以来,研究LLMs和其他神经网络性能的研究人员已经观察到了一个普遍的特征。
他们注意到,随着模型的增大,无论是在大小还是在训练数据量上,它在测试数据上的损失(在训练后对新文本的预测与正确答案之间的差异)以一种非常特定的方式减少。
这些观察已被编码为一个叫做神经缩放定律的方程。
因此,Arora和Goyal表示,他们的理论不依赖于任何单个LLM的情况、或者特定的一组训练和测试数据,而是某种普适法则:通过缩放定律预测的损失。
而他们进一步研究的关键,就是神经缩放定律和上面介绍的二分图之间的关系。
二分图的借用
首先,研究人员假设存在一个对应LLM在测试数据上行为的二分图。
为了利用好LLM在测试数据上的损失变化,他们设想了一种如下这种方式,来描绘LLM是如何习得技能的。
还是以能理解反讽这种技能为例——
这个概念由一个技能节点表示,因此研究人员查看这个技能节点连接到了哪些文本节点。
如果几乎所有这些连接的文本节点都成功——意味着LLM对这个特定技能所代表的文本的预测非常准确——那么LLM在这个特定技能上是有能力的。
但如果超过一定比例的技能节点连接到失败的文本节点,那么LLM在这个技能上就算失败了。
这些二分图与LLMs之间的连接使Arora和Goyal能够利用随机图理论的工具来分析LLM的行为。
研究这些图揭示了节点之间的某些关系。这些关系进而转化为一种有逻辑,且可测试的方法,得以解释大语言模型究竟怎么获得一些意想不到的能力。
这里,Arora和Goyal首先解释了一个关键行为——为什么较大的LLMs在个别技能上比相对较小的模型更加熟练。
他们从神经缩放定律预测的较低测试损失开始。
如果失败的测试节点较少,那么说明失败的测试节点与技能节点之间的连接也较少。因此,更多的技能节点与成功的测试节点相连接,就表明模型在技能方面的能力增强。
接下来,两位研究人员又找到了一种解释更大模型所获得的能力的方法——随着LLM的大小增加和测试损失减小,技能节点的随机组合开始连接到个别文本节点。
这表明LLM也变得更擅长同时使用多个技能,并开始使用多个技能生成文本,即使这些确切的技能组合在训练数据的任何文本中都没有出现过。
比方说,一个LLM已经可以使用一种技能来生成文本了,那么如果我们把LLM的参数数量或训练数据扩大一个数量级,它将同样擅长生成需要两种技能的文本。
以此类推,再扩大一个数量级,LLM现在就可以执行需要同时具备四种技能的任务了!而且,在各项能力上所具有的熟练程度也是相同的。
因此,更大的LLMs有更多将技能组合在一起的方式,从而导向LLM自身的性能得到大幅提升。
随着LLM的扩大,它在训练数据中遇到所有这些技能组合的可能性变得越来越小,直至0。
根据随机图理论的规则,每种组合都来自对可能技能的随机抽样。因此,如果图中存在大约一千个基本的单个技能节点,并且假设我们想要组合四种技能,那么有大约1000的四次方——也就是足足一万亿种可能的组合方式。
也就是说,如果一个LLM真的能够通过组合这1000种技能中的四种来执行这些任务,那么意味着该模型一定具备了泛化能力,更进一步说,这个模型很可能就不是一个随机鹦鹉了。
但是Arora和Goyal想要超越理论,进一步来测试他们的观点——LLMs在规模和训练数据增加时,会更擅长组合更多的技能,因此在泛化方面表现得更好。
他们与团队其他成员一起设计了一种称为技能混合的方法,用于评估LLM使用多种技能生成文本的能力。
为了对LLM进行测试,研究团队要求它生成关于随机选择的主题的三个句子,这些句子的生成首先展示了LLM随机选择的技能点。
比方说,他们要求GPT-4写一篇有关剑术的文章,然后他们再要求该模型展示来自四个领域的技能:自我偏见、比喻、统计学和物理学尝试的掌握。
GPT-4的输出是这样的:
在这场与钢铁的舞蹈中,我的胜利(用上了比喻)像物体会自由落体一样确定(用上了物理学尝试)。
而作为一名著名的决斗者,我天生灵活,就像大多数人所知晓的我一样(用上了统计)。失败?只可能是由于战场偏向了敌人,不可能是由于我的不足(自我偏见)。
实际上的结果,正如数学所预测的那样,GPT-4的性能远远超过了GPT-3.5。
Arora大胆猜想,会不会一年后,会有远超GPT-4的模型出现呢?