清华教授欧智坚专访,深度剖析ChatGPT的光环背后及未来挑战!
欧智坚新智元 2023-03-23 13:25 发表于北京
新智元报道
作者:欧智坚编辑:好困
【新智元导读】严谨谈谈ChatGPT取得的进步、不足及迈向通用人工智能(AGI)的挑战。
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,上图展示了随着模型参数规模的增大,各任务性能的不断提升。)