2022年11月底,ChatGPT一经推出,全球关注,风头依旧强劲!取代搜索引擎,奇点说,拐点说,若干职业面临失业危机,人类面临终极挑战…,面对如此热点,本文分享我们的认识,欢迎讨论和指正。
总的来说,ChatGPT取得了显著科技进步,尽管有不足,但迈向AGI(artificial general intelligence,通用人工智能)仍充满诸多挑战!
图1:https://openai.com/blog/chatgpt/ 网页截图
首先,介绍AI研究中的伊莉莎效应(Eliza Effect),也是与聊天机器人(chatbot)有关。
伊莉莎效应,指人会过度解读机器的结果,读出原来不具有的意义。人有一种心理趋向,在下意识中以为自然界现象与人类行为相似,心理学上称为人的拟人化意识(anthropomorphisation),特别是当人类对新现象缺乏足够认识的情况下。比如古时人们认为打雷是因为天上住着一个雷公,雷公生气就打雷了。
名字「伊莉莎」取自1966年由MIT的计算机科学家Joseph Weizenbaum开发的一款聊天机器人。聊天机器人Eliza被设计成一个心理咨询师,讨巧的Eliza项目取得了意外的成功,效果让当时的用户非常震惊,引起轰动,但其实只是以简单的规则文法为基础的巧妙运用。
对ChatGPT的原理加以一定理解,应能减少在认知ChatGPT时的伊莉莎效应。有一个正确判断,才能行健致远。为此我们力求严谨,并提供参考文献,以便读者进一步了解。下文将分三大部分:
- ChatGPT的进步
- ChatGPT的不足
- 迈向AGI的挑战
个人主页:http://oa.ee.tsinghua.edu.cn/ouzhijian
作者:欧智坚,清华大学电子工程系副教授、博士生导师。担任IEEE音频语音语言期刊(TASLP)副主编,Computer Speech&Language编委,IEEE语音语言技术委员会(SLTC)委员,IEEE言语技术(SLT)2021大会主席,中国计算机学会(CCF)杰出会员及语音对话与听觉专委会委员等。发表论文近百篇,获得省部级奖3项及多次国内外优秀论文奖。在随机场语言模型,离散隐变量模型的学习算法,端到端对话模型及其半监督学习等方面做出基础原创研究。
01 ChatGPT的进步
ChatGPT的进步,是站在多年来人工智能研究的巨人肩膀上,特别是深度学习技术,也就是使用多层神经网络的技术。我们梳理了在ChatGPT的系统构建中,起着重要作用的几个技术,如下图。正是这些技术的共同作用(六部曲),才诞生了ChatGPT。
ChatGPT的模型骨架是,基于Transformer神经网络架构的自回归语言模型(language model)。基于微调(finetuning)的技术,基于Prompt(提示)的技术,情景学习(in-context learning),从人类反馈中强化学习(RLHF)技术,逐步发展并最终促成了ChatGPT的诞生。
图2:ChatGPT的进步
1. 语言模型(LM,language model)
语言模型,就是人类自然语言的概率模型。人类自然语言是一个个句子,一个句子是一个自然语言符号序列x1,x2,…,xn,服从概率分布
利用概率论乘法公式,可得
把这种从左至右,每个位置利用前面历史符号x1,x2,…,xi-1(即上文),计算当前符号出现的(条件)概率P(xi | x1,…,xi-1)的模型,称为自回归语言模型,非常自然可用来在给定上文条件下,生成当前符号。比如,下图示例了在给定上文「The best thing about AI is its ability to」,下一个符号的出现概率。
依此可以递归生成,
语言模型问题的关键在于,构建什么样的函数族来表示条件分布P(xi | x1,…,xi-1),并能有效从大数据中学习到模型参数。ChatGPT基于的一个技术进步,就是利用神经网络来表示P(xi | x1,…,xi-1)。
2. Transformer神经网络架构
对于序列条件分布 P(xi | x1,…,xi-1) 建模的一个挑战就是,长程依存关系(long-range dependencies)的建模。利用普通递归神经网络(recurrent neural network, RNN)的序列模型,在训练时会遇到梯度爆炸和消失的缺陷(the exploding and vanishing gradient effects)[1],因此很长一段时间人们利用基于长短时记忆网络(long short-term memory, LSTM)[2]的RNN来进行序列建模。LSTM通过引入门控机制一定程度上缓解了梯度爆炸和消失的缺陷。2017年发展的Transformer神经网络架构[3],则彻底舍弃了递归计算,通过利用自注意力机制,使用前馈神经网络(feed-forward neural network,FFNN)来进行序列建模,更好地解决了梯度爆炸和消失的缺陷。
让我们直观来理解Transformer在序列建模方面相比RNN的优势。考虑序列中相距为n的两处位置,这两处位置间的在前向和后向计算中的信号,在神经网络中行进的路径长度,是影响神经网络对长程依存关系学习能力的一个重要因素,RNN是O(n),而Transformer是O(1)。对这块不理解的读者,可以跳过,不影响后面内容的阅读 :-)
图3
3. GPT语言模型及预训练+微调技术
自然语言理解包括范围广泛的不同任务,例如问答、语义相似性评估、文本蕴含关系判断、文档分类、机器翻译、阅读理解,摘要等等。人们发现可以先在大量(无需标注的)文本上训练一个大型Transformer-LM(常称为骨架),然后在面对不同的下游任务时,利用下游任务各自的标注数据对这个大型Transformer网络进行微调,取得了很大性能提升,这就是所谓的预训练+微调技术(pre-training + fine-tuning),典型技术包括2018-2019年发展的GPT [4]和BERT [5]。GPT是基于Transformer的自回归语言模型,BERT是基于Transformer的掩码语言模型(masked language model, MLM)。
正如GPT原文表述的「Our work broadly falls under the category of semi-supervised learning for natural language.」,这种无监督预训练(unsupervised pre-training)结合有监督微调(supervised fine-tuning),是一种半监督学习,其本质是协同进行有监督学习和无监督学习。
(来自GPT原文[4]「Improving language understanding by generative pre-training」)
4. GPT-2及零样本提示技术
在预训练+微调技术框架下,仍然需要对每个下游任务,采集和标注各自不少的标注数据,然后微调得到各自任务上的一个「狭隘专家」(narrow expert),每个狭隘模型都需要单独构建和存储,这费时费力费资源。如果能建设更通用(more general)的系统,其能胜任很多任务,并且能免除为每个任务人工采集和标注数据集,就太棒了。在2019年GPT-2原文[6],有这样愿景的清晰阐述,是不是已经看出了迈向AGI的味道 :-)
「We would like to move towards more general systems which can perform many tasks – eventually without the need to manually create and label a training dataset for each one.」
让机器去学习执行一个自然语言理解任务(如问答),本质是去估计出条件分布
既然一个通用系统能执行许多不同的任务,那它的建模应该进一步条件于任务task,即建模
以GPT-2为代表的一个创新做法是,task、input、output 都用自然语言来表述成符号序列,这样模型 P(output | task,input)就归结为一个语言模型——给定上文,递归生成下一个符号。不同任务的训练数据都统一组织成
这样的符号序列的形式。比如,
(translate to french, english text, french text)
(answer the question, document, question, answer)
其中,task,常称为是提示(prompt)。提示的做法很多,也有很多相关研究,本文不展开介绍了。
在GPT-2之前也有类似想法的研究,GPT-2把规模(无论训练集还是模型的规模)拉到了一个新高度,采集百万网页创建了一个大数据集WebText(40GB),训练出最大参数规模为1.5B的Transformer-LM,展示了零样本情形下,在多个任务上的出色性能,不需要任何参数或模型架构修改(without any parameter or architecture modification)。值得指出一点,GPT-2的做法充分体现了多任务学习(multitask learning) 和元学习(meta-learning),可作为GPT-2之所以有出色性能的一个直观解释吧。
(来自GPT-2原文 [6]「 Language models are unsupervised multitask learners」。GPT-2训练了系列的Transformer-LM,参数规模分别为117M、345M、762M、1542M,上图展示了随着模型参数规模的增大,各任务性能的不断提升。)
5. GPT-3及in-context learning
2020年GPT-3的工作 [7],延续了GPT-2的愿景和技术路线,希望突破在各个任务中仍需任务特定标注及微调的缺陷(there is still a need for task-specific datasets and task-specific fine-tuning),希望能建设象人一样的通用系统,文中清晰指出其中研究动机之一是注意到:
「humans do not require large supervised datasets to learn most language tasks – a brief directive in natural language (e.g. 『please tell me if this sentence describes something happy or something sad』) or at most a tiny number of demonstrations (e.g. 『here are two examples of people acting brave; please give a third example of bravery』) is often sufficient to enable a human to perform a new task to at least a reasonable degree of competence.」
也就是说给了任务描述(directive)和示范样本(demonstrations),机器应该就能象人一样执行多样的任务。
GPT-3再次拉升规模(scaling up)到了一个新高度,训练集规模为45TB文本(清洗前)、570GB(清洗后),Transformer-LM规模比GPT-2又增加了10倍,达到了175B(见下Table 2.1)。GPT-2文章主要做了零样本提示情形,GPT-3则做了零样本(zero-shot),单样本(single-shot)以及少样本(few-shot)情形的实验,统称为In Context Learning(情景学习),其中给出的示范样本(demonstrations)可以是0个、1个或多个,但都会带有任务描述(task description),见Figure 2.1的图示说明。从Figure1.2可看出,随着示范样本的增多,不同规模的模型的性能提升的趋势。
(以上均来自GPT-3原文 [7]「Language Models are Few-Shot Learners」)
6. InstructGPT, ChatGPT及RLHF技术
目前大型语言模型(large language model, LLM)用于自然语言理解的做法是,依据P(output | task,input),给定上文task,input,递归生成下一个符号。InstructGPT研究的一个出发点是考虑到在人机对话中,增大语言模型并不能从本质上使它们更好地遵循用户意图。大型语言模型也会表现出不尽人意的行为,如编造事实,生成有偏有害文本,或根本对用户没有帮助。
这是因为许多最近的大型 LM 使用的语言建模目标是,预测来自互联网的网页上的下一个符号,这不同于「有帮助和安全地遵循用户的指示」的目标。因此,我们说语言建模目标是未对齐的(misaligned)。避免这些意外行为,对于在数百个应用程序中部署和使用语言模型尤为重要。2022年3月,InstructGPT工作[8]展示了一种途径,可以通过根据人类反馈进行微调,使语言模型在一系列任务上对齐到用户意图(aligning language models with user intent),得到的模型称为InstructGPT。具体来说,如下Figure 2所示,InstructGPT构建过程包含三步:
第1 步:收集演示数据(13K条数据),使用有监督学习微调GPT-3(大小为175B),训练得到supervised policy(有监督策略)。
第2步:收集对比数据(33K条数据),训练出reward model(奖励模型),大小为6B。
第3步:收集31K条训练数据,使用强化学习针对奖励模型来优化策略,称为从人类反馈中强化学习(reinforcement learning from human feedback, RLHF)。具体是使用称为PPO的策略优化方法[9]。
对演示数据和对比数据的收集,使用了40人的外包标注员。
(来自IntructGPT原文[8]「Training language models to follow instructions with human feedback」)
2022年11月,OpenAI发布的ChatGPT模型 [10],基本是InstructGPT模型的沿袭,使用了相同的三步骤训练方法,但是收集了更大规模的数据,进行模型训练和系统构建。
总结:从语言模型研究、Transformer神经网络架构、GPT语言模型及预训练+微调、GPT-2及零样本提示(zero-shot prompting)、GPT-3及情景学习(in-context learning),发展到InstructGPT,ChatGPT及RLHF技术,回头看看上去是一条比较清晰的技术路径,但事实上,其它类型的语言模型(比如基于能量的语言模型 [11])、其它类型的神经网络架构(比如状态空间模型 [12])、其它类型的预训练办法(比如基于隐变量模型 [13])、其它的强化学习办法(比如基于用户仿真器 [14])等,都在不断发展中,新方法研究从来没有停止过,不同方法间相互启发、相互促进,形成通往通用人工智能的滚滚洪流,奔涌向前,生生不息。贯穿ChatGPT六部曲的很重要一点是,规模效应,俗称暴力美学。在路线基本正确的判断下,把规模拉上去,是提升性能的好办法。
量变产生质变,量变未必产生质变,如果路线存在不足的话。下面谈谈ChatGPT的不足。
02 ChatGPT的不足
近年来人工智能领域的顶会(如ICML, ACL)的一个非常好的做法,就是对投稿增加了一项要求,在文章中需留一节表述自己工作的不足(Limitations)。相反,对不足避而不谈,并不严谨,也不利于对一项技术的全面认识,可能误导大众、助长伊莉莎效应乃至错误判断。
事实上,ChatGPT原文[10]对其不足,已经做了比较全面的声明。
ChatGPT的不足(截图来自ChatGPT原文[10])
读者可以直接看上面英文,下面用中文稍做一下解释。读者可以结合下面的例子进行理解。我们对ChatGPT不足的更多分析,将在下一章探讨迈向AGI(通用人工智能)所面临的挑战时来一起讨论。
L1. ChatGPT 有时会写出看似合理但不正确或荒谬的答案。
L2. ChatGPT 对输入措辞的调整或多次尝试相同的提示很敏感。
L3. ChatGPT的生成,通常过于冗长并过度使用某些短语,例如重申它是 OpenAI 训练的语言模型。
L4. 理想情况下,当用户提供模棱两可的查询时,模型应该提出要求对方做澄清的问题。相反,当前的模型通常会猜测用户的意图。
L5. 虽然ChatGPT已努力使模型拒绝不当请求,但有时仍会响应有害指令或表现出有偏见的行为。
图4:ChatGPT有关牛蛋和鸡蛋的例子
图5:有关ChatGPT实时信息处理不足的例子
03 迈向AGI的挑战
结合ChatGPT原文[10]自述的不足,我们将ChatGPT的不足概括为以下五点。这五点也基本代表了从ChatGPT往未来看,迈向通用人工智能(AGI)所面临的挑战,是迈向AGI所亟待解决的重要科学问题和关键技术。值得指出的,本文的角度并不是以任务来分析不足和挑战,而更多是从各类任务的共性问题的角度来分析。如果以任务为行,问题为列,那我们的角度是按列来分析。按行也可以给出非常好的分析和判断。
当讨论AGI之时,我们需跳出仅关注自然语言处理的局限,以更大的视野审视人工智能的研究和技术。参考人工智能经典著作[15],人工智能指智能体的研究与设计,智能体(intelligent agent)指任何设备,其可以观察周遭环境并作出行动以最大化成功机会,更学术的说法是,最大化期望效用(utility)或最大化期望回报(return),如下图所示。细心的读者会发现,下图也常用于强化学习的框架图。确实如此,在[15]有类似阐述,「Reinforcement learning might be considered encompass all of AI」(强化学习可能被认为涵盖了人工智能的所有)。带着这些概念,我们来认识ChatGPT的不足。
图6:智能体与环境的交互,常用于作为强化学习的框架图[16]
1. ChatGPT会随机编造(一本正经地给出错误的信息),在知识建模及利用上存在明显不足。
这基本对应前面介绍的L1,可以从前面的例子清楚看出来。我们所说的知识,包括常识知识,专门知识,以及实时信息等方面。例如,从常识来讲,ChatGPT一开始表现出并不知道牛是哺乳动物,不能产蛋。从实时信息来看,ChatGPT,本质上是一个基于Transformer架构的大型自回归语言模型,其学到的知识仅限于其训练数据,其截止年份为2021年。读者可以自行尝试使用ChatGPT,发现其在这方面的不足。
上述不足,从更深层次来说,反映了人工智能历史上由来已久的联结主义(connectionist)与符号主义(symbolism)的两股思潮的纷争。
- 联结主义,简单说就是主张使用人工神经网络(一种数学上的非线性函数)去实现人工智能。当前的深度学习以及ChatGPT是联结主义路线下的成功。
- 符号主义,简单说就是主张使用符号是实现智能的核心手段,实现智能应该注重数理逻辑和知识推理。举一个符号系统的经典例子,语言的上下文无关语法认为语言包括一些终结符,一些非终结符,以及一些重写规则。理解一句话,包括理解这句话背后的语法结构。
图7
联结主义认为知识埋藏于神经网络的权重,训练神经网络调整其权重能让其学习知识。符号主义主张知识由符号系统来组织,比如关系型数据库,知识图谱,数学物理等其它专门知识,以及数理逻辑。两种思潮也在交叉融合,比如
- 基于神经网络的生成式对话系统,用从知识库进行检索来增强 [17];
- 促进大型语言模型(LLM)推理能力的思维链(CoT,Chain of Thought)方法[18]。
因此,为克服ChatGPT在知识建模及利用上的不足,对现有技术的一个深层次挑战是,神经网络与符号逻辑的有效融合。数据与知识双轮驱动,多年来有不少研究工作,但总的来说找到行之有效的融合办法仍需持续努力。
2. ChatGPT在多轮对话交互上存在明显不足,缺乏规划能力。
这基本对应上面的L4,L4只是指出ChatGPT不会做澄清提问。但是我们看到比L4更严重的不足,从ChatGPT的构建过程看,它是建模条件分布 P(output | input) 进行预测(prediction),并不会做规划(planning)。
在图6所示框架中,一个很重要的概念是规划(planning),规划的目的是,为了最大化期望效用。这显著不同于大型语言模型最大化语言符号出现的条件似然 P(output | input)。InstructGPT考虑系统应该遵循用户意图,用RLHF(从人类反馈中强化学习)的技术让系统输出对齐到人类提问,部分地缓解了对GPT-3做有监督学习而没有进行规划而带来的未对齐问题。进一步提高规划能力实现最大化期望效用,将是ChatGPT通往AGI的一个大挑战。
那么人机交互系统的效用是什么呢?有关这点,InstructGPT的论文[8]对此从有帮助(helpful),诚实(honest),无害(harmless)三个维度有过讨论。「我们希望语言模型是有帮助的(它们应该帮助用户解决他们的任务)、诚实的(它们不应该伪造信息或误导用户)和无害的(它们不应对人或环境造成身体、心理或社会伤害)。」但具体的实现手段,尚需进一步探索,而不是止步于RLHF技术。
3. ChatGPT行为不可控(uncontrollable)。
这基本对应上面的L2、L3、L5。系统输出对输入很敏感(L2),没法控制它输出过于冗长或者过度使用某些短语(L3),没法控制它响应有害指令或表现出有偏见的行为(L5)。这些不足不仅仅出现在ChatGPT,在以目前深度学习技术构建起来的计算机视觉,语音识别等智能系统中,也有类似不可控问题。
人类具有苏格拉底式的智慧,即「自己知道自己不知道」,这正是现在的深度神经网络系统欠缺的,自己不知道自己出错了。现在的神经网络系统大都过于自信(over-confident),不会向人类做出错汇报,在出错时似然仍出奇得高,让人难以信赖和控制。可信赖(Trustworthy)和可控,将是通往AGI的一个大挑战。
4. ChatGPT效率(efficiency)不足。
在ChatGPT声明的不足中并没重视这点。效率包括参数效率,数据效率,能耗效率等。ChatGPT通过使用超大数据,训练超大模型,不断拉升规模,取得了一个出彩的性能。但是,在同等规模下(同等的模型参数个数,同等的数据标注量或标注成本,同等的算力,同等的能耗),ChatGPT是否代表了最先进的技术呢?答案很多时候是否定的。例如,最近的研究报道[19],参数个数13B的LLaMA 模型在多个基准测试中性能优于175B的GPT-3模型,因此13B的LLaMA具有更好的参数效率。近期我们自己的工作也表明,一个良好设计的知识检索对话模型仅用100M,性能显著超过1B的大模型。
能耗效率好理解,我们来看数据效率。目前的智能系统构建,困于依赖大量人工标注下有监督学习范式,数据效率低。基于自回归的大型语言模型,人们发现可以先在大量(无需标注的)文本上训练,然后使用微调或提示技术,部分缓解了目前深度学习技术数据效率低的不足,但仍需要任务相关的标注数据。模型愈大,对标注量要求愈大。如何进一步高效协同利用有标数据和无标数据,是实现数据高效的一个挑战。
5. 多模态具身智能,是探索AGI的重要内容。
ChatGPT仅限于文本输入输出,其所犯的许多错误也说明了它对语义、知识和因果推理的严重缺乏。单词的意义似乎在于它们在统计学上的共现性,而非现实世界的基础。所以即使未来的语言模型越来越大,它们在一些基本的物理常识方面还是表现不佳。
智力远不止语言能力,生物智能的基本要素在于动物与世界进行感觉运动交互的能力[20]。未来的智能机器不一定具有人形,但是机器在听、说、读、写、思考、操纵物体、行动等若干方面,通过具身与环境进行多模态互动,将极大促进机器智能的发展,也将助力机器智能超越文本单一模态局限,更好地帮助人类。
总结:从语言学看,语言知识包括单词的结构和特性——形态学(morphology)和词汇(lexicon),单词如何构成短语和句子——句法学(syntax),词素、单词、短语、句子和语篇的意义——语义学(semantics)[21]。ChatGPT通过超大模型,学习到了相当的语言知识(特别是语义层次之下的知识),具备一定的语言理解能力,生成通顺的句子,但是也存在明显的不足:
- ChatGPT会随机编造,在知识建模及利用上存在明显不足。
- ChatGPT在多轮对话交互上存在明显不足,缺乏规划能力。
- ChatGPT行为不可控(uncontrollable)。
- ChatGPT效率(efficiency)不足。
- 多模态具身智能,是探索AGI的重要内容。
针对这些不足,我们梳理了从ChatGPT往未来看,迈向通用人工智能(AGI)所面临的若干挑战,如图8所示,也指出若干重要的研究内容。值得指出的是,各块研究的范畴并不是孤立的,而是彼此有交集。比如,在可信赖和可控研究中,希望系统输出符合社会规范,那么在系统的效用中如何体现这种社会规范,从而系统规划的输出,能够符合社会规范。因此,系统可控的研究与提高系统规划能力的研究,是有交集的。又比如,在系统的规划决策中,如何融合知识?
图8:迈向AGI的挑战
04 结束语
ChatGPT是人工智能研究中的一个重要事件,严谨认识其进步,不足及迈向AGI的未来挑战,非常重要。我们相信,求真务实,不断创新,推动人工智能发展到一个新的高度未来可期,欢迎大家多探讨指正,谢谢!