@Lenciel

LLM 调研(3)- 历史

本系列是,LLM 调研…说一下我对它的看法,以及它能做什么不能做什么

前面的两篇聊完,有些同学觉得我很不待见 LLM。其实在使用各种 AIGC 产品的过程中,我还是觉得惊喜不断的:它的确是会造成深远影响的技术进展(大部分这类技术会符合所谓的「阿拉玛定律」1,即「短期被高估,长期被低估」)。

只不过,目前看到的很多讨论落入了我们讨论这类问题反复落入过的陷阱:

  • 语言本身的歧义和模糊带来的理解和交流上的困难——这就是「人工智能之父」明斯基说的「Suitcase Words」问题2
  • 今天各个领域的 AIGC 能做的事情非常「窄」,用一些「指标」的提升去证明类似于逻辑、思维等「泛化能力」的涌现3,这种论证方法是错误的,认为它带来 AGI 更是无稽之谈;
  • 还有一部分人根本没有研究过 LLM ,连误解都谈不上,只是在跟风吆喝——这就是我的偶像费曼调侃过的「Cargo Cult」问题4

这篇我们就来回顾一点 AI 的历史,这样才好看清楚 LLM 究竟取得了什么进展,还有什么样的局限。

目录

历史

人工智能(Artificial Intelligence)

写过一点人工智能的历史:这个术语被正式落到纸上,是 1956 年的达特茅斯会议的提案

今天看这个寥寥数页的提案,仍能感觉各种壮志,但也能看到各种壮志仍然未酬。

  • 比如 John McCarthy 在导言里就讲了要通过模拟「神经元」让机器学会使用人类语言;
  • 比如 Allen Newell 和 Herb Simon 在里面就提出了让机器下棋、证明数学定理、具备人类的学习和解决问题能力等课题;

Allen Newell 甚至在会议后不久预测,十年内计算机就能下棋超过人类——我们现在知道,其实花了四十年,才有了深蓝。

而且,在达特茅斯会议前,虽然没有「AI」的提法,学界已经有一些关于「机器与智能」的讨论。

其中最著名的,是图灵在 1950 年 10 月发表的论文《Computing Machinery and Intelligence5。图灵琢磨这个是因为他在 Intelligent Machinery 里提出了「discrete controlling machines」6之后,就开始思考如何造出一台在运动和思维上都能全面模仿人的机器7

今天看这篇 73 年前的论文,仍能感觉各种壮志,但也能看到各种壮志仍然未酬。

比如图灵认为到了 2000 年,会有像人一样思考的机器8。他甚至给出了这个机器的开发工作量是 36000 个人月——我们现在知道,2000 年又过去了二十多年,花在上面的人月应该是图灵说的几万倍了,我们还没有摸到边。

大牛们的估计出现这么大的偏差,是因为当时对人工智能涉及的两个主要领域,计算机和人,很难有正确的认知。

认知的不同,导致人工智能研究者分裂成了以「符号主义」和「连接主义」为主9的数个阵营:

  • 「符号主义(Symbolicism)」,又称逻辑主义,主张用符号、公理和逻辑体系搭建一套人工智能系统;
  • 「连接主义(Connectionism)」,又叫仿生学派,主张模仿人类的神经元,用神经网络的连接机制实现人工智能;
符号主义与专家系统
优势

「符号主义」里的「符号」,就是表示客观事物或者事物间关系的「字符串」。通过它们对人类的「认知」进行编码,形成可逻辑演算的系统,是「符号主义」的核心思想。

因此,「符号主义」的核心特点在于:

  • 推理的过程是可解释的;
  • 出现错误,是可以追溯和定位的;
  • 符号化方法对于知识的表达能力强,能够应对较复杂的知识推理;

这些优势让「符号主义」在 AI 领域长期一枝独秀,被广泛地运用于「自动定理证明」和「专家系统」的构建。尤其是「专家系统」的成功开发与应用,为人工智能走向工程应用做出了杰出贡献。

不足

但「符号主义」也有一些根深蒂固的困境。比如,哥德尔不完全性定理(证明了对于任何一个公理化系统,都存在此公理体系所无法判定真伪的命题),就让使用「符号主义」构建的系统面临泛化的问题。再比如,既然要用符号来表达事物和事物之间的关系,这里就有一个谁可以把客观世界抽象成这些符号,并解释给其他人的问题。家姐在第一篇文档里留言说的「中文屋」,其实就是针对这个困境的一个思想实验。

因为这些没法解决的问题,「人工智能」曾经有很长一段时间发展得并不算好。我读书的时候,国内的人工智能集中在自动化专业9。当时我感觉自动化专业主要有三拨人:

  • 搞控制理论的,主要是用数学工具在矩阵推导;
  • 搞应用系统的,主要是想要做出国产的工控机;
  • 搞算法的,主要是遗传算法、神经网络;

前面两帮人是主流,彼此不太看得上,但是他们一起看不上搞算法的。到了今天,人工智能在很多学校已经和计算机、自动化平起平坐,有自己的学院了。

这似乎全靠「神经网络」的大获全胜。

连接主义与神经网络
历史

我们基本上听不到「连接主义」,只听得到这个门派的代表作:「神经网络」,即通过模仿人类的神经元组网,实现人工智能。

需要注意的是,它说的神经元是 1943 年生理学家麦卡洛克(McCulloch)和数理逻辑学家皮茨(Pitts)创立的脑模型,即 MP 模型,跟今天我们对脑神经的认知有很大的不同。但报导 ChatGPT 的媒体好像很喜欢配一张现代科学理解下的大脑透视图,显得这套东西多么先进甚至科幻。

实际上,神经网络提出快 90 年了,并且曾多次被主流圈子抛弃。比如 Marvin Minsky,虽然他 1954 年的博士论文你看标题就知道很「连接主义」,但两年后参加达特茅斯大会时,他已经改旗易帜,成了「符号主义」领袖。

60 年代,虽然已经有学者搞出了单个神经元的简单模型,但 69 年,作为「符号主义」的领军人物,Marvin Minsky 和 ​​Seymour Papert 出版了一本书《Perceptrons》,从 下面这张图我们就知道,它对连 XOR 运算都不会的神经网络判了死刑:

Don't touch me...

到了 1980 年,有人在神经网络里面加入了一点反馈,也就是输出端检测到的错误向后传播给网络,被称为「Back-Propagating」。又过了 6 年,David Rumelhart、Geoffrey Hinton 和 Ronald Williams 发表了一篇论文《Learning Representations by Back-Propagating Errors》,重振了这个领域,但不久又变得无人问津。零零星星有人实验通过增加神经网络的层数来提升指标,但因为每层都是独立的,笨重且不可控,没有改变神经网络半死不活的状态。

直到 2006 年,Geoffrey Hinton 和 Ruslan Salakhutdinov 发表了《Reducing the Dimensionality of Data with Neural Networks》,通过使用「clamping」对每层进行增量化的训练,来大大减少了数据维数。此后,神经网络渐入佳境。

这里花这么多篇幅介绍这些历史,是想说,今天的神经网络,是曲折艰辛的理论研究,加上摩尔定律带来的硬件性能提升和互联网带来的海量数据等综合因素作用下爆发的,而不是我们真的对大脑神经网络的工作原理有了突破10

这也就造成了这种方法的一些先天不足。

不足

「连接主义」最大的问题是不具备「符号主义」的可解释性。

前面说了,AI 领域里面有很多 Suitcase Words,比如「学习」、「深度」或「智能」,很容易给不明就里的人造成误会,以为模型的输出是基于知识「深思熟虑」后做出的反馈。

其实,「机器学习」这个概念最早由 Arthur Samuel 1959 年在论文「Some Studies in Machine Learning Using the Game of Checkers」里明确提出11。文章里的「学习」主要是两个动作:

这跟通常意义下人类进行的「学习」12,有很大的不同。认为「机器学习」是说机器搞学习,和认为跟自己说下午会飞过来的朋友,是像孙悟空一样飞过来一样,核心问题是还没见过什么是飞机。

再比如「深度学习」里面的「深度」,主要就是指神经网络的层数比较多,跟逻辑上或者思维上多么有「深度」完全没有关系。

所以,包括 LLM 在内的动辄几十个亿几百个亿参数的模型,在指标上,具有强大的功能和性能,但它们在逻辑上是不透明的,也是不可调试的。这就意味着我们要用它们做出一些严肃的决定,比如金融、医疗、军事、自动驾驶等方面的决定,风险是非常高的,并且有一些伦理上的问题。

了解完这些,我们就能真正聊清楚,作为神经网络在自然语言领域的有一个重大突破,LLM 到底有了什么样的进展。

  1. 阿玛拉定律」 是帕洛阿尔托未来研究所的总裁 Roy Amara 提出的:「我们往往会高估一项技术的短期影响,而低估其长期影响」。过去一些划时代的技术,如电脑、GPS 等,都出现过类似的高开低走,长期低迷,最后被普遍采用的几个阶段。 

  2. 这个术语的来源是对「行李箱」的类比,即一些词汇会将许多复杂的、不同的概念、过程和实体打包在一起,这种抽象使得我们在交流复杂思想和事物时更容易,但同时也可能导致理解上的困难和歧义,因为这些词汇并没有明确的指代。这个概念在认知科学、心理学和语言学领域都有应用,特别是在我们尝试理解和交流抽象和复杂概念时。 

  3. 「涌现(Emergence)」这个术语本身是一个跨学科概念,并不限于人工智能。它旨在描述由局部相互作用引发的全局性质的现象,被用于研究复杂系统,如物理学、生物学、社会科学等领域。 

  4. 「Cargo Cult」 是一种在南太平洋某些岛屿上的宗教运动。这些岛上的居民迷信地认为,如果他们模仿现代化国家的各种仪式和行为(如建立类似跑道的结构,制作木头喷气式飞机模型等),他们就可以吸引神秘力量,让现代化的科技和物资,从天而降到岛上。后来它被用作隐喻,指盲目地跟随和模仿,但却没有理解其中根本原因的行为。 

  5. 这篇论文介绍了「模仿游戏」,后来被当作一部纪念他的电影的名字,很多人不知道,其实这个游戏就是所谓的「图灵测试」。图灵估计,在 2000 年,一台拥有 128MB 内存(他表示为 10 的 9 次方)的计算机将有 70% 的机会可以骗过人类。 

  6. 他当时的结论是,传感器和运动系统会成为长期掣肘,所以应该从智能开始。并且他指出,最佳的突破口是密码学和游戏,其次是语言翻译和数学。 

  7. 但图灵在这篇文章的结尾说了「We can only see a short distance ahead, but we can see plenty there that needs to be done」,太厉害了。 

  8. 其实图灵在 1948 年英国国家物理实验室的内部报告中,就区分了「embodied intelligence」和「disembodied intelligence」,一个从统计学出发,一个从逻辑推导出发,为后来的分裂埋下了伏笔。另外这里省略了一些不那么被广泛讨论的分支,比如以研究机器人为主的「行为主义(Actionism)」。 

  9. 国外计算机软硬件怎么造,和造出来之后怎么用,一般放一个专业,都在计算机系。  2

  10. 实际上,对只有 302 个神经元的秀丽隐杆线虫,我们都还没有彻底整明白它的系统究竟是如何运行的。所以这样或者这样的研究才被看成突破。 

  11. 这兄弟的主业其实是做 IBM 的商用机,但是因为这个主业他获得了比当时绝大多数科研人员都丰富的一个资源:无限机时。他在上面编写下跳棋的程序,开创了很多今天 AI 的前沿性研究。如果再结合「强化学习」的先驱,图灵的同事 Donald Michie相关工作,可以说整个这方面的进步驱动力都是来自于大家觉得计算机「好玩」。 

  12. 实际上,人类自己的「学习」也很多元,学跑步和学围棋,完全不是一种「学习」。 

LLM 调研(2)- 涌现能力

本系列是,LLM 调研:说一下我对它的看法,以及它能做什么不能做什么…

广泛流传的 LLM Survey 中说,和前几代语言模型1相比,LLM 主要的特点就是「表现出一些令人惊讶的涌现能力」。并且,「为什么涌现能力会出现在 LLM 中,仍然是个谜」。

这篇就来说说我理解的「涌现能力」。

目录

什么是「涌现能力」

正式提出「涌现能力」的论文《Emergent Abilities of Large Language Models》里,对它的定义其实蛮宽泛的,即「小模型中不存在但在大模型中出现的能力」。然后它进一步介绍了一个特征,就是当模型规模达到一定水平时,指标会显著提高并超过随机水平,即「一些能力开始涌现」。最后,因为找不到别的原因,文章把这种现象跟物理学中的「相变」做了关联。

后续有很多论文去讨论各种各样细分的「涌现能力」,比如上下文学习指令遵循逐步推理等等。

OpenAI 的员工 Jason Wei 还有一篇博客,记录了多达 137 种的 LLM 的涌现能力。

因为这些涌现能力的不可解释和不可预测性,才有了后来的 1000 多名科技领袖带头签署的公开信,来制止「the dangerous race to ever-larger unpredictable black-box models with emergent capabilities」。

为什么它可能是个「误会」?

指标其实没有跃升

首先,这一系列论文的论证过程,并不包含足够多的数据和模型细节,只是通过一些指标随着模型大小到了一定规模后出现的急剧提升,来得出了「涌现能力出现」的结论2

然后,做过指标的我们都明白,数据拐弯拐得有多剧烈,跟指标选取是有很大关系的。斯坦福的 Schaeffer 牵头的团队,通过改变指标,让大部分指标随模型规模变化的曲线变得线性平滑。在他们随后发布的论文里,他们对一些不平滑的指标也做了解释。比如「exact string match」这种指标,用来考验小模型显然是没啥道理的。

最后,如果用同样的指标体系去考核图像处理,机器视觉等领域的一些模型,其实也会看到类似的剧烈拐弯的曲线。换句话说,如果模型规模上去,指标剧烈提升,就代表模型有了「涌现能力」,那其他模型早就有了。

指标并不代表能力

就算指标跃升,是否说明涌现出了「能力」?

「指标」代表「能力」是人的一个思维范式:如果谁雅思成绩好,我们认为 Ta 英语能力好。

但用指标来衡量 LLM 是不是具备人脑一些心智层面的能力,比如逻辑、推理、假设等,就未必靠谱了。

因为,人类这些能力有个特点,就是它能够询问「why」,然后根据条件和假设进行推理,并创建实验和模型来检验假设,并把最终结论泛化。

这些特点现在的 LLM 还不具备。比如「泛化」,从开普勒到牛顿到爱因斯坦,人类物理上的进步其实就是为物理现象提供一个更本质、更泛化的解释。中小学生通过学习斜坡上的小球和弹簧来掌握牛顿力学,在滑冰、开车、发射火箭的时候,会自然而然地进行相应的推理和计算。而 LLM 在处理未见过的输入或是变量发生变化时,鲁棒性和自适应性就会差很多。

LLM 为什么做不到?

首先,它背后的数学模型有局限性。LLM 由数据驱动,使用神经网络的函数对非常大的数据集的抽象表示进行编码。它跟人类通过观察到的物理现象进行建模,然后用微积分方程式构建的模型有一个本质不同,就是数据驱动带来的是依靠训练数据集产生的「相关性」,而数理公式是能够通过「推理计算」的「因果性」3

然后,更重要的是,LLM 的输出有时候对,有时候是错,有时候荒谬,但它们都没有「意义」。现在有很多对 LLM 不是 AGI 的讨论集中在它没有逻辑推理,但是我觉得没有意义是更严重更难解决的问题,所以下面多说几句。

意义的重要性

LLM 是对语料的「gcc -Ofast」

原则上 GPT-3 或者 GPT-4 不是什么新鲜事儿:看名字就知道有 GPT-1 和 GPT-2。但为什么它掀起了这股热潮,然后那么多专业人士都感受到了「涌现」?

这就是「语言」的特殊性。

LLM 本身的目的,或者说,无论大小,所有的语言模型的目的,其实都是为了最大化与自然语言之间的相似度:这件事情在数学上是可以度量的

LLM 中使用的一个损失函数是交叉熵损失(Cross-entropy loss),来衡量模型预测概率分布与真实概率分布之间的差异:

\[H(p, q) = -\sum_{x} p(x) \log q(x)\]

这让我想到了香农熵

\[H(p) = - \sum_{i=1}^{n} p_i \log (p_i)\]

香农在这里表达的一个重要思想,是语言是冗余4的,并且这个冗余是可以算的。我有一次在群里面跟朋友们开玩笑说:

研表究明,酸唧唧的野 enter5 会成造说话的时候序顺乱混,但并不定一影阅响读。因为看吃野 enter 的人说话还能完看的,也都不是常正人,脑子全是都乱的…

你应该也看懂了吧。

可见语言的冗余性,意味着当我们看到一个「足够接近人类语言」的句子时,我们会去理解并赋予它意义。实际上,LLM 从构建到使用是三个步骤:

  1. 我们给 LLM 灌的海量语料,就类似于程序的源代码;
  2. 我们构建 LLM ,类似于对语料进行了「gcc -Ofast」6的编译,生成了一个根据输入产生输出的程序;
  3. 然后我们看到 LLM 输出的句子,其实又是在自己的经验、认知、上下文里面做了扩展,赋予了自己的解释和含义;

LLM 的活,主要是第二阶段7,我们在第三步那些感受和情绪,不是它的能力,而是我们自己的能力。

没意义的输出能不能用

既然我们自己可以对输出进行理解和扩展,没意义的输出是不是就够了?

有时候够了:比如你写个会议纪要或者写段代码。

但大部分时候又不够。因为人类很多文字,都没有那么「冗余」,或者说不能随便「减熵」。

比如中国人看到耍小聪明的人,有时候会讽刺说:「高,高,实在是高」,这里没有一个「高」字是可以随便去掉的。

再比如我们读文学作品。以刘震云很风格化的《故乡面和花朵》为例,卷一有一段:

近来一切都好吧?家里也好吧?你爹好吧?甥媳妇、重外甥和重外甥女都还好吧?

有的人会觉得很啰嗦8,有人会觉得太好了就是这个味儿。实际上所有文学作品9,都可以理解为作者用「语言」构建了一个独特的语义空间。这个空间可能会被读者共鸣,也可能不会,但里面的每个字,就是这个空间用来寻找同类的图腾,不是保持大体意思不变就可以随意删改的。

因为每个字都有「意义」10

  1. 语言模型经历了四个阶段:SLM->NLM->PLM->LLM。 

  2. 因为看不到背后的细节,有部分科学家批评说,这些论文跟一篇博客的区别并不大。 

  3. 稍微受过训练的人都知道「相关性」和「因果性」的巨大区别。所以大量 AI 能力用于医疗诊断后,人类医生仍然被要求保持独立的推理、假设检验和决策,而把 AI 的输出作为一个参考输入。 

  4. 这里的冗余是信息论层面的,它其实衡量的是一门语言里的字母、符号在语言里面使用的效率。统计和计算这个有很多实际应用。比如 ASCII 为每个字符保留 8 个 bit,但是一些计算表明英语的熵是每个字母一个 bit。这是 Huffman 压缩和 Lempel-Ziv 压缩等等算法的基础。 

  5. 这里的「enter」是指「四川樱桃」。 

  6. 在 gcc 编译器的参数中,-O表示优化级别,比如-O0表示不进行任何优化,-Ofast表示基本上最激进的优化。 

  7. 所以我觉得 Ted Jiang 的这篇文章仍然是对 LLM 最好的类比。 

  8. 当然对整本书都有意见的人也很多,因为这本书写得太个性化了。 

  9. 实际上绘画、电影等等可能在干类似的事情,所以我们会说我们看懂了画家的「绘画语言」,或者导演的「电影语言」。 

  10. 当然「意义」是不是不可量化不可计算,这个问题也有人有别的看法。博尔赫斯有个收在《小径分岔的花园》里的短篇叫《<吉诃徳>的作者皮埃尔·梅纳尔》,讨论过一个蛮有趣的场景。提出「柯氏复杂性」的柯尔莫哥洛夫,也曾经想从符号学和控制论的角度去量化计算文字背后的文化和意义。他的结论是,「在这个方向上取得真正的进展,需要更多搞控制理论的家伙也喜欢上文学并且好好研究它们」。