人工智能的突破源于计算模型的改变 计算模型有不同的层次,图灵机模型是一种通用的计算模型,理论上可以实现所有的计算。而目前流行的卷积神经网络等智能计算模型是专用的计算模型。通用计算模型有很多种,包括图灵计算(离散变量计算,即递归计算)、神经网络计算(数据驱动的图灵计算)、模拟计算(连续变量计算)和量子计算等新计算模型。计算模型是分析可计算性和计算复杂性的基础。图灵机模型只是若干个计算模型的一种。通用计算模型在可计算性上都是等价的,但对于某些计算问题,不同模型的计算效率有天壤之别。例如,在量子计算模型上用Shor算法做大数分解是多项式复杂性,而在图灵机模型上做大数分解是指数复杂性。
经典的图灵计算模型的递归形式是f(x,0)=g(x);f(x,y+1)=h(x,y,f(x,y))。机器学习的递归形式是f0(x,0)=g(x);f2(x,y+1)=h(x,y,f1(x,y));f≈L(g)。在图灵计算模型中,递归迭代函数和输入都是确定的。而在机器学习模型中,每次迭代的结果都产生一组新的迭代方程,f随输入数据而变化, f0、f1、f2是递归函数f的水平分裂。机器学习是不同于经典图灵计算的数据驱动型递归计算[2]。
问题的复杂性随计算模型的改变而改变。人们常说的NP困难问题是对确定性图灵计算模型而言的。自然语言理解、模式识别等NP困难问题,在大语言模型上能被有效解决,这说明大语言模型对这类问题的求解效率远远高于图灵计算模型。人工智能的成功本质上不是大算力“出奇迹”,而是改变了计算模型。从理论上讲,现在还没有明确的证据表明,神经网络模型能够为NP完全问题提供多项式时间的解法(只是针对某些问题实例有多项式复杂性的近似解)。AI研究的新近发展体现了一种趋势,放弃绝对性,拥抱不确定性,即只求近似解或满足一定精度的解,这或许是这次AI“意外”取得成功的深层原因。
图灵机模型和神经网络模型各有优缺点,适合于不同的计算问题。若对一个领域已经有较透彻的理解,要求完全正确或非常精确的解,选择图灵机模型一般更合适。若对一个领域了解不深入,问题很复杂,只求近似解,选择神经网络模型可能更合适。需要注意,理论上有些NP问题求近似解仍然是NP困难问题。LLM求解NP问题是针对某些问题实例,而不是针对整个问题类。
两种计算模型的历史性竞争
人工智能经历了60多年的发展,曾经两次跌入低谷,目前是兴起的第三次浪潮。波浪式的发展始终围绕符号主义和连接主义的竞争,而背后实际上是图灵机模型和神经网络模型的竞争。从源头上理清神经网络模型的发展脉络,有助于我们了解它的潜力和局限性。
1936年,图灵在《论可计算数及其在判定问题上的应用》中提出图灵机模型,这个模型成为80多年来计算机和人工智能发展的基本模型。1943年麦卡洛克(McCulloch)和皮茨(Pitts)提出了神经元计算模型,这个模型在可计算性上与图灵模型是等价的(理论上无限容量的神经网络模型被认为是图灵完备的,即可以模拟任何图灵机的计算过程)。对自动机理论而言,神经网络模型可能比图灵模型更有价值。
1945年,冯·诺伊曼发表了一篇长达101页的报告《EDVAC报告书的第一份草案》,为计算机的发展奠定了坚实的基础。麦卡洛克和皮茨的《神经活动中内在思想的逻辑演算》是这份报告唯一的参考文献。冯·诺伊曼在给维纳的信中也提到,麦卡洛克和皮茨的大胆尝试,与图灵博士的非神经观点同样重要。后来,冯·诺伊曼在他的遗作《自复制自动机理论》中指出,图灵机和神经网络模型分别代表了一种重要的研究方式——组合方法和整体方法。麦卡洛克和皮茨对底层的零件进行了公理化定义,可以得到非常复杂的组合结构;图灵定义了自动机的功能,并没有涉及具体的零件[3]。这说明神经网络计算模型对计算机概念的形成产生了重大影响。
由于当时计算机的性能太低,数据也缺乏,基于神经网络模型构建计算机的想法无法实现。1946年11月,冯·诺伊曼给维纳写信时指出,为了理解自动机的功能及背后的一般原理,我们选择了太阳底下最复杂的一个对象……在整合了图灵、皮茨和麦卡洛克的伟大贡献后,情况不仅没有好转,反而日益恶化……这些人向世人展示了一种绝对的且无望的通用性。从此,冯·诺伊曼放弃了用神经网络模型构建计算机,转向研究自复制自动机。
值得指出的是,早在1948年,图灵也写了一篇论文《智能机器》(Intelligent machinery),提出了与图灵机不同的计算模型——“无组织机器”,它模拟婴儿的大脑皮层,通过适当的干扰训练来实现组织化。实际上,这篇论文介绍的是早期的随机连接神经网络模型,描述了目前人工智能连结主义的基本原理,包括遗传算法和强化学习等。由于没有得到他老板的认可,这篇论文一直没有被发表,直到2004年才被发现[4]。这一被历史淹没的重要论文,说明图灵同样看好神经网络模型。如果学术界早看到这篇论文,今天的计算机世界可能是另一幅模样。
冯·诺伊曼早就预言,信息理论包括两大块,即严格的信息论和概率的信息论。以概率统计为基础的信息理论对于现代计算机的设计更加重要。统计意义的正确性与确定性、计算程序的严格正确性是解决复杂问题的不同思路。图灵机模型和神经网络模型的竞争,实际上是科学技术发展史上常见的功能主义和结构主义的竞争,蒸汽机、飞机等重大发明都是先实现功能后来才研究发现其结构原理的,计算机和人工智能走的路也一样。几十年来,神经网络模型一直比不过图灵模型,在学术界受到排挤。但有一批学者坚持不懈, 终于让结构主义取得了一次初步胜利,神经网络模型开始显示它的威力。
大模型的重要标志是机器涌现智能
在AlphaFold2实现蛋白质结构预测和GP T4令人惊奇的功能中,机器猜想都发挥了关键作用,这说明大规模的机器学习神经网络已涌现出某种程度的认知智能,大模型的核心特征是“涌现”功能。神经科学家Terrence Sejnowski这样描述LLM:“达到了一个阈值,就好像一个外星人突然出现,可以用一种奇怪的方式与我们交流。”也有人比喻大模型就像毛毛虫变成蝴蝶,幼虫代表训练模型的数据,蝴蝶代表着从数据中创造的AI。
大模型是否具有涌现和理解能力,对这个问题学术界还没有形成共识。2022年,在一项针对自然语言处理的调查中,受访者被询问是否同意以下说法:根据文本训练的生成模型,在给定足够的数据和计算资源的情况下,能够在某种非琐碎的意义上理解自然语言。在480名受访者中,51%同意,49%不同意。有些学者认为,LLM所谓的“涌现”行为是度量标准引起的“海市蜃楼”,一旦改变指标进行测试,所谓的“涌现”特性就会消失。不同学者对涌现的理解可能不同,涌现未必要看性能测试曲线上是否有突变的拐点。过去的人工智能做不到的事情,今天的大模型可以做到,从宏观上看就是涌现了一些意想不到的新功能,如机器翻译、计算机生成文艺作品、新材料的发现、全自动设计CPU芯片等。可以说,大模型已经具有一定的理解和创造能力。
冯·诺伊曼的遗作《自复制自动机理论》指出,自动机理论的核心概念在于复杂性,超复杂的系统会涌现出新的原理。他提出了一个重要的概念——复杂度阈值。突破了复杂度阈值的系统,因在数据层的扩散和变异作用而不断进化,从而可以做很困难的事情。现在的神经网络模型有成千上万亿个参数,可能已接近冯·诺伊曼讲的复杂度阈值。复杂度阈值并不等于模型的规模,智能也不等同于复杂性。需要深入研究如何准确定义和测量复杂性、智能与复杂性是什么关系以及如何理解和预测涌现行为。
机器理解不同于人的理解。机器翻译可以不懂语义,AI天气预报可以不懂气象理论,这可能是一种新颖的“理解”形式,一种能够实现预测的理解形式。我们需要开发新的基准和探索方法,以深入了解不同类型的智力和理解的机制。理解、智能和意识有3个不同层次的内涵,有理解能力未必有自我意识。所谓“对齐”和“微调”是人类认知和机器“认知”的接口。即使机器有意识,源头还是人类,应当能找到人类影响机器的接口。因此,我们对机器的认知不必过于恐慌。
大模型的本质是“压缩”
20世纪90年代,Hinton就提出,深度学习的本质可能就是压缩。OpenAI首席科学家Ilya Sutskever提出,压缩可能就是学习的本质!马毅团队提出“白盒”。Transformer也指出,智能的本质就是压缩。著名计算机科学家李明教授采用第一性原理和Kolmogorov复杂性理论证明了“理解就是压缩,大模型就是压缩”。
大语言模型的本质是一个性能强大的近似无损的数据压缩器,即将输入文件的知识“压缩”后,以权重矩阵的形式存储在神经网络模型中。ChatGPT原始训练数据集的大小是900 TB,训练完成后,模型参数文件大约是64 TB,整体的压缩比约为1∶14,而传统语言模型(如Bert、RNN)的压缩比大约是1∶10~1∶8。
组合搜索的关键是压缩搜索空间。AlphaGo只搜索了一个很小比例的空间(约1/10150),就能找到相当准确的满意解。中国科学院计算技术研究所(以下简称中科院计算所)做的“启蒙1号”也是将几乎无穷大的搜索空间压缩到106。为什么搜索空间可以被大幅度地压缩?因为许多理论上的解空间对实际求解没有意义,解分布也不是随机的。必须有效地识别和利用数据中的关键模式和结构,在巨大搜索空间中快速找到最有价值的区域。
大模型的“幻觉”
LLM的主要功能是预测(猜),不是搜索正确答案。搜索是没有创造性的,猜测可能有创造性,这种猜测可以看成人类智能的补充而不是替代。向LLM提问其实不是人类在测试计算机的智能,而是LLM在测试提问者对机器智能的了解程度,因此,这可以看成一种反向的图灵测试。OpenAI科学家Andrej Karpathy指出:从某种意义上说,大语言模型的全部工作恰恰就是制造“幻觉”,大模型就是“造梦机”。提问者是否能够让“幻觉”和自己的现实一致,很大程度取决于提问者对产生内容的检查能力。
图灵停机问题的不可判定性说明复杂系统具有不可预测性,不存在一个通用的程序能够预测所有复杂系统的运行结果。也就是说,不确定性是复杂系统的本质特征,要想弄清楚某个复杂系统的运行结果,唯一的办法就是让这个系统实际运行。长期的计算思维教育使我们习惯了用执行固定程序的观念来看待复杂系统,实际上大模型像人脑一样是个复杂系统,其信息处理过程并不是执行固定的程序。即使是在推理阶段,由于采用概率性推理,执行过程也存在随机性。相同的问题也可能生成不同的答案,结果必然有不确定性。
哥德尔不完备性定理表明,完备性和一致性不能同时满足。LLM的“幻觉”是系统不一致性的表现,泛化能力是完备性的表现。从这个角度看,“幻觉”是由于追求泛化能力造成的。LLM的泛化能力和“幻觉”是一个硬币的两面,我们需要在与“幻觉”共存的环境下发展人工智能。
基于大科学模型的智能化科研
大语言模型的局限 国内流行“大模型”的说法,国外并不流行large model或big model的说法,流行的是large language model(LLM)。这是OpenAI公司带领的方向,主要受ChatGPT的影响。DeepMind团队也用LLM的方法学习必要知识,但主要采用强化学习方法,机器本身也产生了很多数据。在科研工作中,我们应更加关注DeepMind团队的工作。为了区别于大语言模型,笔者建议发展大科学模型(large science model,LSM)。科研领域对模型的正确性和精度要求较高,模型具有识别自身能力不足的“自知之明”与提高模型准确性同等重要,科研大模型必须找到对付AI“幻觉”的办法。神经网络模型的哲学基础是经验主义,实际上采用的是不完全归纳推理,存在或然性,得出的结论可能存在偏差或错误。经验主义也无法完全解释人类的创造性思维和创新能力。人工神经网络是一个有高表达能力的通用函数类,其理论逼近能力优于经典的数值函数表示。但普通算法通常无法获得理论近似率,基于点样本的有效算法能多大程度地利用这些优越的近似性质,仍然是深度学习领域中的开放问题。基于神经网络模型的深度学习方法难以保证高精度。由于神经网络模型满足不了13个“9”的高精确性要求,中科院计算所在全自动设计的CPU芯片“启蒙1号”的研发中,发明了一种新的机器学习模型——二进制推测图(BSD),用来表示电路逻辑。BSD不但能保证精度,而且与大语言模型一样,也具有“涌现”功能。
智能化科研与传统科研的区别
人工智能不仅应用于基础研究(AI for science,AI4S),还应用于技术研究和工程实施(AI for technology,AI4T)。因此,笔者建议将“第五科研范式”称为“智能化科研”(AI for research,AI4R)。早期的AI研究采用的数学基础是基于符号的数理逻辑,很多数学工具用不上,这也是早期AI研究跌入低谷的重要原因。这次AI之“火”复燃,明显的改进是采用了统计学的方法,处理的对象变为大量的数据,数学工具可以大显身手,这也是AI技术突飞猛进的重要原因。传统科研的主要方式是求解函数y=f(x),即通过实验和理论研究先找到反映客观规律的函数f(一般用微分方程的形式表示),或者根据已知的知识编写求解f的程序,再通过输入x求得结果y。但对于复杂或者较为通用的问题,人类还没有获得函数f的确切表达,只能通过已知的输入x和输出y来拟合函数f,这是求函数值的反问题。智能化科研(AI4R)大多是在解决“反问题”。为特定应用编写计算机程序是可行的,但为一般智能编写计算机程序会引发组合学爆炸。经过几十年努力,现在有了另一种求解途径,即一个基于学习而不是编写计算机程序的替代方案。大模型相当于一种可能具备通用智能的应用程序,这些算法有时会失败,但足以在现实世界中处理一些复杂的问题。