前言
自美国时间12月2日上线以来,美国硅谷的初创公司OpenAI推出的ChatGPT,已经拥有超过一百万的用户,受到热烈的讨论。它既能完成包括写代码,修bug(代码改错),翻译文献,写小说,写商业文案,创作菜谱,做作业,评价作业等一系列常见文字输出型任务,而且在和用户对话时,能记住对话的上下文,反应非常逼真。
尽管业内人士认为,ChatGPT仍存在数据训练集不够新、全等问题,但在人类制造人工智能,终点将在哪里结束?人类与会思考的机器之间的关系,将会如何发展?这些问题,我们无法停止思考。
电影《沙丘》的宣传海报(图片来源:IMBD.com)
去年年底上映的电影《沙丘》(),是一个时间设定在10191年(距今8169年)的科幻故事。观影时,我心中一直有一个疑问:这个故事中人们的生活似乎比现在更原始,故事中人工智能(AI,artificial intelligence)的痕迹也不是很多。后来我去读了《沙丘》的原著,才明白这是作者特意设定:在10191年之前的某个时期,曾经发生了一场战争。在这场战争中,人类的对手是人类自己创造的会思想的机器人,故事中称为thinking machine。残酷战争的最后,人类拼尽全力才得以击败了这些有思想的机器人。之后,人类决定永远禁止这些机器人的存在。于是才产生了10191年原始的沙丘世界。
上周五,美国硅谷的初创公司OpenAI推出了一款新的人工智能对话模型ChatGPT。包括我在内的许多人,在过去的一周里都去体验了一下这个新的对话机器人。在体验过这款对话机器人后——你们可能已经能猜到——我脑海中出现了沙丘的世界。
过去的十年,仿佛是人工智能技术领域的“寒武纪大爆发时代”,大量新名词在短时间内迅速产生、并且迅速流行起来。这些新名词及其缩写,许多都没有统一的中文译名,而行业内人士间也普遍直接用英文缩写进行交流。这为想要全面理解这些技术的外行人制造了认知上的障碍。
想要理解ChatGPT这款对话机器人,需要倒叙理解InstructGPT,GPT-3,GPT-2,GPT,Transformer,以及在此之前的自然语言处理领域常用的RNN模型。
1. ChatGPT的前世
2017年,谷歌大脑团队(Google Brain)在神经信息处理系统大会(NeurIPS,该会议为机器学习与人工智能领域的顶级学术会议)发表了一篇名为“Attention is all you need”(自我注意力是你所需要的全部)的论文[1]。作者在文中首次提出了基于自我注意力机制(self-attention)的变换器(transformer)模型,并首次将其用于理解人类的语言,即自然语言处理。
在这篇文章面世之前,自然语言处理领域的主流模型是循环神经网络(RNN,recurrent neural network)。循环神经网络模型的优点是,能更好地处理有先后顺序的数据,比如语言,但也因为如此,这种模型在处理较长序列,例如长文章、书籍时,存在模型不稳定或者模型过早停止有效训练的问题(这是由于模型训练时的梯度消失或梯度爆炸现象而导致,在此不具体展开),以及训练模型时间过长(因必须顺序处理数据,无法同时并行训练)的问题。
最初的变换器(Transformer)模型的架构(图源:参考文献[1])
2017年提出的Transformer模型,则能够同时并行进行数据计算和模型训练,训练时长更短,并且训练得出的模型可用语法解释,也就是模型具有可解释性。
这个最初的Transformer模型,一共有6500万个可调参数。谷歌大脑团队使用了多种公开的语言数据集来训练这个最初的Transformer模型。这些数据集包括2014年英语-德语机器翻译研讨班(WMT)数据集(有450万组英德对应句组),2014年英语-法语机器翻译研讨班数据集(3600万英法对应句组),以及宾夕法尼亚大学树库语言数据集中的部分句组(分别取了其中来自《华尔街日报》的4万个句子,以及另外在该库中选取1700万个句子)。而且,谷歌大脑团队在文中提供了模型的架构,任何人都可以用其搭建类似架构的模型来并结合自己手上的数据进行训练。
经过训练后,这个最初的Transformer模型在包括翻译准确度、英语成分句法分析等各项评分上都达到了业内第一,成为当时最先进的大型语言模型(Large Language Model, LLM)。
大型语言模型(LLM)主要大事记
Transformer模型自诞生的那一刻起,就深刻地影响了接下来几年人工智能领域的发展轨迹。短短的几年里,该模型的影响已经遍布人工智能的各个领域——从各种各样的自然语言模型、到预测蛋白质结构的AlphaFold2模型,用的都是它。
2. 不断迭代:寻找语言模型的极限
在这么多跟进、研究Transformer模型团队中,OpenAI公司是少数一直在专注寻找它的极限的一支。
2015年12月,OpenAI公司美国旧金山成立。特斯拉的创始人马斯克也是该公司创始人之一,为公司早期提供了资金支持(后来他从该公司退出,但保留了金主身份,并未撤资)。成立早期,OpenAI是一家非营利组织,以研发对人类社会有益、友好的人工智能技术为使命。2019年,OpenAI改变了其性质,宣布成为营利机构,这个改变与Transformer模型不无相关。
2018年,在Transformer模型诞生还不到一年的时候,OpenAI公司发表了论文“Improving Language Understanding by Generative Pre-training”(用创造型预训练提高模型的语言理解力)(Generative一般译为“生成型”,但我认为译为“创造型”更合适)[2],推出了具有1.17亿个参数的GPT-1(Generative Pre-training Transformers, 创造型预训练变换器)模型。这是一个用大量数据训练好的基于Transformer结构的模型。他们使用了经典的大型书籍文本数据集(BookCorpus)进行模型预训练。该数据集包含超过7000本从未出版的书,类型涵盖了冒险、奇幻、言情等类别。在预训练之后,作者针对四种不同的语言场景、使用不同的特定数据集对模型进行进一步的训练(又称为微调,fine-tuning)。最终训练所得的模型在问答、文本相似性评估、语义蕴含判定、以及文本分类这四种语言场景,都取得了比基础Transformer模型更优的结果,成为了新的业内第一。
2019年,该公司公布了一个具有15亿个参数的模型:GPT-2。该模型架构与GPT-1原理相同,主要区别是GPT-2的规模更大(10倍)。同时,他们发表了介绍这个模型的论文“Language Models are Unsupervised Multitask Learners” (语言模型是无监督的多任务学习者)[3]。在这项工作中,他们使用了自己收集的以网页文字信息为主的新的数据集。不出意料,GPT-2模型刷新了大型语言模型在多项语言场景的评分记录。在文中,他们提供了GPT-2模型回答新问题(模型训练数据中未出现过的问题及其答案)的结果。
GPT-2模型回答新问题的结果(图片来源[3])
2020年,这个创业团队再次战胜自己,发表论文“Language Models are Few-Shot Learner”(语言模型是小样本学习者)[4],并推出了最新的GPT-3模型——它有1750亿个参数。GPT-3模型架构与GPT-2没有本质区别,除了规模大了整整两个数量级以外。GPT-3的训练集也比前两款GPT模型要大得多:经过基础过滤的全网页爬虫数据集(4290亿个词符)、维基百科文章(30亿词符)、两个不同的书籍数据集(一共670亿词符)。
由于巨大的参数数目以及训练所需数据集规模,训练一个GPT-3模型保守估计需要五百万美元至两千万美元不等——如果用于训练的GPU越多,成本越高,时间越短;反之亦然。可以说,这个数量级的大型语言模型已经不是普通学者、一般个人能负担得起研究项目了。面对如此庞大的GPT-3模型,用户可以仅提供小样本的提示语、或者完全不提供提示而直接询问,就能获得符合要求的高质量答案。小样本提示是指用户在提问时先给模型提供几个例子,然后再提出自己的语言任务(翻译、创作文本、回答问题等)。
GPT-3可以根据用户给的提示语(类似于例子)而更好的回答问题(图片来源:[4])GPT-3模型面世时,未提供广泛的用户交互界面,并且要求用户提交申请、申请批准后才能注册,所以直接体验过GPT-3模型的人数并不多。根据体验过的人们在网上分享的体验,我们可以知道GPT-3可以根据简单的提示自动生成完整的、文从字顺的长文章,让人几乎不能相信这是机器的作品。GPT-3还会写程序代码、创作菜谱等几乎所有的文本创作类的任务。早期测试结束后,OpenAI公司对GPT-3模型进行了商业化:付费用户可以通过应用程序接口(API)连上GPT-3,使用该模型完成所需语言任务。2020年9月,微软公司获得了GPT-3模型的独占许可,意味着微软公司可以独家接触到GPT-3的源代码。该独占许可不影响付费用户通过API继续使用GPT-3模型。
2022年3月,OpenAI再次发表论文“Training language models to follow instructions with human feedback”(结合人类反馈信息来训练语言模型使其能理解指令),并推出了他们基于GPT-3模型并进行了进一步的微调的InstructGPT模型。InstructGPT的模型训练中加入了人类的评价和反馈数据,而不仅仅是事先准备好的数据集。
GPT-3公测期间用户提供了大量的对话和提示语数据,而OpenAI公司内部的数据标记团队也生成了不少人工标记数据集。这些标注过的数据(labelled data),可以帮助模型在直接学习数据的同时学习人类对这些数据的标记(例如某些句子、词组是不好的,应尽量少使用)。
OpenAI公司第一步先用这些数据对GPT-3用监督式训练(supervised learning)进行了微调。
第二步,他们收集了微调过的模型生成的答案样本。一般来说,对于每一条提示语,模型可以给出无数个答案,而用户一般只想看到一个答案(这也是符合人类交流的习惯),模型需要对这些答案排序,选出最优。所以,数据标记团队在这一步对所有可能的答案进行人工打分排序,选出最符合人类思考交流习惯的答案。这些人工打分的结果可以进一步建立奖励模型——奖励模型可以自动给语言模型奖励反馈,达到鼓励语言模型给出好的答案、抑制不好的答案的目的,帮助模型自动寻出最优答案。
第三步,该团队使用奖励模型和更多的标注过的数据继续优化微调过的语言模型,并且进行迭代。最终得到的模型被称为InstructGPT。
3. ChatGPT的诞生
我们今天的主角是ChatGPT及其前身,所以无法避免以OpenAI公司为主线来讲述。从GPT-1到InstructGPT,如果我们只关注OpenAI公司,难免会忽视掉其他人工智能公司和团队其实在同期也在进行与OpenAI公司同样的尝试。在GPT-3推出后的两年内,有不少类似的大型语言模型涌现,但不得不说的是,名气最大的模型还是GPT-3。
GPT-3的部分竞品(图片来源:gpt3demo.com)
时间线回到今天。在今年神经信息处理系统大会会议期间,OpenAI公司在社交网络上向世界宣布他们最新的大型语言预训练模型:ChatGPT。
与InstructGPT模型类似,ChatGPT是OpenAI对GPT-3模型(又称为GPT-3.5)微调后开发出来的对话机器人。OpenAI官网信息显示,ChatGPT模型与InstructGPT模型是姐妹模型。由于最大的InstructGPT模型的参数数目为1750亿(与GPT-3模型相同),所以有理由相信ChatGPT参数量也是在这个数量级。但是,根据文献,在对话任务上表现最优的InstructGPT模型的参数数目为15亿,所以ChatGPT的参数量也有可能相当[5]。
自美国时间12月2日上线以来,ChatGPT已经拥有超过一百万的用户。用户们在社交媒体上晒出来的对话例子表明ChatGPT这款模型与GPT-3类似,能完成包括写代码,修bug(代码改错),翻译文献,写小说,写商业文案,创作菜谱,做作业,评价作业等一系列常见文字输出型任务。ChatGPT比GPT-3的更优秀的一点在于,前者在回答时更像是在与你对话,而后者更善于产出长文章,欠缺口语化的表达。有人利用ChatGPT与客服对话,要回了多交了的款项(这或许意味着ChatGPT在某种意义上通过了图灵测试),或许ChatGPT能成为社恐人士的好伙伴。
4. 问题警告
OpenAI的研发团队在推出ChatGPT时,警告用户该款模型存在一些问题,而经过全球网民们的反复试探,大家也已证实了这些问题的存在。
首先,ChatGPT背后的大型语言模型的训练集最近数据截止于2021年底,所以任何关于过去一年里发生的事件,它无法给出准确的答案。其次,当用户想利用ChatGPT获取准确信息(例如写代码,查菜谱)时,ChatGPT回答的准确度是不稳定的,用户需要具有鉴别回答质量与准确性的能力。由于准确性问题,代码交流网站StackOverflow已经禁止用户在其网站上引用ChatGPT生成的代码。
对此,亚马逊AWS上海人工智能研究院院长张峥老师评价道:ChatGPT模型的训练方法有个致命的问题,训练好的模型在回答问题时,对于各种可能的答案的打分机制用的是排序,也就是说第二步是粗打分。这就造成了模型瞎想的错误被混入(例如(排名更靠前的)A句比(排名靠后的)B句好不等于A句里没有犯常识或事实错误)。问答不仅因为场景是开放性的,更重要的是每一步无理还是有理可以是灰色的,需要细分。这问题并不是无解了,这里还有很多基础性的工作要做。
最后,提问者对于问题的描述也会影响ChatGPT回答的准确性。这个问题可能会产生意想不到的影响。今年早些时候,OpenAI推出了最新的人工智能绘画系统DALL·E 2(同期还有不少类似的产品,例如Midjourney等)。用户只需要提供语言描述,DALL·E 2 就能够根据该描述生成一幅画。不夸张地说,这些图画的质量、风格、均可与专业画家创作的作品媲美。
DALL·E 2 生成的一副现代画(图片来源:openai.com)
于是,在美术界为此感到震惊的同时,提示语生意(prompt engineering)悄然升起:好的提示语能引导人工智能模型生成更符合要求、更赏心悦目的作品;而不够好的提示语,则往往导致不伦不类的学生习作级别(甚至更糟糕)的作品。所以,如何写好提示语、与人工智能模型高质量的进行对话,成了新的创业热点。美国旧金山的初创公司PromptBase推出了$1.99美元一条提示语的服务,主要用于针对DALL·E 2,GPT-3等内容创作模型。或许他们很快也会把ChatGPT也加到自己的业务范畴里。
根据之前提到的小样本学习和引入人类反馈的原理,我们已经知道,如果我们先给ChatGPT模型提供几个例子,然后再提出语言任务,或者通过不断给出反馈而引导ChatGPT,ChatGPT的回答会更符合我们的要求。所以,写一个好的提示语,能让ChatGPT给你更多的惊喜。
5. 人工智能进化,终点在哪里?
从2017年的Transformer到今天的ChatGPT,大型语言模型经历了如此多的迭代,一代比一代性能更强。未来,OpenAI会继续给我们带来GPT-4、GPT-5,甚至GPT-100。而我们此时与ChatGPT火热的、奇葩的、脑洞大开的聊天记录,也会全部变成下一代模型的训练数据。
2016年,OpenAI公司创立时初衷是要开发对人类有益的人工智能技术。在过去的六年里,没有任何线索显示他们违背了初衷——相反,ChatGPT及其背后的大型语言模型看起来就是一项面向未来的先进生产力。我们有理由相信,以大型语言模型为例子的人工智能技术能帮助我们更好的完成学习与工作,过上更美好的生活;我们也有理由相信,我们应该继续支持、开发、推广人工智能,使其能惠及大众。但是,我们已经无法忽视人工智能技术进化、迭代的速度远高于人类、生物体的进化速度。
OpenAI联合创始人马斯克在意识到人工智能的巨大潜能时,曾经就OpenAI的创始初衷谈到:“我们要怎样做才能保证人工智能带给我们的未来是友好的?在尝试开发友好的人工智能技术的过程中会一直存在一种风险,那就是我们可能会创造出让我们担忧的事物来。不过,最好的壁垒可能是让更多的人尽可能多的接触并且拥有人工智能技术。如果每个人都能利用人工智能技术,那么由于不会存在某一小部分人由于独自拥有过于强大的人工智能技术而导致危险后果的可能性。”
但马斯克没有谈到的是,就算人人都能拥有使用人工智能技术的机会与能力,若人工智能技术本身发展到了人类不可控制的地步,我们要如何建立自己的堡垒。像《沙丘》故事里所影射的人类与会思考的机器的世界大战,要如何避免?ChatGPT的存在,还远远未到人们需要担心的那步,但人工智能进化的终点,将在哪里结束?
在创造人工智能的途中,人类很难停止发问——高速发展的人工智能技术,有一天会逼迫我们去不得不选择沙丘一样原始的未来吗?
ChatGPT也不知道。