语言模型与人工智能

2024-01-24 06:27冯志伟张灯柯
外语研究 2024年1期
关键词:语法向量单词

冯志伟 张灯柯

(新疆大学新疆民汉语文翻译研究中心,新疆 乌鲁木齐 830046)

0.引言

自然语言处理的模型按照发展顺序大致可以分为基于规则的语言模型(Rule-based Language Model,RLM)、统计语言模型(Statistical Language Model,SLM)、神经语言模型(Neural Language Model,NLM)、预训练语言模型(Pre-trained Language Model,PLM)、大语言模型(Large Language Model,LLM)等,这些语言模型的研制与人工智能有着密切的关系(冯志伟2023)。本文将系统论述人工智能与这些语言模型的关系。

1.基于规则的语言模型(RLM)与人工智能的兴起

1946 年,美国宾夕法尼亚大学的J.P.Ecker(t埃克特)和J.W.Mauchly(莫希莱)设计并制造出了世界上第一台电子计算机ENIAC,电子计算机惊人的运算速度,启示着人们考虑翻译技术的革新问题。因此,在电子计算机问世的同一年,英国工程师A.D.Booth(布斯)和美国洛克菲勒基金会自然科学部主任W.Weave(r韦弗)在讨论电子计算机的应用范围时,就提出了利用计算机进行语言机器翻译(Machine Translation,MT)的想法。

在学者们的热心倡导和实业界的大力支持下,美国的机器翻译研究一时兴盛起来。1954 年1 月7日,美国乔治城大学在国际商用机器公司(IBM)的协同下,用IBM-701 计算机,进行了世界上第一次机器翻译试验,把60 个简单的俄语句子翻译成了英语。第一次机器翻译试验的成功给人们带来了希望。接着,苏联、英国、中国、日本也进行了机器翻译试验,机器翻译出现热潮。当时的机器翻译的方法是基于规则的方法,所用的语言模型是基于规则的语言模型(RLM)。1956 年夏天,美国Dartmouth(达特茅斯)学院的John MacCarthy(麦卡锡)、哈佛大学的Marvin Minsky(明斯基)、贝尔实验室的Claude Shannon(香农)等人在美国达特茅斯学院举行了为期两个月的学术讨论会。他们从不同学科的角度探讨人类的学习和其他智能特征的科学原理,研究用机器模拟人类智能。在会议之前的《人工智能达特茅斯夏季研究项目提案》(A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence)中,MacCarthy 首次提出了“人工智能”(Artificial Intelligence,AI)这一术语。

所谓人工智能,也就是研究如何使计算机去做过去只有人才能做的智能性工作。例如,过去的翻译都是由人来做的,1954 年第一次机器翻译试验的成功,说明计算机也可以做翻译了。所以,机器翻译应当是一种人工智能的工作,这与1947 年Turing 提出的机器翻译可以显示人的智能的预见不谋而合。

由此可见,机器翻译的历史比人工智能的历史还早两年。本研究认为,1954 年机器翻译试验的成功也许在一定程度上促成了1956 年人工智能的诞生,机器翻译与人工智能之间有着不解之缘(冯志伟2018:48)。

值得注意的是,达特茅斯会议前一年,在1955 年8 月31 日《人工智能达特茅斯夏季研究项目提案》中,MacCarthy 就明确地提出要“研究语言与智能的关系”。他在这个研究提案中说,建议在明年和夏季人工智能研究项目期间研究语言与智能的关系。将试验和纠错方法直接应用于感知数据和运动活动之间的关系并不会导致任何非常复杂的行为。相反地,这种试验和纠错方法必须应用于更高的抽象层次。人类的思想显然使用语言作为处理复杂现象的手段。较高级别的试错过程经常会使用猜想和测试的形式。英语有许多属性,而目前所描述的每一种形式语言都缺乏这些属性。这些属性是:

(1)用非正式数学补充的英语论证可以是简明扼要的。

(2)英语具有普遍性,因为可以在英语中设置任何其他的语言,然后在适当的地方使用这些语言。

(3)英语的使用者可以在其中引用自己的说明,并陈述关于自己在解决正在处理的问题方面的进展。

(4)除了证明规则之外,如果英语完全地形式化,则可以推导出一些猜测性的规则。

MacCarthy 在其研究提案中还进一步指出:他希望尝试制定一种具有上述属性的语言,并且除了包含物理现象、事件等概念之外,他还希望使用这种语言对计算机进行编程,以便计算机学习怎样很好地执行其他任务。

MacCarthy 的这些观点是关于使用语言对计算机进行编程的最早论述,他试图把语言与计算机联系起来。由此可见,人工智能从它诞生开始,就把研究的目光敏锐地投向了语言。所以,人工智能与自然语言处理(Natural Language Processing,NLP)有着密切的关系。

根据MacCarthy 的研究提案,人工智能一开始就把它研究的视线迅速地投向了语言,把自然语言理解(Natural Language Understanding,NLU)作为人工智能研究的重要领域,开发了若干个人机对话(manmachine dialogue)系统。

这段时期人们对于人工智能充满了乐观情绪,Minsky 甚至做了乐观的预测,他兴奋地指出,在3 年至8 年内,人们将会制造出一台具有人类平均智能水平的计算机。

早期的人工智能研究是基于符号主义(symbolism)的,也就是根据符号的规则来研究人工智能,这样的研究尽管在一些数据规模很小的子领域(sub field)中取得一些成绩,但是,一旦扩大数据的范围,就显得捉襟见肘。不少人工智能的项目不能达到预期的效果,往往以失败告终,人工智能变得声名狼藉。

在自然语言处理领域,由于机器翻译译文质量低劣,美国科学院在1964 年成立语言自动处理咨询委员会(Automatic Language Processing Advisory Committee,ALPAC),简称ALPAC 委员会,调查机器翻译的研究情况,经过为期两年的调查,这个委员会于1966年11 月公布了一个题为《语言与机器》(Language and Machine 1966)的调查报告,简称ALPAC 报告,这个报告对机器翻译采取否定的态度。报告宣称:在目前给机器翻译以大力支持还没有多少理由;报告还指出,机器翻译研究遇到了难以克服的“语义障碍”(semantic barrier)。

在ALPAC 报告的影响下,刚刚兴起的机器翻译在美国受到普遍的质疑,许多国家的机器翻译研究进入低潮,由于停止拨款,不少已经建立起来的机器翻译研究单位遇到了行政上和经费上的困难,在世界范围内,机器翻译出现了空前萧条的局面。

这样,20 世纪60 年代末期和70 年代初期,不论是机器翻译还是人工智能都先后进入了低潮(冯志伟2018:35)。

就在这个蒙难时刻,在基于规则的机器翻译研究中,法国数学家B.Vauquois(1968)力挽狂澜,在机器翻译的理论和实践方面都取得了突出的成绩。

他明确地提出,一个完整的机器翻译过程可以分为如下六个步骤:(1)源语言形态分析;(2)源语言句法分析;(3)源语言-目标语言词汇转换;(4)源语言-目标语言句法语义转换;(5)目标语言句法生成;(6)目标语言形态生成。

这六个步骤形成了“机器翻译金字塔”(MT pyramid),又叫作“沃古瓦金字塔”(Vauquois pyramid)。其中,第一、第二步只与源语言有关,第五、第六步只与目标语言有关,只有第三、第四步牵涉到源语言和目标语言二者。这就是机器翻译中的“独立分析-独立生成-相关转换”的方法。

Vauquois 把机器翻译方法分为三种:中间语言方法、转换方法、直接翻译方法。他使用转换方法研制的俄法机器翻译系统,已经接近实用水平。

1976 年,加拿大蒙特利尔大学与加拿大联邦政府翻译局联合开发了基于规则的实用性机器翻译系统TAUM-METEO,正式向公众提供天气预报服务。机器翻译开始慢慢复苏。

1981年,冯志伟研制了多语言机器翻译系统FAJRA,把108 个汉语句子自动地翻译成法语、英语、日语、俄语和德语。

人工智能研究方面也有起色。1980 年,美国卡内基-梅隆大学为DEC 公司研制出一个专家系统(expert system),这个专家系统可以在决策方面提供有价值的建议,帮助DEC 公司每年节省4,000 万美元的费用,人工智能重新显示出其威力。

1982 年,日本投入巨资,采用基于规则的人工智能技术开发第五代计算机,当时叫作“人工智能计算机”。人工智能走出了第一次的寒冬,进入了它的第二次高潮。

20 世纪80 年代人工智能在数学模型方面有重大创新,1989 年设计出能与人类下象棋的智能机器,人工智能技术还在邮政中发挥了作用,使用人工智能网络来自动识别信封上的邮政编码,识别正确率达到99%以上,超过了普通人的识别水平。

20 世纪80 年代后期,IBM 公司推出了个人计算机(personal computer,简称PC 机),这种PC 机价格低廉,使用简单,很快进入了家庭。与PC 机相比,建立在大型计算机基础上的人工智能系统显得曲高和寡,很少有人乐意使用。同时,政府拨给人工智能研制的经费越来越少,人工智能的研究单位又出现了“门前冷落鞍马稀”的萧条局面,人工智能的研究人员纷纷跳槽改行,显得非常冷清,人工智能在经历了第一次寒冬之后,稍显复苏,又立即进入了它的第二次寒冬。

可以看出,在基于规则的语言模型时期,自然语言处理与人工智能处于平行发展的状态,二者相互借鉴,休戚与共,到了20 世纪80 年代,二者的发展都遇到了重重的困难,成为了难兄难弟。

2.统计语言模型(SLM)和人工智能的发展

20 世纪90 年代到21 世纪初,自然语言处理进行了从基于规则的方法到基于统计的方法的战略转移(strategy shift)。

1993 年7 月在日本神户召开的第四届机器翻译高层会议(MT Summit IV)上,英国著名学者J.Hutchins(1986)指出,自1989 年以来,机器翻译的发展进入了一个新纪元。这个新纪元的重要标志是,在基于规则的技术中引入了语料库方法,其中包括统计方法、基于实例的方法、通过语料加工手段使语料库转化为语言知识库的方法。这种建立在大规模真实文本(large scale authentic text)处理基础上的机器翻译,是自然语言处理研究史上的一场革命,它将会把自然语言处理推向一个崭新的阶段。

在这样的战略转移中,统计语言模型(SLM)逐渐成为自然语言处理研究的主流模型。1913 年,A.A.Markov(马尔可夫)提出的马尔可夫模型(Markov model)实际上就是N 元语法模型(N-gram model)。Markov 使用N 元语法模型来预测普希金叙事长诗《欧根·奥涅金》中下一个字母是元音还是辅音。他把《欧根·奥涅金》中的20,000 个字母分为V(元音)和C(辅音),并计算二元语法和三元语法的概率,如果要判定给定的字母是否为元音,需要根据它前面的一个或多个字母来决定。这就是二元语法和三元语法思想最早的萌芽,由此而可以推广为N 元语法模型。

人们在计算某个单词的概率的时候,不是考虑它前面的全部的历史,而只是考虑最接近该单词的若干个单词,从而近似地逼近该单词的历史。这就是N 元语法模型的直觉解释。如果通过前面一个单词的条件概率来估计下一个单词出现的概率,这样的语法模型叫作二元语法模型(bigram model)。如果通过前面两个单词的条件概率来估计下一个单词出现的概率,这样的语法模型叫作三元语法模型(trigram model)。如果通过前面N-1 个单词的条件概率来估计下一个单词出现的概率,这样的语法模型叫作N元语法模型(N-gram model)。

由此可见,可以把二元语法模型推广到三元语法模型,……,再推广到N 元语法模型。二元语法模型叫作一阶马尔可夫模型(因为它只看前面的一个单词),三元语法模型叫作二阶马尔可夫模型(因为它只看前面的两个单词),N 元语法模型叫作N-1 阶马尔可夫模型(因为它只看前面的N-1 个单词)。它们都是统计语言模型(SLM)。

学者们进一步探讨更加复杂的N 元语法的方法。这些方法包括:Kuhn & de Mor(i1990)在1990年提出的给N 元语法附加权值的“存贮LM 法”(cache LM),Rosenfeld(1996)在1996 年提出的选择长距离触发算法(long-distance trigger)来替代局部N 元语法的方法,Ney et al(.1994)在1994 年提出的使用可变长N 元语法(variable-length N-grams)的方法。

另外一种类型的统计语言模型是使用语义信息来丰富N 元语法,这些方法包括:基于潜在语义索引(latent semantic indexing)的语义词联想方法,Demetriou(德美特里欧)等在1997 年提出的从联机词典和类属词典中提取语义信息的方法,基于类的N元语法(Class-based N-grams)根据单词的类别(例如词类)来建立N 元语法的方法。

还有一系列的提升N 元语法的方法是基于话语知识(discourse knowledge)的,例如,Florian(弗洛里安)和Yarowsky(雅罗夫斯基)在1999 年提出的使用当前话题的知识来提升N 元语法的方法或使用言语行为和对话知识来提升N 元语法的方法。

20 世纪90 年代以来,统计语言模型有了进一步发展,包括噪声信道模型(noisy channel model),最大熵模型(Max-Entropy model),以及基于平行概率语法的形式模型(例如中心词转录机模型、同步上下文无关语法模型、反向转录语法模型等)。在机器翻译方面,学者们还提出了基于短语的统计机器翻译模型(phrase-based statistical machine translation model)、基于句法的统计机器翻译模型(syntax-based statistical machine translation model)。统计机器翻译的译文质量得到了大幅度的提高(冯志伟2015:9)。

逻辑斯蒂回归(logistic regression)最早是在统计学领域发展起来的。20 世纪90 年代初期,IBM 公司在自然语言处理中使用了逻辑斯蒂回归,而且这种方法也普遍地用于语言建模、文本分类、情感分类、词类标注、句法分析、同指排歧等领域。逻辑斯蒂回归成为了自然语言处理中一种重要的统计语言模型。

从基于规则的符号主义转向基于数据的经验主义,是自然语言处理研究的重大转折。

在统计语言模型时期,学者们发现,随着语言数据规模的扩大,自然语言处理系统的性能会越来越好。

图1 显示了在阿拉伯语-英语统计机器翻译中,随着训练语料规模的增大,机器翻译系统的BLUE 值逐渐提高,性能越来越好。

图1:统计机器翻译性能随着训练语料规模的增大而提高

随着统计语言模型的兴盛,人工智能也再次复苏。1997 年5 月1 日,IBM 公司设计的RS/6000SP 计算机“深蓝”(Deep Blue)以35∶25 的比分战胜了国际象棋大师Kasparov(卡斯帕罗夫)。2016 年3 月9 日,谷歌公司DeepMind 研发的人工智能围棋软件AlphaGo(阿尔法狗)与韩国的围棋世界冠军李世石在韩国首尔比赛,AlphaGo 获胜。

此外,人工智能在图像识别和语音识别方面也取得重要的进展。人工智能在统计语言模型中融入了神经网络和深度学习技术,进一步加快了发展的步伐,人类进入了人工智能的新时代。

在人工智能的新时代,自然语言处理中先后出现了神经语言模型(NML)、预训练语言模型(PML)、大语言模型(LLM),引起了一场海啸式的大变革,使得人工智能进入了一个空前繁荣的新局面,自然语言处理深度融入了人工智能,成为了人工智能皇冠上的最为耀眼的明珠。

下面本文将分述神经语言模型、预训练语言模型和大语言模型。

3.神经语言模型(NLM)

21 世纪以来,普通计算机用户可以使用的数据资源以惊人的速度增长,互联网成为了自然语言处理无比丰富的信息来源,无线移动通信日益普及并且日益增长起来,这些都使得自然语言处理进入了前所未有的、激动人心的时刻,成为了彼时科学技术的热门话题。从2012 年开始,自然语言处理中开始采用深度学习和神经网络的方法,自然语言理解和自然语言生成都达到了前所未有的水平。

神经网络是自然语言处理的一种基本的计算工具,并且是出现得很早的一种工具。之所以叫作“神经”,是因为它源自于1943 年Warren McCulloch(麦卡洛克)和Walter Pitts(皮茨)提出的神经元(neuron)。神经元是一种可以使用命题逻辑来描述的、人类大脑神经可计算单元的简化模型。

现代的神经网络是由一些小的计算单元构成的网络,神经网络中的每一个单元取一个输入值向量,产生一个输出值。因为神经网络在其计算过程中要反复地从神经网络的一个层馈入到另一个层,人们常常把这叫作深度学习,由于这种神经网络通常具有多个层次,因而被认为是一种有深度的网络。

神经网络与统计语言模型在数学上有很多内容是相同的。但是,神经网络比统计语言模型具有更加强大的分类能力,哪怕是在技术上只有一个隐藏层的神经网络也能够学习到任何的函数。

神经网络分类器与统计语言模型的分类器也有不同。对于统计语言模型的分类器,学者们通过手工方式研制了很多基于领域知识的特征模板来执行不同的任务。但是在神经网络分类器中,要尽量避免过多地使用手工的方式来设计大量的特征,而是要把原始的单词作为输入的数据进行深度学习,让计算机自动地推导出各种特征,并把这作为分类学习过程的一个部分。

实践证明,层次很深的神经网络在表示学习方面的表现是很棒的。正是由于这样的原因,深度神经网络成为了处理大规模语言数据的很恰当的工具,它可以自动地学习蕴含在语言中的各种特征。

在1943 年,McCulloch 和Pitts 就描述了一种理想化的人工神经网络,并构建了一种基于简单逻辑运算的计算机制,开启了神经网络研究的序幕。1951年,McCulloch 和Pitts 的学生Marvin Minsky 建造了第一台模拟神经网络的机器,叫作SNARC。1958 年,Rosenblat(t罗森布拉特)提出可以模拟人类感知能力的神经网络模型,称之为感知机(Perceptron),并提出了一种接近于人类学习过程的学习算法。但是,感知机因为它的结构过于简单,不能解决简单的线性不可分问题。1969 年,Minsky 和Seymour Papert(帕佩特)指出,当时的计算机无法支持大型神经网络所需要的计算能力。这样的论断直接将以感知机为代表的神经网络打入冷宫,导致神经网络的研究进入了十多年的“低谷”(冯志伟2021:122)。1974 年,哈佛大学的Paul Webos(韦伯斯)提出反向传播算法(Backpropagation algorithm,BP),但当时未受到应有的重视。

在1983 年至1995 年间,反向传播算法重新激发了人们对神经网络的兴趣。1983 年,美国加州理工学院的物理学家John Hopfield(何普菲尔德)提出了一种用于联想记忆和优化计算的神经网络,称为何普菲尔德网络(Hopfield network)。1984 年,加拿大多伦多大学的计算机科学家Geoffrey Hinton(辛顿)提出一种随机化版本的何普菲尔德网络,又叫作玻尔兹曼机(Boltzmann machine)。1986 年,David Rumelhart(鲁梅哈德)和James McClelland(麦克雷兰德)对于连接主义(connectionism)在计算机模拟神经活动中的应用进行了全面的研究,并改进了反向传播算法。同年,Hinton 等人将反向传播算法引入到多层感知机(multi-layer perceptron)中,于是人工神经网络又重新引起人们的注意,并开始成为新的研究热点。随后,Yann LeCun(杨乐坤)等人将反向传播算法引入到卷积神经网络(Convolutional Neural Network,CNN)中,并在手写体数字识别上取得了很大的成功。

2006 年,Hinton et al.(2012)发现多层的前馈神经网络(Feed-Forward Neural Network,FFN)可以通过逐层预训练,再用反向传播算法进行微调,取得了很好的机器学习的效果。

近年来,随着大规模并行计算以及GPU(Graphic Processing Unit)设备的普及,计算机的计算能力得到大幅度提高,可供机器学习的数据资源的规模也越来越大。在强大的计算能力(算力)、丰富的数据资源(算料)和先进的计算技术(算法)的支持下,计算机已经可以训练大规模的人工神经网络,于是,各大科技公司都投入巨资研究深度学习。

在神经语言模型中,把自然语言中单词的离散符号(discrete symbols)映射为N 维空间中的连续向量(continuous vectors),这样的连续向量叫作“词向量”(word vector)。如图2 所示(冯志伟2019:10)。

图2:将离散的单词符号映射为连续的词向量

在图3 中,David,John,play,Mary,loves,like 等离散的单词,都映射到向量空间(vector space)中,成为了不同的词向量。

图3:将离散的单词映射到N 维空间中

在图4 中,N 维空间中这些单词的词向量都表示为连续的实数值。

图4:在N 维空间中的词向量都是连续的实数值

基于规则的语言模型和统计语言模型需要对于语言符号及其特征表示进行计算,寻求不同语言之间的特征对应规律,这是非常艰巨的语言特征工程(language feature engineering)。这样的特征研究起来耗时而又耗力。

在神经语言模型中,由于把单词符号都映射为向量空间中的词向量,不再需要规模巨大的语言特征工程,也不需要手工设计语言特征,计算机能够自动地从语料库中获取和计算向量化的语言特征,大大地节省了人力,同时也降低了研制自然语言处理系统的语言知识门槛。这是自然语言处理研究在知识获取技术上的一大进步。

构造单词的向量化特征表示也就是进行“词嵌入”(word embedding,WE)。“词嵌入”把自然语言中的每一个单词映射为向量空间中的一个词向量,并且在这个向量空间中形式化地定义自然语言的单词与单词之间的相互关系。

词嵌入的方式有两种。一种方式叫做“连续词袋”(Continuous Bag-of-Word,CBOW)方式,CBOW使用在一个窗口中的上下文单词wi-2,wi-1,wi+1,wi+2的总和(SUM)来预测中心单词wi。如图5 左侧所示。另一种方式叫作“连续跳元”(Continuous Skip-gram)方式,Skip-gram 使用中心词wi来预测在一个窗口中的上下文单词wi-2,wi-1,wi+1,wi+2。如图5 右侧所示。

图5:词嵌入:左侧为CBOW,右侧为Skip-gram

这就是所谓的“向量空间模型”(vector space model),也就是把单词嵌入(embedding)到向量空间中的模型。词嵌入这种方法有助于人们使用更加丰富的上下文参照来描述单词的意义(Mikolov et al.2013:15)。

这样的词嵌入模型又叫作“Word2vec 模型”,在自然语言处理中大受欢迎,是自然语言处理研究中的重大创新,具有革命性的作用。

词嵌入模型是N 元语法模型的进一步发展,从实质上说,它是一种采用向量表示的N 元语法模型。在神经网络中,语言数据不再是离散的符号,而是用词向量或句向量的实数表示,这样的向量表示极大地提高了神经网络的计算性能。把离散的语言符号表示为向量是语言学历史上的重大创新,这样的创新把自然语言处理与人工智能更加紧密地结合在一起。

人工神经元只是生物神经细胞的理想化实现,功能比较简单。感知机只有一个人工神经元,而要想模拟人类大脑的能力,只使用一个神经元是不够的,要使用多个神经元共同协作来完成。这种通过一定的连接方式共同协作的神经元就可以看作是一个人工神经网络(冯志伟,丁晓梅2021)。

在神经语言模型(NLM)中,单词前面的上下文是使用该单词前面单词的词嵌入(word embedding)来表示的。把单词前面的上下文表示为词嵌入,而不是像在N 元语言模型中那样表示为具体的单词符号,这就使得神经语言模型能够泛化为看不见的数据(unseen data),显然比N 元语言模型更胜一筹。语言模型也就从符号主义发展到连接主义。

例如,在训练集中可以看到这样的句子:

I have to make sure when I get home to feed the cat.

假定人们从来也没有在feed the 这样的单词串之后看到过单词dog。而在测试集中,我们试图预测在前面出现单词系列I forgot when I got home to feed the 之后,究竟会出现什么单词。在这样的情况下,应当怎么办呢?

根据训练集的例子,如果使用N 元语法模型,就可以预见到feed the 之后的单词应当是cat,可是仅仅根据N 元语法模型,不会预测到后面的单词dog。然而,如果使用一个神经语言模型,那么,这个神经语言模型就可以根据cat 和dog 具有相似的词嵌入这样的事实,理直气壮地给dog 指派与cat一样高的概率,从而判断feed the 后面的单词是dog,而做出这种判断的根据就仅仅是因为它们在嵌入中具有相似的词向量。

假定有一个用词向量表示的嵌入加权矩阵E,对于词典V 中的每一个单词,E 都能给出相应单词的词向量嵌入,这可以使用word2vec 算法预先计算出来。

下面,以前馈神经网络(Feed-forward Neural Network,FFN)为例来说明神经语言模型的原理。

前馈神经网络有三种结点:输入单元(input unit)、隐藏单元(hidden unit)、输出单元(output unit)。

输入层x 是一个向量。神经网络的核心是由隐藏单元hi构成的隐藏层h,每一个隐藏单元是一个神经单元,它取输入的加权总和,然后进行非线性的应用。在标准的构架中,每一个层都是全连接的(fully-connected),也就是说,在每一个层中的每一个单元都取前面一个层中的所有单元的输出作为其输入,而在来自两个相邻层中每一对单元之间,都存在着连接。因此,每一个隐藏单元要对于所有的输入单元求和。

在图6 的简单前馈神经网络中,只有一个输入层(input layer)、一个隐藏层(hidden layer)和一个输出层(output layer)

图6:简单的前馈神经网络

一个单独的隐藏单元把一个权重向量和一个偏置(bias)作为其参数。对于每一个神经单元i,把权重向量和偏置结合起来,在整个的层上,构成一个单独的权重矩阵W 和一个单独的偏置向量b,从而表示整个隐藏层的参数。权重矩阵W 的一个成分Wji表示第i个输入单元xi到第j 个隐藏单元hj的连接权重。

对于所有的层的权重都使用一个单独的权重矩阵W 的好处在于,前馈神经网络隐藏层的计算可以用矩阵运算,非常有效。事实上,这样的计算只有三步:

(1)用输入向量x 乘以权重矩阵。

(2)加上一个偏置向量b。

(3)使用激活函数(例如sigmoid 函数σ)。

隐藏层的输出就是向量h,h 的计算公式如下:

h=σ(Wx+b)

这里采用sigmoid 函数σ 作为激活函数。

图7 说明在训练神经语言模型时,附加的层怎样学习嵌入。这里,N=3,在输入层(input layer)上下文单词(the,ground,there)被表示为3 个独热向量(one hot vectors),把它们全都连接起来,作为嵌入矩阵E 的3个实例(instantiation)进入嵌入层(embedding layer)。嵌入加权矩阵E 为各个单词所共有,嵌入时,每一个单词都有一个d 维的向量,在映射层(projection layer)这个加权矩阵的维度为d×|V|,在隐藏层(hidden layer)的维度为dh×3d,在输出层(output layer)的维度为|V|×dh。

图7:返回到嵌入的全部学习路径

在图7 中,嵌入向量E 是3 个上下文单词(the,ground,there)共享的。现在让我们来把图7 走一遍。

(1)从输入矩阵E 中选择三个嵌入:给定前面的三个单词(there,ground,the),查找它们的索引号,造出三个独热向量,然后,乘以输入矩阵E。例如,我们来考虑Wi-3,也就是单词the,用the(索引号为35)的独热向量乘以嵌入矩阵E,然后传给第一个隐藏层的第一部分,这个隐藏层就是映射层。由于输入矩阵E 的每一个行正好是一个单词的嵌入,对于单词Vi,其输入就是独热向量xi,对于输入单词w,其映射层就是Exi=ei,这也就是单词i 的嵌入。E 为3 个单词所共享。对于上下文单词,可以把这三个单词(there,ground,the)的三个嵌入毗连起来,其索引号分别为35,9925,45180。得到e=(Ex1,Ex2,..., Exi)。

(2)乘以权值W:把e 乘以权值W,再加上偏置b,然后把它传给分段线性的激活函数σ 从而形成隐藏层h。得到h=σ(We+b)。

(3)乘以权值U:继续把h 乘以隐藏层权值U,在输出层得到输出z:z=Uh。

(4)使用softmax:根据公式y=soft max(z),对z 进行softmax 处理,经过softmax 处理之后,对于输入层中的每一个结点i,在输出层都得到一个概率估值P(wi=V42|wi-3, wi-2, wi-1),最后输出单词lived,其索引号为42。

对于简单的神经网络,例如两层的感知机可以使用手工计算的方式,为每一个网络参数计算出相对于损失函数(loss function)的梯度下降(gradient descent)表达式,但是多层的前馈神经网络所对应的复合函数通常都是非常复杂的,而手工计算梯度的方式推导过程过于冗长,在实践中并不可行。

为了解决多层的前馈神经网络中面临的这个困难问题,Hinton 在1986 年把“反向传播算法”引入到多层前馈神经网络中,实验显示,这种反向传播算法在更新隐藏层的权值方面是非常有效的。

反向传播算法的训练过程分为两个阶段:激励和误差传播阶段以及权值更新阶段。

激励和误差传播阶段又可再分为两个步骤:

(1)前向传播负责把输入提供给网络,依次计算网络各层的输出结果并加以保存。

(2)反向传播负责计算输出结果与学习目标之间的误差,求解输出层的梯度,然后按照与前向传播相反的次序,计算各个网络层的误差以及所有神经网络参数的梯度值,直到输出层为止。如图8 所示。

图8:反向传播

使用反向传播算法,无论复合函数的复杂程度怎样,只要这个复合函数内部的每一个子函数(subfunction)的导数是可以求解的,那么,整个复合函数对任意变量和子函数的求导,都可以通过一个计算机算法来自动地完成,这就为设计和实现高度复杂的神经网络奠定了理论基础。

反向传播算法的主要优点在于:

(1)高效:使用反向传播算法可以快速计算出神经网络中每个参数对损失函数的影响程度,从而使得优化过程更加高效。

(2)自动化:反向传播算法使得权重和偏置的更新过程变得自动化,减少了人工干预的需要,提高了模型训练的效率。

(3)可扩展性:反向传播算法可以应用于各种类型的神经网络,如前馈神经网络、循环神经网络等,具有较强的可扩展性。

(4)可理解性:反向传播算法可以帮助我们理解神经网络中每个参数的作用和影响,从而更好地进行模型的调整和优化。

反向传播算法在神经网络中的应用,使得任意复杂程度的神经网络的梯度求解过程都可以由计算机程序自动地完成,无需任何人工干预。所以,反向传播算法为多层神经网络的训练和应用提供了系统化的、有效的解决方案。

反向传播算法在深度学习中的应用,使得神经网络的训练更加高效、自动化、可扩展,并且可以帮助我们更好地理解和优化模型。

Hinton 等人于1986 年发表在《自然》(Nature)杂志上的关于反向传播算法的论文引用次数超过4 万次,在人工智能学界产生了巨大的影响。由于Hinton的反向传播算法在深度学习中的成功,Hinton 被尊为“深度学习之父”。

下面以编码器-解码器模型(encoder-decoder model)为例来进一步说明神经语言模型。

编码器-解码器模型又叫作编码器-解码器网络,也就是序列到序列网络,这是一种神经语言模型,这个神经语言模型能够根据上下文生成任意长度的、恰当的输出序列。

编码器-解码器网络有着广泛的应用,可以运用于机器翻译、文本摘要、智能问答、对话系统。

编码器-解码器网络的关键思想是编码器网络取一个输入序列,并构造出这个序列的上下文表示(contextualization representation),这样的上下文表示,通常简称为“上下文”(context)。把这样的上下文表示传给解码器,生成任务所要求的输出。

图9 是编码器-解码器构架的图示。

图9:编码器-解码器构架

图9 中的上下文是输入的隐藏表示,可以用很多方法被解码器使用。

编码器-解码器网络包括三个组成部分:

(1)一个编码器,它接受输入序列x1n,生成相应的上下文序列h1n。

(2)一个上下文向量,记为c,它是h1n的函数,它把输入的精粹部分传给解码器。

(3)一个解码器,它接受c 作为输入,生成隐藏状态的任意长度的序列h1m,由此得到输出状态的相应的序列y1m,与编码器一样,解码器也可以使用任意序列的构架来实现。

图10 显示了使用编码器-解码器模型进行英语-西班牙语机器翻译的过程。

图10:使用编码器-解码器模型进行英语-西班牙语机器翻译

源语言英语的句子(Source Text)和目标语言西班牙语的句子(Target Text)之间用一个分隔符(Separator)毗连起来,解码器使用了来自编码器最后一个隐藏层的上下文信息。

图10 中显示了一个英语的源文本“the green witch arrived”,一个句子分隔符<s>,一个西班牙语的目标文本“liego la bruja verde”。为了翻译源文本,我们让它通过网络,向前进行推导以生成隐藏状态,一直到达源文本的终点。然后,我们开始自回归生成,从源输入的末端以及句末标记开始进行搜索,从隐藏层的上下文向量中搜索到一个单词。根据隐藏状态和嵌入,逐一地生成尔后的单词,一直到生成最后一个单词。

图11 对这个模型进行了形式化和泛化,为了帮助理解,使用了上标e 和d,分别表示编码器(encoder)和解码器(decoder)的隐藏状态,这个网络左侧的成分用于处理输入序列xi,并构成编码器。这个简化的图只显示了编码器的一个网络层,栈的构架是规范的,栈的顶层的输出就作为输入序列的最后表示。

图11:编码器-解码器构架在参照时间内翻译一个句子的形式化表示

在图11 中,编码器最后的隐藏状态hne作为解码器的上下文向量进行解码。编码器的全部目的就在于为输入的文本生成一个上下文向量表示(contextualization representation)。编码器的最后一个隐藏状态使用hne来表示。这个表示也叫做c,也就是上下文向量(context vector)。然后就把这个c 传送给解码器。

在右侧的解码器接受这个状态,并且用它来启动解码器的第一个隐藏状态。也就是说,解码器使用这个c 作为它的先验的隐藏状态h1d。然后,解码器自回归地生成一个输出序列yi,每一个时刻生成一个成分,直到生成序列末端的标志为止。每一个隐藏状态以前面一个隐藏状态作为生成的条件,并且要在前面的状态的上下文向量c 的影响下生成输出。

这种方法的缺点是随着解码器中生成序列的增加,c 的影响会逐渐减弱。解决这个问题的办法是让上下文向量c 在生成过程中的每一步都在起作用。为此,我们在计算当前的隐藏状态时,把c 作为参数加入到计算中(如图12 所示)。计算方程如下:

图12:解码器中的每一个隐藏状态都受到编码器生成的上下文向量c 的影响

在每一个时间步的输出yi,要在可能输出的全部集合上进行softmax 的概率计算,得到概率最大的输出:

yi=softmax(zi)

在softmax 的输出中,取最大值argmax,就能得到每一个时间步的最佳输出。在机器翻译的情况下,也就是输出的目标语言的单词。

神经语言模型把离散的语言符号表示为向量,经过模型处理之后,再使用softmax 把处理的结果转化为离散的语言符号作为输出,大大地提高了语言模型的功能。

那么,从语言学的角度怎样来解释神经语言模型呢?

本文认为,语言符号的这种向量表示大致相当于Chomsky 提出的内在语言(Internal Language,I-语言),这样的向量可以充分地表示语言的语法和语义,具有极强的表示力,因此,经过神经语言模型处理之后得到的向量表示,使用softmax 计算概率分布,最后就可以把这些向量外化为语言符号。这样的语言符号也就是外部语言(External Language,E-语言)。因此,Chomsky 的通用语法(Universal Grammar,UG)还是很有道理的(冯志伟2019)。

至于语言符号的向量表示为什么能取得这样好的效果,这还是当前语言学尚未解释的语言之谜。

4.预训练语言模型(PLM)

在深度学习和神经网络的研究中,语言数据资源的贫乏是一个非常严重的问题。例如,商用神经机器翻译系统需要数千万个句子甚至数亿个句子的语言大数据作为训练语料。如果语言数据贫乏,自然语言处理系统的质量难以保证。为了解决语言数据贫乏的问题,学者们开始探讨小规模语言数据资源下研制自然语言处理系统的可行性问题,并于2018 年提出了“预训练语言模型”(Pre-training Language Model, PLM)。如图13 所示。

图13:预训练语言模型

图14:自注意力机制

在图13 中,预训练语言模型使用大规模的文本语料库数据进行“预训练”(Pre-training),然后使用面向特定任务的小规模语言数据集,根据迁移学习的原理进行“微调”(Fine-tuning),形成“下游任务的模型”(Models for downstream tasks)。

这样的预训练语言模型新范式使得研究者能够专注于特定的任务,而适用于各种任务的通用预训练语言模型可以降低自然语言处理系统的研制难度,从而加快了自然语言处理研究创新的步伐。

研究人员设计出各种预训练模型,可以把通过预训练从大规模文本数据中学习到的语言知识,迁移到下游的自然语言处理和生成任务模型的学习中。预训练模型在几乎所有自然语言处理的下游任务上,都表现出了优异的性能。预训练模型也从单语言的预训练模型,扩展到了多语言的预训练模型和多模态的预训练模型,并在相应的下游任务上都表现出色,成为了一个功能强大的大语言模型(Large Language Model,LLM),自然语言处理进入了空前繁荣的大语言模型的新时代(冯志伟,李颖2021)。

在大语言模型时代的神经机器翻译,不再需要两种语言的平行语料库,而是采用一个巨大的预训练网络,通过一个特别的指令指示语言类型进行翻译。

2017 年6 月,谷歌公司在其发表的论文《注意力就是你们所需要的一切》(Attention Is All You Need)中提出了一个完全基于注意力机制的预训练语言模型,叫作Transformer①,这个模型抛弃了在此之前的其他采用注意力机制的模型保留的循环神经网络结构与卷积神经网络结构,将其核心定位在使用注意力机制(attention mechanism)上。Transformer是完全基于注意力机制的模型,在各项任务的完成和性能发挥方面表现优异,因此成为自然语言理解和机器翻译的重要基准模型②。

在《注意力就是你们所需要的一切》这篇论文中,每一个单词都被嵌入为512 维的向量,根据这篇论文,我们假设每一个单词被嵌入到512 维的向量中。词嵌入过程只发生在最底层的编码器中。所有的编码器都有一个相同的特点,它们都要接受一个向量列表,列表中的每一个向量的大小为512 维。在最底一层的编码器中,输入的是词向量,但是在尔后的其他的编码器中,这个词向量就是下一层编码器的输入,这样就可以形成一个向量列表。向量列表的大小是可以设置的参数,一般就是训练集中最长句子的长度。由此可见,Transformer 实质上就是一种高维度的N 元语法模型,由于维度高,Transformer的功能也就比一般的N 元语法模型高得多了(Vaswani et al.2021)。

将输入序列进行词嵌入之后,源语言中的每一个单词都会流经编码器中的多头注意力子层和前馈子层。

多头注意力子层使用“自注意力机制”,这样便可以充分地表示单词与单词之间联系的密切程度。

在自注意力机制中,自注意力的强度要根据“查询向量”(Query,简写为Q)、“键向量”(Key,简写为K)和“值向量”(Value,简写为V)来计算。

查询向量Q 的作用在于,在对前面所有的输入进行比较时,表示注意力关注的当前焦点。键向量K 的作用在于,在与注意力的当前焦点进行比较时,表示该焦点前面的输入。值向量V 的作用在于,计算注意力当前焦点的输出。

计算公式如下:

这个公式中,Q 表示查询向量,K 表示键向量,V 表示值向量,d 表示Transformer 的维度(dimensionality)。

在图15 中,假定x1,x2,x3是输入,y3是输出,可以这样来计算输出y3的值:首先生成输入x1,x2,x3的查询向量Q、键向量K、值向量V,然后比较它们之间的查询向量与键向量(key/Query comparisons),计算出softmax 的值,然后对所有softmax 的值加权求和(Weight and Sum),最后输出向量y3。显而易见,输出向量y3既考虑到输入x3的信息,也考虑到它前面的输入x1,x2的信息。

图15:使用自注意力强度公式根据x1,x2,x3的K,Q,V,计算y3 的值

预训练语言模型比之于统计语言模型对于语言数据的要求更加敏感。

在图16 中,横轴表示语料库数据规模(Corpus Size)的大小,也就是语料库中包含英语单词(English Words)的数量,纵轴表示机器翻译自动评测指标BLEU 值(Bi-Lingual Evaluation Understudy),也就是机器翻译系统质量的水平。从图17 中可以看出,在基于短语的(Phrase-Based)统计机器翻译系统中,当语料库数据的规模为100 万(106)个单词时,它的BLEU值为18.1,当语料库数据的规模为1,000 万(107)个单词时,它的BLEU 值平稳地上升为23.5,当语料库数据的规模为1 亿(108)个单词时,它的BLEU 值进一步平稳地上升为26.9;在带有大规模语言模型基于短语的(Phrase-Based with Big LM)统计机器翻译系统中,当语料库数据的规模为100 万(106)个单词时,它的BLEU 值为23.4,当语料库数据的规模为1,000 万(107)个单词时,它的BLEU 值平稳地上升为27.9,当语料库数据的规模为1 亿(108)个单词时,它的BLEU值进一步平稳地上升为29.6;由此可见,随着语料库数据规模的逐渐地增大,统计机器翻译系统的质量也平稳地增大。

图16:统计机器翻译数据规模与预训练神经机器翻译数据规模的比较

图17:LLM 与NMT 机器翻译水平对比

在预训练神经机器翻译系统中,当语料库数据的规模为100 万(106)个单词时,它的BLEU 值仅仅为7.2,当语料库数据的规模为1,000 万(107)个单词时,它的BLEU 值猛增为22.4,当语料库数据的规模为1 亿(108)个单词时,它的BLEU 值又进一步猛增为29.2,随着语料库规模的增大,预训练神经机器翻译系统质量的增长幅度远远地大于统计机器翻译系统质量的增长幅度。

这说明,语料库数据规模的大小,对预训练神经机器翻译系统的影响比对统计机器翻译系统的影响大得多。如果语料库数据规模小于1,000 万(107)个单词,预训练神经机器翻译的质量是比不上统计机器翻译的,当语料库数据规模达到1 亿(108)个单词时,预训练神经机器翻译的质量与统计机器翻译的质量大致持平。而当语料库数据规模超过108个单词时,预训练神经机器翻译的质量才有可能超过统计机器翻译。

从图16 可以看出,语言数据规模的大小,对于预训练神经机器翻译系统的性能有着举足轻重的影响。

2020 年,J.Kaplan(卡普兰)等人提出了缩放法则(Scaling Laws),指出语言模型的性能依赖于语言模型的参数数量、数据集大小和计算量的大小,模型的效果会随着这三者的指数增加而线性提高,模型的损失(Loss)值随着模型规模的指数增大而线性降低(Kaplan et al.,2020)。这意味着语言模型的能力是可以根据这三个变量估计的,提高语言模型参数量,扩大数据集规模都可以使得语言模型的性能得到提高。这为继续提升语言模型的规模给出了定量分析依据③。

于是预训练语言模型的研究者特别关注预训练语言模型的规模,预训练模型的规模越来越大,预训练用到的文本数据也越来越多。例如,截至2022 年4月,英文维基百科(Wikipedia)中有超过640 万篇文章,包含40 亿个词,规模可观,涵盖多个领域,是预训练理想的文本数据资源。Google 研制BERT 时只用了16G 的文本数据,研制RoBERTa 时就增长到160G的文本数据,而到了研制T5 时,竟然用到了750G 的文本数据。随着预训练语言模型文本数据量的增大,预训练语言模型的参数也越来越多。从AI2 研制的ELMo 系统有9,300 万参数,Google 研制的BERT 系统有3.4 亿参数,OpenAI 研制的GPT-2 系统有15 亿参数,预训练模型变得越来越大了。

在2018 年先后建立了ELMo(AI2 研制),ULMFiT(Fast.ai 研制),GPT(OpenAI 研制)等预训练模型。

其中OpenAI 研制的GPT 和GPT-2 就是ChatGPT的前身。

5.大语言模型(LLM)

2018 年1 月Google 的研究团队开创性地提出了预训练语言模型BERT,该模型在诸多自然语言处理任务中展现了卓越的性能。这激发了大量以预训练语言模型为基础的自然语言处理研究,也引领了自然语言处理领域的预训练范式的兴起。然而,尽管这一变革影响深远,但它并没有改变每个模型只能解决特定问题的基本模式。

由OpenAI 公司开发的基于Transformer 的生成式预训练模型(Generative Pre-Trained Transformer,GPT),包括GPT-1,GPT-2,GPT-3,InstructGPT,ChatGPT,GPT-4,它们利用Transformer 模型,从语言大数据中获取了丰富的语言知识,在语言生成任务上达到了相当高的水平(冯志伟,张灯柯2023)。

2018 年6 月开发的GPT-1 只有1.17 亿参数。但是到2020 年5 月,GPT-3 启动,模型规模扩大到了1,750 亿参数。这样庞大的参数是人类记忆远远无法达到的。因此,我们把这样的语言模型叫作大语言模型(Large Language Model, LLM)。

在此基础上开发出ChatGPT。ChatGPT 的训练语料高达100 亿个句子,可以通过使用大量的训练数据来模拟人的语言行为,生成人类可以理解的文本,不再需要示例,也就是“零样本”(zero shot),就能够根据上下文语境,提供出恰当的回答,甚至还能做句法分析和语义分析,帮助用户调试计算机程序,写计算机程序的代码,而且能够通过人类反馈的信息,不断改善生成的功能,已经达到了很强的自然语言生成能力。

ChatGPT 通过一个简单的对话框,利用一个大语言模型就能够实现问题回答、文稿撰写、代码生成、数学解题等多种任务,而以往的自然语言处理系统需要使用多个小模型进行定制开发才能分别实现这些能力。ChatGPT 在开放领域问答、各类生成式自然语言任务以及对话理解等方面展现出的能力远超过大多数人的想象。这些都有力地推动了大语言模型的突破,为自然语言处理研究带来了巨大的进展,并在各个领域展示了令人瞩目的成果。

ChatGPT 是一种对话场景优化语言模型(optimizing language models for dialogue)。ChatGPT 比GPT-3 更进一步,已经进化到具备执行自然语言指令的能力,用户不必给出样本示例,只要使用自然语言给出提示指令(prompt),ChatGPT 就可以理解用户意图。

ChatGPT 的机器翻译水平与神经机器翻译不相上下。图17 是我国小牛机器翻译对于高资源语言机器翻译(例如,英语-德语,英语-汉语)的评测结果,图中NMT 表示神经机器翻译评测结果,LLM 表示大语言模型评测结果。

ChatGPT 在机器翻译方面达到了很高的水平,克服了困扰人类数千年的语言障碍,说不同语言的人可以通过ChatGPT 互相沟通和交流,新的巴比塔终于建成了(冯志伟等2023)。

ChatGPT 是一个伟大的人工智能项目,它使用指令学习、基于人类反馈的强化学习、人工智能内容生成等一系列创新技术,使大语言模型在之前版本的基础上实现了飞跃式的发展,在意图理解、语言生成、对话控制和知识服务方面取得了重大的突破,刷新了硅基的非人类实体(机器)理解碳基的人类自然语言的崭新高度。

从技术上说,在大语言模型中,语言成分的“远距离依存”以及语言的“词汇歧义”和“结构歧义”的处理,以及语义关系、因果关系和逻辑推理,其功夫都在语言之外。

如果把语言能力比作一座冰山,那么语言形式只是冰山露在水面之上的部分,而语义本体知识(semantic ontology knowledge)、常识事理(common sense)和专业领域知识(field knowledge)、社会文化背景知识(socialcultural background knowledge)则是深藏在冰山水面之下的部分,而这些知识也正是解决远距离关联问题、歧义消解问题、语义关系问题、因果关系问题、社会文化背景知识问题的关键。在自然语言处理的早期,人们曾经寄希望于靠人类专家手工构造冰山下的部分,例如,40 多年前人工智能的先驱者Douglas Lenat(雷纳特)曾经设计了一个符号人工智能系统CYC,这个系统包含了数千万条由人类专家输入的事实信息,这些信息可以用于快速推理,但是这个研究项目并不成功,收效甚微。大语言模型则是采用数据驱动的“端到端嵌入”(end-to-end embedding)的方式,首先把语言数据转化成高维向量空间里的词向量和句向量,然后在向量空间里进行深度学习,让大数据代替人类专家来构造冰山下的部分。ChatGPT 成功地证明了这种数据驱动的“端到端嵌入”技术路线对于构建非人类实体的语言能力是行之有效的。

本文认为,ChatGPT 具有如下特点:

(1)采用数据驱动的端到端嵌入方式,在向量空间里完成深度学习。

(2)基于海量高质量文本语料的无监督训练:InstructGPT 从原始的45TB 的语料清洗得到570GB的高质量语料,建立大语言模型。

(3)基于人类反馈的强化学习方案(RLHF):雇用众包团队开展生成结果的人工标注,基于标注数据进行强化学习。通过人类用户的反馈,不断地改善生成功能。

(4)人工智能内容生成(AIGC):能够自动生成文本、图像、视频、代码等内容。

(5)交互式多轮对话:用户可以自如地与ChatGPT对话。ChatGPT 能够记住前面对话的内容,进行多轮对话。

当数据规模参数超过500 亿-600 亿的时候,系统会出现“涌现”(emergence)现象,研究人员惊讶地发现,只需要输入一段提示(prompt),即便在没有训练过的新任务上,系统也能够举一反三,无师自通,很好地工作,显示出越来越接近于人类的优秀表现,生成的语言也就越来越接近人类的语言。如图18 所示。

图18:涌现现象

这样的“涌现”现象似乎意味着,当训练数据在数量上增加到500 亿-600 亿时,GPT 系统发生了从量变到质变的重大变化。因此,只要不断地增加训练数据,就会产生质变的飞跃。

可见,涌现是指系统内部的个体或组件通过相互作用和动态演化所导致的产生全新的、难以预测的属性、行为、规律的现象。这些新的特征无法简单归因于某一个单独的个体或组件,也无法直接从单独的个体或组件的属性中推导出来。

为什么大语言模型会出现“涌现”,如何来阐明“涌现”的本质,目前也还是一个未解之谜。

这种群体性的“涌现”现象在其他学科中也有类似的表现。例如,在免疫学中,单个免疫细胞的功能是单一的,但是,无数的免疫细胞却可以组成非常强大的免疫系统;在神经学中,神经元的相互作用可以产生意识、思想、记忆等复杂的现象,然而我们却无法从单一的神经细胞推导出这些现象。在生物学中,一只蚂蚁没有规划能力,但一个蚁群却可以构建出复杂的蚁穴来。在物理学中,液体的流动性、张力、抗压性是由单个水分子通过分子间相互作用产生的,但我们却无法从单个分子的特性中推导出液体的流动性、张力、抗压性。由此观之,在大语言模型中出现“涌现”这样的现象不足为奇。

人类单个神经元的功能有限,而人类的大脑有860 亿个神经元,有6,000 万亿个链接,这样的群体效应终于涌现出了极为复杂的人类意识,使人类成为了万物之灵。那么,从语言学的角度,我们怎样来看待“涌现”现象呢?

我们认为,从语言学理论的角度看,大语言模型出现“涌现”可能是由于语言本身的“递归性”造成的。

单个句子的表达能力是有限的,语法规则也是有限的,而语言中句子的数量却是无穷无尽的,人们之所以能够借助于有限的语法规则,造出无穷无尽的句子来,其原因就在于语言符号具有递归性。

语言符号的这种递归性,在不同的语言里表现不尽相同。汉语的句法构造的递归性突出地表现为句法成分所特有的套叠现象。在汉语里,由实词和实词性词语组合而成的任何一种类型的句法结构,其组成成分本身,又可以由该类型的句法成分充任,而无须任何的形态标志。这种套叠现象在主谓结构、偏正结构、述宾结构、述补结构、联合结构、复谓结构中都是存在的。例如,在句子“我肚子疼”中,“肚子/疼”是主谓结构,这个主谓结构套叠在“我肚子疼”中做谓语,与“我”又构成一个更大的主谓结构“我/肚子疼”,这是主谓结构的套叠现象。又如,在短语“中学物理教员”中,“物理/教员”是偏正结构,这个偏正结构套叠在“中学物理教员”中,与它前面的名词“中学”又构成一个更大的偏正结构“中学/物理教员”,这是偏正结构的套叠现象。这种套叠现象是语言符号递归性导致的。

在大语言模型中,语言符号的递归性起着很大的作用。正是由于自然语言具有递归性,可以实现有限规则的无限运用,因而大语言模型产生了泛化的能力,可以举一反三,无师自通地生成无限数目的、合乎语法的句子来,给人以“涌现”的感觉。

当然,ChatGPT 也存在不足。

(1)ChatGPT 除了具有语言处理能力之外,还具有一定的知识处理能力,但与其语言处理能力相比,知识处理能力的火候还稍微欠缺,特别是缺乏跟专业领域相关的知识能力,说多了就会“露馅”,有时甚至会提供不符合事实的错误答案。

(2)有时ChatGPT 会产生幻觉(hallucination),一本正经地胡说八道,或者说一些永远正确的废话。

(3)有时ChatGPT 会说出一些违反人类道德底线的话。

怎样从语言学的角度来解释大语言模型的“幻觉”呢?

本文认为,从语言学理论的角度来看,大语言模型产生“幻觉”,是由于自然语言的随机性造成的。随机性往往导致大语言模型难于理解周围世界之间的因果关系。

在语言运用中,当人们用语言来进行交际活动的时候,有的语言成分使用得多一些,有的语言成分使用得少一些,各个语言成分的使用并不是完全确定的,这种不确定性,就是语言符号的随机性。语言符号的随机性是语言的本质属性之一。

正因为语言符号具有随机性,所以很难用确定性的规则来描述它。语言使用中大量的例外现象和歧义现象使得研究语法的语法学家们伤透脑筋,有的语法学家甚至因此而误入迷津,以偏概全,得出了错误的结论。由于语言符号的随机性,大语言模型就会产生以偏概全的错误,从而产生“幻觉”,一本正经地胡说。

因为ChatGPT 实际上只是一个大规模的语言模型,它只能在大规模语言数据基础上对于人类的语言行为进行模仿,并没有真正理解聊天的内容。ChatGPT尽管能够针对人类的输入产生类似于人类的反应,但是ChatGPT 只是根据用向量表示的语言数据进行实数计算,ChatGPT 并不知道它知道什么,也不知道它不知道什么,它并不能真正地理解自然语言。

2023 年3 月17 日,OpenAI 发布GPT-4。GPT-4具有强大的识图能力,文字输入限制由3,000 词提升至2.5 万词,回答问题的准确性显著提高,能够生成歌词、创意文本,改变文本的写作风格。当任务的复杂性达到足够的阈值时,GPT-4 比ChatGPT 更加可靠、更具有创意,并且能够处理更细微的指令。

许多现有的机器学习基准测试都是用英语编写的,为了了解GPT-4 在其他语言上的能力,OpenAI 研究团队使用Azure Translate 将一套涵盖57 个主题的14,000 个多项英语选择题翻译成多种语言。在测试的26 种语言的24 种中,GPT-4 优于ChatGPT 和其他大语言模型的英语语言性能。

我们把从感知机到GPT-4 的发展过程总结如下,可以看出,在这个发展过程中,2017 年6 月研制的Transformer 催生了大语言模型,是大语言模型的关键技术。

除了BERT 和GPT 系列之外,还有一些大语言模型:

2019 年由脸书公司(Facebook,后改名为Meta)研制的RoBERTa(Robustly Optimized BERT Pretraining Approach)是鲁棒地优化了BERT 方法的大语言模型。

2019 年由谷歌公司和卡内基梅隆大学联合研制的XLNe(teXtreme MultiLingual Language Model),这是特大的多语言的大语言模型。

2020 年由谷歌大脑公司研制的T5(Text-to-Text Transfer Transformer),这是文本到文本转换的大语言模型。

ChatGPT 问世之后,中国的百度也于2023 年3 月16 日推出了“文心一言”。2023 年5 月,文心一言的内核“文心大模型”就升级到了3.5 版本。它实现了基础模型升级、精调技术创新、知识点增强、逻辑推理增强,插件机制等,模型效果提升了50%,训练速度提升了2 倍,推理速度提升了30 倍。

但是,在GPT 系列中,中文语言资源的规模并不很大,据统计,GPT-3 训练语料的语种分布如表1:可以看出,在GPT-3 的训练语料中,英文语料占92.09864%,而中文语料只占0.16012%,居于世界第13 位,这使得GPT-3 在英语处理中表现惊艳,而中文则表现欠佳,中文在GPT-3 中还处于数据孤岛的地位(饶高琦等2023)。

中国是互联网大国,我国网民规模已经达到10亿,占全球网民的21%,但是,中文在互联网上的占比仅仅为1.5%,而且中文数据的质量也不高,内容多为明星、爽文、娱乐话题、情感话语等。这是值得我们关注的。

在今后大语言模型的研制中,我们应当打破中文数据孤岛的局面,加快中文语言资源的建设,在保证中文语料质量的前提下,努力增加中文语料的数量。

在我国语言学研究中,学者们提出了不同的本位理论。有的主张“字本位”,有的主张“词本位”,有的主张“词组本位”,有的主张“小句本位”,有的主张“句本位”。但是,大语言模型却是以token 为本位的。

在大语言模型中,token 是处理和生成文本或代码的基本单位,token 目前还没有中文译文,为了称说方便,本文暂时把token 翻译为“词元”。可以关注到,各家厂商会宣称自家模型支持多少个“词元”的上下文,而不是说支持多少个单词、多少个词组、多少个汉字或多少个小句。大语言模型是“词元本位”的。那么,影响大语言模型计算这种“词元”的因素是什么呢?

首先,在大语言模型中,一个词元并不对应一个英文单词或一个汉字,词元与单词或汉字之间并没有具体的换算关系。例如,根据OpenAI 发布的标记计算工具,英语的hamburger 一词包含9 个字符,被分解为ham、bur 和ger 共3 个词元。同一个词语,如果在两句话中的结构不同,会被分解为不同数目的词元。

如何计算词元主要取决于厂商使用的“词元化”(tokenization)方法。词元化是将输入和输出文本拆分为可由大语言模型处理的词元的过程。这样的过程可以帮助模型处理不同的语言、词汇表和格式。而ChatGPT 背后采用的是一种称为“字节对编码”(Byte-Pair Encoding,BPE)的词元化方法。

目前来看,一个单词被分解成多少词元,跟单词的发音和该单词在句子中的结构有关。而不同语言之间的计算差异也非常之大。拿英文单词“hamburger”对应的中文“汉堡包”来说,这个单词包含3 个汉字,被分解成了8 部分,也就是被分解为8 个词元:162,109,231,161,254,94,44293,227。

其标记分解结果如下:

图19:中文“汉堡包”包含3 个汉字,8 个词元

英文hamburger 包含了3 个词元,而与之相应的中文“汉堡包”则包含了8 个词元。表达同样的语义,中文词元数为英文词元数的一倍多。

OpenAI 官网中的一个英文句子:“You can use the tool below to understand how a piece of text would be tokenized by the API,and the total count of tokens in that piece of text.”包含144 个字符,该句子的词元数为33 个。

在OpenAI 官网截图中(图20),这个英文句子的中文译文为:“您可以使用下面的工具来理解API如何将一段文本标记化,以及该段文本中的标记总数。”这个中文句子包含40 个字符(包括汉字、字母和标点符号),76 个词元。

这个英文句子包含33 个词元,而相应的中文句子则包含了76 个词元。

从上面的OpenAI 官网截图可以看出,相同意思的中文词元数是英文词元数的两倍多。可见中文和英文在大语言模型的训练中存在着“不公平性”。

究其原因,这也许是由于中文里的一个单词往往可以表达多种含义,结构组成较为灵活,具有深厚的文化内涵,语境意义丰富,中文这些特点大大地增加了中文的歧义性和处理难度;而英语语法结构相对简单,这使得英语在很多自然语言任务上比中文更容易被处理和理解。中文需要处理的词元更多,模型所消耗的内存和计算资源也就越多,当然所需要的成本也就越大。

据统计,使用OpenAI 的GPT-4 模型API,每输入1,000 个“词元”至少要收费0.03 美元。由于中文的复杂性和中文词元所需的成本很高,AI 模型在使用中文数据进行训练时面临严峻的挑战,增加了中文模型应用和维护的难度。同时,对开发大模型的公司来说,做中文大模型由于需要额外的资源,或许要承担更大的成本。这个问题也值得关注!

6.大语言模型与符号人工智能的结合

将大型语言模型(LLM)应用于实际领域的主要障碍之一是它们的不可预测性、缺乏推理能力、解释性不强。如不能解除这些障碍,大语言模型将无法成为在关键环境中可信赖的工具,这是一个挑战。最近,认知科学家Gary Marcus(马尔库斯)和人工智能先驱Douglas Lenat(雷纳德)深入探讨了这个挑战。

早在1984 年,Lenat 就创建了Cyc 系统,这是一个基于知识的系统,提供了一个全面的本体论知识库,人工智能可以用Cyc 来进行推理。Cyc 是建立在对现实世界知识的明确表示的基础之上的,它包括常识、事实和经验法则,它包含了数千万条由人工输入的信息,而且这些信息可以使用软件进行快速的推理(Lenat & Marcus 2023)。

Cyc 的创作者意识到拥有一种富有表现力的表示语言是不可或缺的,因此他们开发了Cyc 语言(Cyc Language),简称CycL。CycL 是一种用来表达人工智能系统的规则的语言。CycL 已经被构建为输入推理系统的一部分。

尽管Cyc 拥有数千万条手工编写的规则,但它可以在仅进行一次推理步骤的情况下,生成数百亿个新的结论,而且这些结论都是基于Cyc 已经知道的内容而得出的。Cyc 的知识库不够深入和广泛,它的自然语言理解和生成能力不如ChatGPT 出色,而且它无法像最先进的大语言模型一样快速推理,目前基于大语言模型的聊天机器人更多的是在记忆和宣扬而不是理解和推断。

Marcus 表示,他支持将神经网络和符号系统结合在一起的混合人工智能系统。他认为,将Cyc 和大语言模型结合起来可以是实现混合人工智能系统愿景的方式之一。

本文认为,Cyc 使用理性主义的方法,代表了人类的智慧,大语言模型使用经验主义的方法,代表了机器的智能,把人类的智慧与机器的智能融合起来,把理性主义方法与经验主义方法结合起来,就有可能实现人机融合的人工智能。

多个世代以来,人们已经开发出了两种非常不同类型的人工智能系统,一种是基于符号主义的人工智能系统,一种是基于连接主义的大语言模型,每一种系统都很先进,都可以独立应用。如果把这两种类型的人工智能系统结合起来,就有可能使我们更进一步朝着值得信任的通用人工智能迈进一步④。

7.余论:向通用人工智能(AGI)迈进

GPT 系列的成功具有划时代的里程碑性质,是大语言模型时代最伟大的成果,足以载入人工智能发展的史册。

但是,语言智能仅仅是人类智能的一部分,语言智能并不能代表人类的全部智能。狭义人工智能利用计算机强大的算力和内存容量,可以相对轻松地根据大量观察到的数据生成复杂的模型。一旦条件稍有变化,这些模型往往就无法通用。这意味着,当前的人工智能还不能真正地学习,而只能从大规模的语言数据中提炼信息或经验。当前的人工智能不是通过形成一个全面的世界模型(world model)去理解,而仅仅只是创建一个概要去表述。

现在人们普遍理解的通用人工智能(Artificial General Intelligence,AGI)是指:能够在人类水平或者更高水平的多个认知领域进行理解和推理的人工智能系统,是代表一种涵盖抽象思维各个领域的、具有人类智能水平的人工智能系统,也就是强人工智能。而当前用于特定任务的人工智能仅是一种弱人工智能。这意味着,我们所需的AGI 是一个与经验一致且能做到准确预测的世界模型。

真正的通用人工智能还没有到来。那么,我们离真正的通用人工智能还有多远呢?大多数人工智能研究人员和权威机构认为,人类距离真正的通用人工智能最少也有几年的时间。

2023 年4 月13 日,OpenAI 的合作伙伴微软的Sebastien Bubeck(布贝克),Varun Chandrasekaran(禅德拉色卡蓝)等发布了一篇论文《通用人工智能的火花:GPT-4 的早期实验》(Sparks of Artificial General Intelligence: Early experiments with GPT-4)。这篇论文指出,在GPT-4 发布后,面对这个目前性能最强大的人工智能,很多人将GPT-4 看作AGI 的火花(Bubeck et al.2023)。文中提到:

GPT-4 不仅掌握了语言,还能解决涵盖数学、编码、视觉、医学、法律、心理学等领域的前沿任务,且不需要人为增加任何的特殊提示。并且在所有上述任务中,GPT-4 的性能水平都几乎与人类水平相当。基于GPT-4 功能的广度和深度,我们相信它可以合理地被看作是通用人工智能的最接近的但不完全的版本。⑤

不过,这篇文章指出,在评估ChatGPT 等系统的功能时,我们经常把性能等同于能力。这是人们认识上的一个误区:由于人们错误地把性能等同于能力,因此,人们把GPT-4 生成的对于世界的摘要性描述,看成是对真实世界的理解。

其原因在于,现在的大多数大语言模型仅接受文本训练,缺乏多模态的训练,因而并不具备在现实世界中说话、听声、闻嗅、触摸以及生活行动的能力。仅在文本上训练的世界模型,只能保证它们在语法上的正确。但在本质上,它不理解语言所指的对象,也缺乏与多模态环境直接接触的常识。这是当前大语言模型的主要局限性。

大语言模型最受争议的挑战是它们产生幻觉的倾向。幻觉指的是模型会捏造参考资料和事实,或在逻辑推断、因果推理等方面颠三倒四、生成毫无意义的内容。大语言模型的幻觉来源于它们缺乏对事件之间因果关系的了解。

最近我国学者Gao Jinglong 等在名为《ChatGPT是一个好的因果推理器吗?一个全面的评估》(Is ChatGPT a Good Causal Reasoner? A Comprehensive Evaluation)的论文中指出,ChatGPT 这类大语言模型具备一定的解释因果关系的能力,不管现实中是否存在关系,它们都倾向于假设事件之间存在着因果关系,并试图来解释这样的因果关系(Gao et al.2023)。因此,他们最后得出结论:“ChatGPT 是一个优秀的因果关系解释器,但却不是一个好的因果关系推理器。”⑥

这个结论也可以推广到其他大语言模型中。这意味着,大语言模型本质上只具有通过观察进行因果归纳的能力,而不具备因果演绎的能力。这说明,大语言模型是有局限性的,如果智能(intelligence)意味着从经验中学习,并将学习得到的内容转化为对理解周围环境的世界模型,那么因果演绎作为构成学习的基本要素,是智能不可或缺的一部分。但是,现有的大语言模型正缺乏这种因果演绎的能力,所以,现在的大语言模型不可能成为通用人工智能。

现实世界是非常复杂的、五彩缤纷的。而大语言模型所构建的语言、知识、文本资料、甚至是视频、音频等多模态资料都仅仅只是我们所能体验到的现实的很有限的一部分。当我们能够构建一个有能力质疑自身现实、能够自我探究的系统时,通用人工智能才能真正实现。

因此,我们应该构建一个能够进行因果推断、能够理解世界的模型。这是当前人工智能研究的主要任务,也是人类历史上的又一进步,意味着我们对世界本质有了更深的理解,对人类认知的边界有了进一步的拓展,我们将更加清楚地认识到人类在宇宙中的地位,以及人类与宇宙的关系⑦。

显而易见,大语言模型还不是通用人工智能的最终答案,构建一个能够理解世界的模型才是通用人工智能未来的方向。

最近,OpenAI 的总裁Sam Altman(阿尔特曼)预言,2030 年前将出现通用人工智能,他们研制的GPT-10 的智慧将会超过全人类智慧的总和。但愿他的预言成真⑧!

大语言模型取得的成就应当算是当代语言研究的重大成果,可惜的是,语言学对于大语言模型几乎没有贡献。

大语言模型对语言学提出了严峻挑战。计算机把文本中的语言符号转化为向量,读了亿万个“词元”,只要根据上下文对于下一个“词元”预测来调整参数,就可以生成符合语法、逻辑通顺的文本。可见构成新文本的脉络就潜藏在大规模的文本数据之中,这样的脉络的实质是什么?怎样发现这种脉络?怎样使用这种脉络?这正是当代语言学应当研究的重要课题。

这样的挑战同时也是语言学发展的一个千载难逢的好机会,新时代的语言学家应当面对这种挑战,把语言学发展到一个崭新的阶段。

注释:

①Transformer 这个术语,学术界的译名有“转换器”“变形器”“变换器”等多种,至今没有恰当的中文译名,众说纷纭,因此,学术界只好采用英文原形Transformer。本文尊重学术界的做法,采用英文原形Transformer。

②Vaswani A.,N.Shazeer,N.Parmar,J.Uszkoreit,L.Jones,A.N.Gomez,L.Kaiser & I.Polosukhin.2021.Attention is all you need[EB/OL].https://arxiv.org/abs/1706.03762[2023-08-20].

③Kaplan,J.,S.McCandlish,T.Henighan,et al.2020.Scaling laws for neural language models[EB/OL].https://arxiv.org/abs/2001.08361.[2023-07-25].

④参见:https://arxiv.org/abs/2308.04445

⑤参见:https://arxiv.org/pdf/2303.12712

⑥参见:https://arxiv.org/pdf/2305.07375

⑦参见:https://aisupremacy.substack.com/p/how-far-are-we-from-agi

⑧参见:https://openai.com/blog/announcing-openai-devday

猜你喜欢
语法向量单词
向量的分解
聚焦“向量与三角”创新题
单词连一连
跟踪导练(二)4
看图填单词
Book 5 Unit 1~Unit 3语法巩固练习
看完这些单词的翻译,整个人都不好了
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
单词拾趣