来自斯坦福大学的最新研究结论,一经发出就造成了学术圈的轰动,“原本认为是人类独有的心智理论(Theory of Mind,ToM),已经出现在ChatGPT背后的AI模型上”。所谓心智理论,就是理解他人或自己心理状态的能力,包括同理心、情绪、意图等。这项研究中,作者发现:davinci-002版本的GPT3已经可以解决70%的心智理论任务,相当于7岁儿童。 2023 年,面对铺天盖地的 AI 应用,我们人类终于意识到,有一些东西被永远地改变了。但在这波 AI 热潮之中,只有一个应用是真正吓人的——ChatGPT。由于心智无法通过量化评判,但ChatGPT确实满足智能的定义,例如推理、计划、解决问题、抽象思考、理解复杂想法、快速学习。但ChatGPT本质上只做一件事情:续写。当我们给出前N个词汇的时候,如果一个模型能够告诉我们第“N+1”个词汇大概率会是什么,我们就认为模型掌握了语言的基本规律。
搜索所有有关ChatGPT的文章,发现有一个词的出现频率特别高,Attention is all you need。ChatGPT的一切都建立在“注意力机制”之上,GPT的全称是Generative Pre-trained Transformer,而这个transformer就是一个由注意力机制构建的深度学习模型。其来源于2017年的一篇15页的论文,《Attention is all you need》[1]。再结合OpenAI对于GPT2和GPT3的两篇论文[2][3],我们可以拆开这个大语言模型,看看他在说话的时候究竟发生了什么。注意力机制的诞生来源于人脑的思维方式,例如在读这段话时,你的注意力会不断的从左往右一个字一个字的闪过,之后再把注意力放到完整的句子上,理解这些字词的关系,其中有些关键词还会投入更多的注意,这一切发生在电光火石之间。而基于注意力机制的Transformer和GPT系列模型就是在模拟这一思维过程,通过让机器理解一句话中字词之间的关系和意义,完成下一个词的续写,然后再理解一遍,再续写一个词,最后写成一段话。要让程序模仿这件事并不容易。如何让机器计算字符,如何让代码存储知识,为什么将以上模型框架中的一个单元拆开后,全都是圆圈和线?所以研究AI的第一步,是搞清楚上图中的一个圆圈究竟能够干什么。
在2018年第一代GPT的原始论文[5]中,我们可以看到GPT系列的模型结构。回想上文中提到的注意力机制,这一层被叫做注意力编码层,它的目标就是模仿人的注意力,抽取出话语之间的意义,把12个这样的编码层叠在一起,文字从下面进去,出来的就是GPT预测的下一个词。比如输入how are you之后,模型会输出下一个单词doing,为什么它会输出doing?接下来我们就得搞明白中间到底发生了什么。输入how are you后,这三个单词会被转换为3个1024维度的向量,接着每个向量都会加上一个位置信息,表示how是第一个词,are是第二个词,以此类推之后它们会进入第一个注意力编码层,计算后变成三个不一样的1024长的向量,再来到第二层、第三层,一直经过全部的24个注意力编码层的计算处理,仍然得到三个1024长的向量,对下一个词的续写结果就藏在最后一个向量里面。关键的计算就发生在这些注意力编码层,这一层里又可以分成两个结构,先算多头注意力,再算全连接层。注意力层的任务是提取话语间的意义,而全链接层需要对这些意义做出响应,输出存储好的知识。我们可以先用how做个例子,注意力层里有三个训练好的核心参数KQV,用于计算词语间的关联度,将它们与每个向量相乘后,就能得到how和are的关联度,再通过这种方式计算how和you, how和how的关联度,就能得到三个打分,分数越高意味着它们的关联越重要。之后再让三个分数和三个有效信息相乘再相加,就把how变成了一个新的64个格子的向量,然后对are和you做同样的操作,就得到了三个新的向量。
参与这轮计算的KQV是固定的,而模型里一共有16组不同的KQV,他们分别都会做一轮刚才这样的运算,得到16组不同的输出,这叫做多头注意力,意味着对这句话的16组不同的理解。把它们拼在一起,就得到了和输入相同长度的1024个格子,再乘一个权重矩阵W就进入到了全链接层的计算。在全连接层里,就是4096个我们熟悉的神经元,它们都还是在做分类的工作。这里的计算是把被注意力层转换后的how向量和这里的每一个神经元都连接在一起,1024个格子里的每一个数字都分别和第一个神经元的连线的权重相乘再相加,这个神经元会输出一个相似度分值,与此同时,每一个神经元都在做类似的操作。只有少数神经元的输出大于零,也就意味着神经元对这个敏感,再连接1024个格子号所对应的向量,就又得到了一个新的向量。之后are和you做类似的计算,就得到了三个和初始长度一样的1024长的格子串,这就是一层注意力编码层内发生的事情。之后的每一层都按照相同的流程在上一层的基础上做进一步的计算,即便每一层都只带来了一点点理解,24层算完以后也是很多理解了,最终还是得到三个向量,每个1024长。而模型要输出的下一个词就基于这最后一个向量,也就是you变换来的向量,把它从1024恢复成0-50256范围的序号,我们就能看到这个序号向量在词表里最接近的值。到这一步就可以说模型算出了how are you之后的下一个词,最有可能是doing。我们希望模型继续续写,就把这个doing续在how are you后面,转换成四个向量,再输入进模型,重复刚才的流程,再得到下一个词。这样一个接一个,一段话越来越长,直到结束,变成我们看到的一段话,这就是文字接龙的秘密。而ChatGPT也只是把这个续写模型改成了对话界面而已,你提的每一个问题都会像这样成为续写的起点,你们共同完成了一场文字接龙。
“将万事万物还原为简单基本定律的能力,并不蕴含从这些定律出发,重建整个宇宙的能力。” —— Philip Anderson.1972年,理论物理学家Philip Anderson在Science发表了一篇名为《More is Different》[7]的论文,奠定了复杂科学的基础,安德森认为:“大量基本粒子的复杂聚集体的行为并不能依据少数粒子的性质作简单外推就能得到理解。取而代之的是在每一复杂性的发展层次之中呈现了全新的性质,从而我认为要理解这些新行为所需要做的研究,就其基础性而言,与其它相比也毫不逊色”。回顾语言模型的结构,信息是随着注意力编码层不断往上流动的,层数越高的神经元越有能力关注那些复杂抽象的概念和难以言说的隐喻。这篇叫《在干草堆里找神经元》[8]的论文也发现了类似的情况,他们找到了一个专门用来判断语言是否为法语的神经元。如果在小模型当中屏蔽这个神经元,它对法语的理解能力马上会下降,而如果在一个大模型中屏蔽它,可能几乎没什么影响。这意味着在模型变大的过程中,一个单一功能的神经元很可能会分裂出多个适应不同情况的神经元,它们不再那么直白的判断单一问题,进而变得更难。能理解这就是OpenAI为什么非得把模型搞得这么大的原因,只有足够大才足够抽象,而大到了一定程度,模型甚至会开始出现从未出现过的全新能力。在这篇名为《大语言模型的涌现能力》的论文中[9],研究人员对于这些大小不同的语言模型完成了八项新能力的测试。可以看到,他们在变大之前一直都不太行,而一旦大到某个临界点,它突然就行了,开始变成一条上窜的直线,就像是在一瞬间顿悟了一样。纵观我们的自然和宇宙,一个复杂系统的诞生往往不是线性成长,而是在复杂度积累到某个阈值之后,突然地产生一种新的特质,一种此前从未有过的全新状态,这种现象被称作涌现,Emerge。而这个上千亿参数的大语言模型,好像真的涌现出了一些数据分类之上的新东西。最近读了《失控》这本书,里面也提到了一个概念叫涌现,可以理解为蜂群智慧。一只蜜蜂是很笨的,但是组成一个群体就可以完成很多超越个体智慧的决策。当然我不觉得AI的单个神经元是愚笨的,而是会不会这种“意识”,也会因为大量功能迭代,学习,突然涌现出来,就像人类的进化,不知怎么的就有了意识。就像这个世界的一切都是由原子构成,但如果只是计算原子之间的相互作用力,我们永远也无法理解化学,也无法理解生命。所以,如果仅仅从还原论的角度把AI看作只做二元分裂的圆圈和线,我们就永远无法理解大语言模型今天涌现出的抽象逻辑和推理能力,为此,我们需要在一个新的层级重新理解这件事。
如果要问,现阶段GPT和人类说话方式最大的不同是什么,我认为,答案是他不会说谎。对于语言模型来说,说和想是一件事情,他只是一个字一个字地把他的思考过程和心理活动说出来了而已。GPT从不回答我不知道,因为他并不知道自己不知道,这就是AI的幻觉,看起来就像是一本正经的胡说八道,他只是想让对话继续下去,是否正确反而没那么重要。优化这个问题的方法也很简单,只需要在提问的时候多补充一句,Let's think step by step,请逐步分析,让GPT像人一样多想几步,对他来说也就是把想的过程说出来。Step by step,这种能力也被称为Chain of Thought,思维链。心理学家Daniel Kahneman把人的思维划分成了两种,系统一是直觉、快速的、没有感觉的,系统二则需要主动地运用知识、逻辑和脑力来思考。前者是快思考,就像我们可以脱口而出八九七十二,九九八十一,而后者是慢思考。就比如要回答72乘81是多少,就必须列出过程,一步步计算。思维链的存在意味着大语言模型终于有了推理能力。而为了做到这件事,我们的大脑进化了6亿年。我们可以在6亿年前的水母身上看到神经网络最古老的运行方式。水母外围的触角区域和中心的嘴部区域都有神经元。当触角感知到食物时,这里的神经元会激活,然后把信号传给中心的神经元,食物也会被这个触角卷起来送到嘴里。漫长的岁月里,我们的大脑就在神经网络的基础上一层又一层地叠加生长出来。首先进化出来的是爬虫类脑,这部分和青蛙的脑子有点像,它控制着我们的心跳、血压、体温这些让我们不会死的东西。然后是古生物脑,它支配着我们的动物本能,饥饿、恐惧和愤怒的情绪,繁衍后代的欲望都来自边缘系统的控制。而最外侧这两毫米左右的薄薄的一层,是最近几百万年才进化出来的新结构、新皮质,我们人类引以为傲的那些部分,语言、文字、视觉、听力、运动和思考都发生在这里,但我们对新皮质还是知之甚少。目前已知的是,这里有大概200亿个神经元,每一平方厘米的新皮质中都大约有一千万个神经元和500亿个神经元之间的连接。只需要从人类大脑外侧取下一小片三平方厘米的新皮质,就已经和ChatGPT大的吓人的参数量类似了。而我们的大脑之所以需要这么多神经元,是因为GPT仅仅需要预测下一个词,而我们的神经元需要时刻预测这个世界下一秒会发生什么。最近几十年的神经科学研究发现除了能激活神经元的突触信号,还存在大量负责预测的树突脉冲信号。一个处于预测状态的神经元如果得到足够强的突出信号,就可以比没有预测状态的神经元更早的被激活,进而抑制其他的神经元。这意味着有一个事无巨细的世界模型就存储在我们新皮质的200亿个神经元里,而我们的大脑永远不会停止预测。所以,当我们看到一个东西,其实看到的是大脑提前构建的模型,如果它符合我们的预测,无事发生。而一旦预测错误,大量的其他神经元就会被激活,让我们注意到这个错误,并及时更新模型。所以每一次错误都有它的价值。我们也正是在无数次的预测错误和更新认知中真正认识了世界。现在我可以试着回答最初的问题,GPT或许尚未涌现心智,但他已经拥有了智能。它是一个“大”的语言模型,是几百万个圆圈和线互相连接的分类器,是通过预测下一个词实现文字接龙的聊天大师,是不断向上抽取意义的天才金鱼,是对几千亿文字无损压缩的复读机,是不论对错永远积极回应人的助手。它可能又是一场快速退潮的科技热点,也可能是人类的最后一项重要的发明。从围棋、绘画、音乐到数学、语言、代码,当AI开始在那些象征人类智力和创造力的事情上逐渐超越的时候,给人类最大的冲击不仅仅是工作被替代的恐惧,而是一种更深层的自我怀疑。人类的心智是不是要比我们想象的浅薄得多,我不这么认为。机器可以是一个精妙准确的复读机,而人类是一个会出错的复读机。缺陷和错误定义了我们是谁。每一次不合规矩,每一次难以理解,每一次沉默、停顿和凝视,都比不假思索的回答更有价值。
参考文献
[1] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).
[2] Radford, Alec, et al. "Language models are unsupervised multitask learners." OpenAI blog 1.8 (2019): 9.
[3] Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
[4] Rosenblatt, F. "The perceptron: A probabilistic model for information storage and organization in the brain." Psychological Review, 65 (1958): 386–408.
[5] Radford, Alec, et al. "Improving language understanding by generative pre-training." (2018).
[6] Bills, Steven, et al. "Language models can explain neurons in language models." URL https://openaipublic. blob. core. windows. net/neuron-explainer/paper/index. html.(Date accessed: 14.05. 2023) (2023).
[7] Anderson, Philip W. "More Is Different: Broken symmetry and the nature of the hierarchical structure of science." Science 177.4047 (1972): 393-396.
[8] Gurnee, Wes, et al. "Finding Neurons in a Haystack: Case Studies with Sparse Probing." arXiv preprint arXiv:2305.01610 (2023).
[9] Wei, Jason, et al. "Emergent abilities of large language models." arXiv preprint arXiv:2206.07682 (2022).
[10] Searle, John R. "Minds, brains, and programs." Behavioral and brain sciences 3.3 (1980): 417-424.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
2021-10-22 CentOS7安装xrdp(Windows远程桌面连接Linux)
2008-10-22 关于HTML页以Get方法向asp.net页面传值乱码的解决