前言
GPT系列模型的整体情况如下图:
第一部分:GPT-1
论文《Improving Language Understanding by Generative Pre-Training》由 Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever 等人撰写的论文,对当代自然语言处理(NLP)领域产生了深远的影响。这篇论文首次介绍了GPT(Generative Pre-Training)模型,这是一个基于Transformer架构的大规模无监督学习语言模型。
理解语言
任何一种人类语言都像是一个包含成千上万碎片的庞大而复杂的拼图。有单词,还有用于组合这些单词的语法规则,以及许多规则的例外情况。即使计算机学会了语言中的每一个单词,它可能也无法理解这些词汇组合在一起时的含义。因为意思会随着单词顺序的变化而变化,就像"The cat chased the mouse"和"The mouse chased the cat"明显不同。
这不只是句子结构的问题。想想我们有多少种表达方式 —— 疑问、感叹、命令 —— 还有我们如何通过语调来表达疑问、兴奋或命令。对计算机来说,捕捉这些细微差别是非常困难的。它们不是天生就能理解这些,而需要通过大量学习才能掌握。
接下来说说那些"有意思"的部分:笑话、讽刺和成语。试着向一个从没听过笑话的人解释为什么一个笑话很好笑。计算机在处理这个问题上也面临同样的困境。笑话通常是通过文字游戏或以出乎意料的方式使用语言来逗乐,这对计算机而言是一个巨大的挑战。
讽刺则是另外一道难关。讽刺是我们表面说的一套,实际上意思却正好相反,比如当有人不小心洒了饮料时我们说"干得好!"。人类通过语调和语境来理解讽刺,而计算机通常只会直接理解字面含义,所以它们可能无法意识到在这种情况下"干得好!"实际上是在说"糟糕,出错了。"
至于成语和谚语,那些字面意思并不明显的短语,例如"It's raining cats and dogs"(字面意:下了猫和狗,本意:瓢泼大雨)或"Piece of cake"(字面意:一块蛋糕,本意:小菜一碟)。要理解这些,需要对语言背后的文化有所了解,这对计算机来说是更高一层的复杂性。
但这还没完。语言在不断发展变化!新词汇源源不断,老词汇得到新解释,俚语变成了主流。想象一下,你祖父母的英语可能与你的有很大差异。对计算机来说,跟上这些变化就像是在射击一个移动的靶子,它们需要持续更新才能紧跟潮流。
所以,这些因素综合起来,使得语言学习对计算机而言是个巨大的挑战。计算机需要学习的不只是单词和语法,还有无数的语言细节、文化背景和语言的不断演变。这是个艰巨的任务,但一旦计算机能够更好地理解语言,它们就能变成我们日常生活中的得力助手。
如我们所见,理解语言不仅仅是知道词汇和句子,还要把握整个交流的上下文。但计算机并不轻易放弃!它们通过浸泡在大量文本中——想象一下,就像是在一个巨大的图书馆里面的每一本书里游泳——来学习上下文,把握语言的模式和规则。这是它们通往掌握人类语言之路上的下一个重要步骤。
熟能生巧
从上次讨论语言理解和沟通背景的基础上,我们继续探讨计算机是如何通过分析大量文本来学习语言模式的,这个过程有点像学生通过课本学习。
就像你为历史考试通过阅读教科书、做笔记、自测来复习一样,计算机在学习语言时也采用类似的方法。但与学生不同,计算机要同时处理成千上万本书籍、网页和文章。这种方式称为无监督学习,就好比在没有老师的情况下自主做作业。
接下来我们分解这个过程。计算机理解语言的智能部分被称为语言模型,它通过算法来工作,算法是一系列详细到每一步的指令,指导计算机如何理解和生成句子。
想象一下,如果你的教科书里所有考试所需的知识都混在一起,没有任何顺序,这就像计算机眼中的互联网——充满了各式各样的文本。语言模型深入这些文字的海洋,开始寻找模式。比如,它可能发现“bake”(烘烤)经常和“oven”(烤箱)、“flour”(面粉)、“cake”(蛋糕)以及“cookies”(饼干)等词汇一起出现,于是就学习到“bake”很可能与烹饪有关。
计算机这么做主要是在做两件事:预测和理解。预测就像是填空,它尝试猜出它从未见过的句子中下一个单词是什么。这和你根据学过的内容推测考试可能会考什么类似。理解则是当计算机明白为何一个词会出现在另一个词之后,这和你理解某些历史事件的因果关系相似。
这些预测并不是随便猜的。计算机通过查看众多实例逐渐变得擅长预测下一个单词。就像你学了很多关于独立战争的内容后,你会开始预测提到“Paul Revere”(保罗·里维尔)时,接下来可能会提到他的午夜骑行。
但更神奇的是,计算机不仅在学习单词及其含义,它还在学习整个短语、俚语、笑话甚至讽刺。因为单词组合在一起的方式赋予了它们含义。如果你只记住了历史上的日期,而不了解背后的故事,就无法真正理解历史。计算机在学习语言时也是如此。
负责帮助计算机学习的模型叫做Transformer。它虽然不会变成汽车或者机器人,但它所做的工作同样令人称奇。Transformer被设计得能够像变形金刚那样,关注句子中不同的部分。就像你在教科书中高亮重点一样,Transformer模型能够关注语言中的重要部分,更好地理解语境。
这个模型有多个层次,有点像蛋糕或你教科书中的章节,每一层都让计算机对语言有更深刻的理解。有些层面着眼于单词,有的专注于短语,还有的涵盖整个句子。计算机处理完这些层次之后,对文本的含义有了相当清晰的认识。
Transformer擅长处理像小说或长文章这样的长文本,因为它能记住文本前面的内容,并利用这些信息来理解后文。这就像你在读科学书的最后一章时能够回想起第一章学到的内容,一切知识都是相连的。
另一个关于计算机学习语言的重要方面是大量的练习,就像你复习时一遍遍翻阅笔记确保记牢一样。计算机在阅读了大量文本、开始把握语言模式之后,会不断地练习和微调它们的技能。
通过这些方法,计算机通过消化大量的文本样本,了解其中的模式和语境,并不断地精炼自己的知识,从而发展语言能力。这个过程既不简单也不是一蹴而就的,但随着计算机不断地阅读和学习,它们在理解我们使用的语言方面越来越进步。
现在,计算机已经通过阅读和学习了解了语言规则之后,准备迈向下一步:通过练习特定的任务来应用它们学到的知识。
微调:专攻特定领域
我们的语言学习电脑在阅读了大量文本后已经成为万能高手,现在是时候让它在某一个——实际上可能是许多——领域成为行家里手了。这有点像你在学校里各科都不错,但有时候你得专心攻克代数或生物学才能考出好成绩。这就是计算机如何通过微调从广泛的知识转向精通特定任务。
想象一下,你有一个大的历史课题需要准备。你读过教科书,对历史有了大体的了解。但现在,你需要深入了解美国革命的具体信息。你肯定会深挖关于这段时期的文件、论文和传记,对吧?计算机在某一专项语言任务上的专研,也是通过在特定的例子上进行训练。
这一学习阶段就像定做西装——量身定制,非常精确。计算机由于之前广泛的阅读,对语言已经有了丰富的理解。现在,它需要将这些知识应用到诸如从英语翻译成法语的句子、总结一篇长文章、判断一篇评论是正面还是负面等具体任务上。
微调的神奇之处在于此。计算机已经准备就绪,有了Transformer模型,并且还得到了一小部分但非常相关的数据集——我们可以叫它练习册。这本练习册正好包含了计算机在现实世界中需要解决的那些问题和难题。就像有私人家教坐在旁边指导你一样,计算机在导师的监督下研究这些练习题。
如果用我们的历史项目来比喻,微调就像是拿到了乔治·华盛顿亲笔的信件。你读过了教科书,现在你要处理真实、详尽的细节,让你的知识更加实用和精确。对于我们的计算机来说,它通过学习那些已知正确答案的实例,调整自己内部的运作机制——即它的算法和模式——以便在未来遇到类似任务时,能够以惊人的精确度预测正确答案。
正如不同的学科有时会有所交集,计算机所学习的任务也能从彼此中受益。例如,通过学习翻译语言,计算机在理解语法和词汇方面也会变得更好,这也有助于它更好地总结文本或判断推文的情绪。
具体任务可能包括:
问题解答:给定一段关于太阳系的文本,太阳系中最大的山在哪里?计算机将学会从文本中筛选信息,找到火星上的奥林帕斯山是最大的山。
情感分析:计算机阅读关于最新超级英雄电影的评论,判断它们是正面还是负面。这帮助企业理解消费者对他们产品的看法。
文本分类:计算机可能会得到一系列文章,并将它们归类为体育、科学或娱乐等,就像图书管理员将书籍分门别类放在合适的书架上。
微调的一个有趣之处在于,计算机在学习新任务时不必从零开始。它已经从初始训练阶段累积了大量的知识,并以此为基础。这就像你已经掌握了算术,因此在学习代数时就会更加得心应手——一切知识都是相互关联的!
还有一个重要的概念是任务感知输入转换。这些是计算机根据当前任务调整处理方法的微调。例如,如果任务是检测情绪,计算机会特别关注情感性的词汇和短语。这就像你在历史教科书中用荧光笔标出重要日期一样,这个工具帮助计算机更加专注于任务中最重要的部分。
总结来说,微调是计算机从通用语言理解转变为精通特定语言任务的秘密武器。这就像是在知道一些关于很多事物和知道很多关于某些事物之间的区别——对计算机来说,就像中学生一样,这两者都对在现实世界中的'考试'中取得好成绩至关重要。
现在,我们继续下一部分:Transformer不仅仅是电影中的机器人,它们还是计算机理解和响应语言的超级智能'大脑'。在下一节中,我们将探讨Transformer模型是如何帮助计算机更自然地理解和回应语言,就像跟朋友交谈一样。
Transformer: 一个超级大脑
想象一下:你在一个人声鼎沸的房间里,突然有人叫出你的名字。尽管周围喧嚣吵闹,你的大脑却能够神奇地将注意力集中在那个声音上,明白对方说了什么。在计算机和语言处理的领域,Transformer模型就像是你大脑的映射——它能够在信息海洋中捕捉到那些关键的数据点,哪怕周围环境再复杂繁杂。
什么是 Transformer 模型?
Transformer 是一种用于处理语言的计算机模型。在 Transformer 出现之前,计算机使用的方法就像是试图在喧嚣的房间里同时听取每个人的声音——这并不太有效。但 Transformer 模型彻底改变了这种状况。它采用了一种名为“注意力机制”的技术。这个注意力机制,就像你在嘈杂的食堂里专注于倾听朋友的谈话,你在专注于那个时刻最重要的信息。
Transformer模型是怎么运作的?
想象一下,当你用放大镜看漫画时,你能够聚焦到最细小的部分——就像是角色们的面部表情或者对话泡泡里的小字。Transformer模型在处理语言时,也有类似的能力:它能聚焦于句子中最关键的词语或短语,这些元素对理解整体含义至关重要,同时又不会忽视整体上下文。
例如,当你输入这样一个句子给Transformer:"The monkey climbed the tree because it was fun."(猴子爬上树,因为它觉得好玩。)这里的"it"(它)可能指猴子也可能指树,但我们知道"it"实际上指的是猴子,因为这样才逻辑通顺。Transformer也能做到这一点——它通过加强对"it"附近单词的关注来推断出"it"指的是猴子。
Transformer和学习语言
在校园里,我们会用到各种工具来帮助学习变得更有效。例如,使用抽认卡来帮助记忆单词,而使用日程计划本来管理我们的家庭作业。同样地,Transformer也有自己的一系列工具。其中最重要的一个工具是它能够记住之前学过的内容。就像你在学习分数之后,这些知识可以帮助你更好地理解百分比,因为两者之间有联系。
Transformer能够记录它之前遇到过的所有词汇和它们的上下文环境。这种记忆力在理解新句子时显得非常有用。它不需要每次都重新学习一切——它会运用已有的知识来解决新的语言任务,就像你在数学学习中利用之前的知识来解决更加复杂的问题一样。
Transformer模型为何颠覆了游戏规则
Transformer问世之前,计算机很难弄懂词语的顺序以及那些赋予句子真正意义的微妙之处。如果你把一句话中的词语顺序打乱,你或许仍然能猜出其含义,但那句话会读起来很怪异,让人迷惑。对于计算机而言,这一挑战就更加艰巨了。但现在有了Transformer,计算机可以更加高效地处理句子,它不仅理解词语的排序,更能捕捉到语句的微妙意味——就像你自己理解语言那样。
Transformer模型在处理多任务方面也展现了惊人的能力。当它们分析一句话时,它们不仅关注词语的排序,同时也在解读那些细微的提示和含义,就像你在朋友的话语中能感知到一个笑话或一丝讽刺那样。这种多层次的理解能力使得Transformer在语言翻译或者在写作时为你推荐下一句话等任务上表现得异常强大。
Transformer在现实世界中的超能力
现在,你可能在用Transformer的技能而不自知。比如你跟Siri或Alexa这样的数字助手聊天得到了有用的答复,其背后就是一个Transformer模型在发挥作用。或者当你写作业报告时,使用了某款能检查语法的工具,它很可能就利用了Transformer模型来理解你想说的内容,并帮助你更准确地表达。
Transformer真正厉害的地方,在于它们能够从各种语言和任务中学习。例如,Transformer能够通过学习法语来提升对英语的理解,或者通过阅读新闻文章来更好地领会科学教材的内容。这就好比你通过学习踢足球,不仅踢得好,还神奇地提高了你打篮球和排球的能力——这正显示了Transformer在处理语言任务时的适应性和多功能性。
Transformer如何不断学习与进步
虽然Transformer已经非常智能,但它们还需要持续学习和进步,就像你努力学习一样。它们通过阅读更多的文本、针对特定任务进行深入训练和不断地应对新挑战来提高自身能力。有时候它们会进行更新,这就像学生升级一样,它们需要掌握更多复杂的知识。
总的来说,Transformer模型为电脑理解和处理人类语言带来了革命性的变化。它像是帮助你专注于重点的放大镜、辅助记忆的抽认卡和记录你所有待办事项的规划器——三者的优点集于一身。凭借Transformer,电脑能够关注语言中的关键部分、记住所学的内容,并且随着时间的推移变得更加聪明。这是它们从仅仅识别文字到真正理解并用语言沟通的关键,就像你我一样。
第1步:读个不停
就像你在为科学项目准备时会阅读大量的资料一样,计算机开始它的学习过程,也是通过翻阅海量的文本。这并不是普通的浏览,而是深入地研究各类资料,包括小说、报纸、网络文章等等。对于计算机来说,这就像是同时接触到全世界的每一本书。通过这样的过程,它开始领悟语言的运作规律,识别出语句的构成和常见词汇的搭配模式。
第2步:无需教导自学规则
就像你在做项目研究时,通过阅读逐渐理解基本概念并做笔记一样,计算机在处理文本时也能自己领悟语言的规则。这部分是所谓的非监督学习,没有人直接向计算机传授规则。它通过分析大量文本,自主探索出语言的“语法”,无需任何人专门教授。就像你能够仅通过看图片,而不需要一步步的指导,就组装出火山模型一样。
第3步:反复练习,熟能生巧
试想你会怎样通过练习小测试或构建一个小模型来检验自己的想法。电脑现在就要做类似的事情,这个过程被称为“微调”。就好比专门的训练一样。电脑已经对语言有了广泛的理解,但现在它通过特定的例子和纠正来进一步专研。如果它在理解某个句子时出错了,就像老师批改你的小测试一样,它会得到正确的答案并从错误中学习。它正通过这些练习,为最终在真实世界中准确理解语言做好准备。
第4步:专注于任务
就像你不会通过训练足球来备战篮球比赛一样,计算机也需要针对它即将执行的特定任务来优化语言处理能力,无论是翻译还是摘要编写。因此,在完成了广泛阅读后,计算机会接受一位教练的辅导——这里的教练是程序员,他们会帮助计算机专注于提升它所需的特定语言技巧。比如,如果计算机需要做的是回答问题,那它就会大量练习回答问题。
第5步:Transformer大显身手
记得我们之前说的Transformer吗?现在,它已经成为了主角。在这一系列的实践和调整中,Transformer模型使得计算机能够锁定语言中最关键的部分。就像你在学习时用荧光笔标记重点一样,它帮你记住最重要的内容。Transformer模型也是这么做的,但它标记的是单词和句子。它知道应该关注哪些词,使得计算机对语言的理解变得更加精准。
第6步:从之前的对局中学习
就如同你会从以前的科学实验或是练习赛中吸取经验一样,Transformer也会记住它之前学到的所有内容。它会利用之前阅读过的所有文本的知识来更好地预测自己未来阅读时可能会遇到的内容。比如,如果它在科学相关的文本中多次遇到“光合作用”这样的词语,那么它就会知道这些词在处理生物学相关任务时可能非常重要。
第7步:为重要的日子做好准备
就像所有的阅读、练习和调整都是为了考试或比赛做准备一样,这一切都是为了让计算机准备好迎接现实中的语言挑战。当真正的时刻来临——无论是用户提出的问题还是对翻译的需求——计算机已经做好了充分的准备,它会利用学到的所有知识去理解问题,并尽可能给出最佳答案,就像你准备好了为你的项目展示或决赛而战一样。
第8步:更新培训
就像你会为新一年的项目学习最新技巧或知识一样,电脑系统也需要不断更新。开发者会向它输入新的信息,并改进它的学习方式,以此适应人类语言使用习惯的变化。比如,当一个新的流行语词盛行,电脑就会学习并明白人们使用它的含义。
整体来看,电脑通过生成式预训练来理解语言的过程,就像是你准备一个重大的学校课题或体育赛事。它一开始会进行大量的广泛学习,然后逐渐聚焦在特定技能的练习上。就像你会利用所有的笔记和之前的经验来出色完成你的项目或赛事,电脑也会利用Transformer模型和它庞大的“阅读”资料库,以卓越的能力来理解和回应人类的语言。
第二部分:GPT-2
《Language Models are Unsupervised Multitask Learners》由 Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever 等人撰写的,于2019年发布。它对当代自然语言处理(NLP)领域产生了重大影响。这篇论文继续了GPT(Generative Pre-Training)系列的研究,介绍了基于Transformer架构的GPT-2模型,一个规模更大、能力更强的大规模无监督学习语言模型。通过显著增加模型规模和数据量,GPT-2在文本生成和理解方面表现出卓越的性能,推动了自然语言处理技术的发展。
GPT-2与它的前身GPT相比,在许多方面都有显著的提升。其中最主要的进步体现在两个方面:它的"大脑"更大,记忆力更强。具体来说,GPT-2有着1.5亿个参数。这些参数就像是神经元,它们是模型学习和记忆信息的基本单元。而GPT-1只有1.17亿个参数,这就像是比较一个中学生和一个大学生的知识量,自然是后者更胜一筹。
除了参数数量的巨大增加外,GPT-2在理解语境的能力上也有很大的进步。它可以记住长达1024个单词的文本,而GPT-1只能记住512个单词。这意味着GPT-2可以处理更长的对话和文章,并且能更好地理解上下文中的细微差别。
另外,GPT-2在学习时没有得到明确的指导。想象一下,你在阅读世界上所有的书籍和文章,但没有人告诉你哪些信息是重要的。GPT-2就是通过阅读互联网上的8百万网页(经过筛选,其中排除了维基百科等容易识别的来源)来学习语言的。它自己判断哪些知识是有用的,并学习如何运用这些知识来生成新的文本。
正是这些特点使GPT-2成为了一个多才多艺的模型,无论是写故事、作曲、翻译语言还是进行对话,GPT-2都能应对自如。它在无数的文字游戏中训练了自己,现在,它不仅可以模仿人类的写作风格,甚至能够创造出新的风格,这种能力在以前的语言模型中是前所未见的。
多任务学习与无监督学习
既然我们已经对GPT-2有了初步的认识,那么现在就让我们更深入地了解一下它背后的两个核心概念:多任务学习(Multitask Learning)和无监督学习(Unsupervised Learning)。这两个概念在使GPT-2成为强大的语言模型中发挥着至关重要的作用。
多任务学习(Multitask Learning) 首先,让我们想象一个全能运动员,比如诸如田径十项全能的选手,他们不仅要擅长跳高、跳远,还要擅长短跑、铅球等多个不同的项目。这个全能运动员必须进行广泛的训练,以保持在各个项目上的竞争力。在语言模型的世界里,多任务学习的概念也是类似的。GPT-2就像是一个全能的“语言运动员”,它不是只训练来做一个特定的任务,比如翻译,而是被训练来处理和理解各种不同的语言任务,包括写作、问答、摘要等。
在GPT-2中,多任务学习是通过它处理的大量文本数据实现的。这些数据包含了各种任务的示例,而GPT-2通过学习这些示例,自然而然地就学会了如何在不同的任务之间切换,就像我们前面提到的全能运动员一样。这就是为什么GPT-2能够在没有特定指令的情况下进行机器翻译、回答问题,或者完成其他复杂的语言处理任务。
无监督学习(Unsupervised Learning) 接下来让我们来探讨什么是无监督学习。我们可以将这个概念比作自学成才。假如有一个人,他没有上过正规的学校,没有老师指导,但他通过大量阅读书籍、文章和观察周围世界,自己摸索着学会了一门外语。这就是无监督学习的精髓——学习者没有直接的指示或反馈来告诉他们哪里正确,哪里出了问题。
在GPT-2的情境中,无监督学习意味着模型是在没有人类标记或者注释的帮助下进行训练的。通常,语言模型是通过“监督学习”进行训练的,这就需要大量的标记数据来告诉模型每个输入应该有什么样的输出。但GPT-2是通过自己分析和理解大量未标记的文本数据来学习语言的。它从这些数据中自行发现规律和模式,并学会如何生成连贯、有意义的文本。
GPT-2中的应用 那么,GPT-2是如何将多任务学习和无监督学习结合起来的呢?当OpenAI团队训练GPT-2时,他们没有针对任何特定的语言处理任务进行优化。相反,他们向GPT-2输入了大量的互联网文本数据——就是之前提到的WebText数据集。这些数据包含了各种话题和文本类型,而且没有特别的标注来定义它们。因此,GPT-2必须自己“读懂”文本,并且自己学习文本中潜在的任务和结构。
当GPT-2在这样一个大型的、多样化的数据集上进行训练时,它就开始掌握语言背后的模式和规则。更神奇的是,它学会了如何将这些规则应用于它从未直接训练过的任务——这就是所谓的“零样本学习”(Zero-Shot Learning)能力。换句话说,即使GPT-2没有明确地被训练来完成某一个具体的任务,它也能够凭借在无监督环境中学到的知识,来尝试解决新的任务。
现在,我们已经了解了多任务学习和无监督学习在GPT-2中的作用,我们将在下一部分,我们将探讨GPT-2是如何从海量的互联网文本中学习,以及这种学习过程是如何无需特定任务指导就能完成的。
GPT-2如何训练
想象一下,如果你有一本厚厚的百科全书,而你每次只能翻到一页,靠着这一页的内容来理解全书的全部信息。你可能会通过这一页的文字、图片和上下文线索逐渐构建起对整本书的理解。GPT-2的训练过程,从某种程度上来说,就有点像是这样一个过程。它通过大量的文本片段学习如何理解语言,并且不需要老师一个个地告诉它每个词语或句子的确切含义。
GPT-2是用一种名为WebText的数据集来训练的,这个数据集是一个网络文本的宝库,里面装着从Reddit收集的大量网页链接所指向的内容,每个链接至少需要有三个赞才会被选中。这样做的好处是,选中的文本往往质量较高,更具代表性。在这个数据集中,GPT-2可以接触到形形色色的文本,从新闻报道、科学文章到博客和小说等等。通过阅读和学习这些文本,GPT-2就像孩子一样,开始慢慢理解语言的规则和含义。
WebText数据集特别之处在于它的多样性和现实性。就像一个人通过阅读不同类型的书籍来增长知识和见识一样,GPT-2通过消化WebText中的文本来训练自己处理各种语言问题的能力。它从这些文本中学习到的不只是单词和语法规则,还有语言的细微差别、文化的色彩、甚至是不同情感的表达。
在GPT-2的训练流程中,没有老师或者标准答案。这就是所谓的无监督学习:它不依赖于带有明确标记的数据(例如,告诉模型这句话是一个问题,那句话是一个答案)。相反,它通过观察和模仿文本中自然出现的模式来学习。举个例子,如果模型在文本中足够频繁地看到词组“炸鸡和啤酒”,它就可能推断这两样东西通常会一起出现,甚至可能关联到某种社交场合。这就是模型通过大量数据来提升自己语言处理能力的方式。
接下来,让我们更详细地探究一下GPT-2的学习过程。GPT-2中有着大约15亿个可调参数。参数可以看作是神经网络中的"螺丝钉",通过调整这些"螺丝钉",网络就能改变自己处理信息的方式。GPT-2在学习时,其实就是在不断调整这些参数,试图找到一种方式,使其生成的文本尽可能地接近训练集中的文本。
这个过程需要消耗巨大的计算资源,因为GPT-2必须从头到尾多次阅读数据集,每次阅读后,它会尝试总结出一些模式,然后根据这些模式来生成自己的文本。如果生成的文本与实际的数据集文本非常相似,那么GPT-2就认为自己找到了一个不错的参数设置,然后它会保留这个设置。如果不相似,它就会进行调整,然后再试一次。
在无数次的尝试和错误中,GPT-2逐渐学习到了如何利用上下文。就像人类作家写故事时会在脑海中构建场景、角色和情节一样,GPT-2也学会了利用自注意力机制来理解文本的每一个部分如何与其它部分相连。它学会了把注意力放在重要的信息上,而忽视那些无关紧要的内容。
同时,GPT-2还学会了模仿各种写作风格。由于WebText包含了多种类型的文本,GPT-2就像一个终身学习者,在不断阅读和模仿中锻炼了自己的写作技能。无论是幽默的博客文章、深奥的科学论文,还是充满情感的诗歌,它都能学会并且模仿。
然而,需要强调的是,GPT-2的这种学习是盲目的,它没有真正的理解力。它所做的一切都基于统计和预测:它会预测在特定的上下文中,接下来最有可能出现的单词或词组是什么。但正是这种盲目的学习,令GPT-2成为了一台强大的语言模型,因为它能够适应和生成各种各样的文本。
在学习的终点,GPT-2成为了一个语言的大师,它可以撰写文章、翻译语言甚至编写诗歌。通过观察大量的文本数据,GPT-2不仅学会了语言的基础结构,还学会了人类的语言艺术。如今,我们可以看到GPT-2在写作、翻译和对话系统等多种语言任务中的出色表现,而所有这些能力都是从它对大数据的学习中获得的。
GPT-2的局限性和挑战
GPT-2的局限性
尽管GPT-2拥有令人钦佩的多样化应用和强大的文本生成能力,但它也面临着不少挑战和限制。理解这些局限性对于未来模型的改进和合理应用至关重要。
语言偏见的问题
GPT-2在学习语言模型时,直接从训练数据中吸收知识。这就意味着,如果训练数据本身包含有偏见,那么GPT-2在生成文本时也可能表现出偏见。比如,关于性别或种族的偏见往往是社会语言中无意识传播的,当这些偏见的语言被GPT-2学习后,它生成的内容可能会不自觉地强化这些负面的刻板印象。在实际应用中,这种偏见的反映可能会对使用者产生不利影响,造成道德和法律上的问题。
生成错误信息的风险
由于GPT-2并不真正“理解”文本内容,它有时会生成虚假或无根据的信息。在进行事实核查或需要高度准确性的任务时,这一点尤为重要。例如,如果在提供医疗建议或新闻报道时,GPT-2生成了错误信息,后果可能非常严重。这种错误信息的风险需要被慎重对待,并在应用中进行有效管理。
复杂和非标准语言的处理
GPT-2在处理非标准或者复杂语言结构时也表现出了局限性。例如,在面对俚语、网络用语或深层次的比喻和幽默时,GPT-2可能无法生成准确和合适的回复。它的文本生成能力受限于训练数据的范围,对于那些它未曾见过的新兴语言用法或边缘情况,GPT-2可能难以准确理解和应对。
人类知识的深度和广度
尽管GPT-2的模型大小和知识范围比以往任何模型都要大,但它在知识的深度和广度方面仍然有限。特别是在需要专门知识或深入理解的领域,GPT-2可能无法提供满足需求的答案。它的知识是被动学习的,缺乏人类对知识的主动追求和逻辑推理能力。
未来可能的解决方案
针对GPT-2所面临的挑战,研究人员和开发者们正在寻求多种方法来改进和提升模型的性能。
提高数据质量和多样性
为了减少语言偏见,可以对训练数据进行更加细致的筛选,确保来源多样性和高质量。通过引入更平衡的数据集,可以使模型学习到更广泛的语言表达,从而减少在生成文本时的偏见现象。
强化事实核查机制
为了降低生成错误信息的风险,可以在GPT-2的输出端加入事实核查的步骤。通过与可靠的数据库或实时的信息源进行比对,可以筛选掉不准确的内容。同时,对于某些重要的领域,如医疗和法律,可设计专门的监督机制确保输出的可靠性。
提高对复杂语言的理解
为了改善GPT-2对复杂和非标准语言的处理能力,可以通过增加特定类型的训练数据来增强其对于边缘情况的识别和生成能力。同时,结合专家系统等技术,使GPT-2在特定情境下能够更好地理解和运用复杂语言。
拓展知识和推理能力
为了使GPT-2在知识深度和广度上更进一步,研究人员正探索如何让模型具有一定的推理和学习能力。通过模拟人类的学习过程,使模型不仅能从文本中获取信息,还能在处理新问题时进行一定程度的逻辑推理。
尽管GPT-2的局限性是不容忽视的,但通过不断的技术进步和创新,未来的语言模型有望变得更加强大和智能。这将为人类带来更多帮助,同时也将推动自然语言处理技术的发展。
附:Transformer模型的进阶理解
Transformer模型是当前最流行的自然语言处理技术之一,它是由Vaswani等人在2017年提出的一种新型神经网络架构。GPT-2就是基于这种Transformer模型构建的,让我们逐步深入理解它的内部结构,尤其是其中的自注意力机制如何在处理语言时发挥核心作用。
Transformer模型最大的创新在于引入了自注意力(Self-Attention)机制。这种机制使得模型能够处理输入序列中的每个元素(如单词),并计算它与序列中其他元素之间的关系。这对于理解语句的上下文、揭示词汇之间的隐含关联具有非常重要的意义。
在自注意力的过程中,模型会为序列中的每个词生成三个不同的向量:查询(Query)、键(Key)和值(Value)。想象一下你是图书馆的管理员,每本书都有一把钥匙和一个信箱。你要找一本书,首先是拿着询问(查询)去匹配正确的钥匙,当钥匙匹配时,就可以打开信箱(值)来获取书籍的信息。自注意力机制就是在进行这样一种匹配查询和钥匙,然后提取对应值的过程。
在GPT-2中,自注意力机制使得模型在生成文本时,可以根据当前单词的查询向量与前面单词的键向量计算出一个注意力分数。这个注意力分数决定了在生成下一个词时应该给予前面词语多少的注意力。这样,模型就能够更好地捕捉长距离依赖关系,例如,即使一个代词出现在句子的末尾,GPT-2也能够通过注意力机制追踪它指代的名词是什么。
除了自注意力机制外,Transformer模型还包括位置编码(Positional Encoding)。由于Transformer模型没有像递归神经网络那样的循环结构来处理序列的顺序信息,因此它需要另一种方法来理解单词在句子中的位置。位置编码就是将位置信息添加到模型中的一种手段,这样,即使模型在处理单词时是并行的,它也能知道每个单词在原始序列中的顺序。
通过位置编码,模型能够识别“昨天我去了市场,买了一些苹果”和“我买了一些苹果,昨天去了市场”两句话中词序的差异,尽管它们包含相同的单词。这对于理解语言来说是至关重要的,因为在很多情况下,单词的顺序会改变句子的整体意义。
GPT-2内部的另一个重要组成部分是编码器和解码器层的堆叠。编码器负责处理输入的文本信息,而解码器则用于生成输出的文本。每个编码器和解码器层包含多头自注意力机制,使得模型可以在计算自注意力时注意到不同的位置和表示,这就像是在阅读或写作时可以同时关注句子的多个不同部分。
不过,需要指出的是,GPT-2作为一个语言生成模型,主要依赖于解码器部分。它通过使用前面所生成文本的上下文来生成新的文本。这与翻译或摘要等需要先理解输入文本再生成输出的任务不同,后者通常会用到编码器-解码器结构。
在解码器层中,每一步生成的输出都会成为下一步的输入,这样每一步都会建立在前一步的基础上,创建连贯的文本串。这种连续的过程使得GPT-2可以生成逻辑上连贯且语法正确的长文本。正是这种叠加层的结构,再加上自注意力和位置编码的机制,让GPT-2具有了令人惊叹的语言理解和生成能力。
通过上述的自注意力机制和位置编码,Transformer模型赋予了GPT-2强大的语境捕捉能力。GPT-2能够理解并生成各种复杂的文本,从简单的日常对话到复杂的文学作品,都能以人类难以分辨的逼真度进行模仿。不过,这种模型也会带来一些挑战,比如随着训练数据的增多,模型的训练成本也会大幅增加,且模型可能会生成具有偏见或误导性的内容。尽管如此,Transformer模型无疑是当今自然语言处理领域的一个重要突破。
第三部分:GPT-3
论文《Language Models are Few-Shot Learners》由 Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei 等人共同撰写,于2020年发布。该论文在自然语言处理(NLP)领域产生了显著影响,标志着GPT系列研究的重要进展。
论文主要介绍了基于Transformer架构的GPT-3模型,一个比以往版本更大规模且能力更强的语言模型。与前代模型相比,GPT-3通过显著增加模型的规模和数据量,实现了更加高效的学习能力和更广泛的应用范围。
论文的核心观点是强调GPT-3在“少量学习”(Few-Shot Learning)方面的能力。这种能力使得GPT-3能够在仅仅接触少量样本的情况下快速适应并执行各种语言任务,这在以往的语言模型中是不常见的。GPT-3的这一特性为自然语言处理技术的发展开辟了新的可能性,特别是在数据受限的应用场景中。此外,论文还通过一系列实验,展示了GPT-3在多种任务上的出色表现,进一步证实了其少量学习能力的实用价值和研究意义。
相比GPT-2,GPT-3的主要差别体现在两方面:首先是模型规模,GPT-3具有1750亿个参数,比起GPT-2的15亿参数,增加了近116倍。参数越多,模型记忆的语言规律就越多,因此GPT-3理解语言的能力更深入,生成的文本也更为流畅自然。其次,数据处理能力方面,GPT-3训练所用的数据更加多元,包括书籍、网页及其他多种文本类型。这让GPT-3能更好适应不同语境和文风,甚至能生成包含特定领域知识的内容。
同时,GPT-3能够捕捉更长距离的语言联系,能够更好的理解上下文,保持文本的连贯性。尽管性能出众,但它需要巨大的计算资源来训练和运行,因而成本相对较高,并且限制了它的普及。
深入理解少量学习
人工智能面临的一项重大挑战是在数据有限的情况下如何迅速学习和适应,这也是“少量学习”(Few-Shot Learning)的研究重点。人类能通过极少的例子迅速掌握新知识,而对于机器而言,传统深度学习方法需要大量数据训练,这使得在数据缺乏时效率低下。
“少量学习”正是为了解决这个问题而提出。它旨在开发能够像人类一样,从非常有限的数据中快速学习的机器学习模型。这种能力特别适用于那些难以收集大量样本的场景,例如罕见疾病的诊断,或是新领域知识的迅速掌握。
在实际操作中,少量学习通常有三种不同的策略:一次学习(One-Shot Learning)、少次学习(Few-Shot Learning)和零次学习(Zero-Shot Learning)。一次学习指的是模型通过观察一个实例后就能执行特定任务。少次学习则意味着模型可以通过几个例子来学习。零次学习更进一步,模型要在完全没有见过具体例子的情况下进行学习和推理。
在少量学习中,重要的是如何设计模型使其能够抓住数据中的关键信息,并将其泛化到新情况。为此,研究者们采用了多种技术,如度量学习(Metric Learning)和模型微调(Model Fine-tuning)。度量学习的目标是让模型学会如何度量和比较不同数据点之间的距离或相似性,而模型微调则是在模型已经训练好的基础上,对其进行轻微的调整以适应新的任务。
在这样的背景下,GPT-3的出现展现了少量学习的一个崭新高度。它的模型规模和训练数据的广度使得它能够在面对全新的任务时,仅需极少的示例就能快速适应并生成符合预期的输出。例如,给予GPT-3几个问答对,它便能够在理解了这一模式后,准确地回答后续的问题。这一能力使得GPT-3在少量学习领域大放异彩,也为未来人工智能的发展方向提供了新的视角。
少量学习的研究对于打造灵活、高效的机器学习模型具有重要的意义,不仅能够缓解对大数据的依赖,还能让人工智能在更多实际场景中发挥作用。GPT-3正是这一研究方向的杰出代表,它通过对巨量数据的训练,获得了快速捕捉并适应新任务的能力,成为了少量学习领域的一个重要里程碑。
GPT-3实现少量学习的秘诀
GPT-3在实施少量学习时,采用了名为“Transformer”的模型架构,该架构内置自注意力机制,可以识别文本中单词之间的关系,有助于模型更准确地理解语言的含义,哪怕是在仅有几个样本的情况下。
面对新任务,GPT-3无需从零开始训练,这与传统的机器学习模型需针对新任务进行大量训练并需要大量标注数据的情况截然不同。GPT-3依靠其庞大的参数和已有的知识库进行所谓的“内在学习”。在具体操作中,只要向GPT-3展示几个样例,它就能利用这些信息处理新的输入。比如,要让GPT-3写一首诗,只需提供几行相关的诗句,它就能理解任务要求,并创作出风格相符的新诗歌。
此外,GPT-3还应用了“元学习”方法,这是一种使机器快速适应多种任务的策略。在训练阶段,GPT-3通过接触多样的文本任务,比如翻译、总结和问答等,学会了如何学习。当遇到全新的任务时,依赖元学习能力,GPT-3能迅速调整自己以适应新的挑战。同时,GPT-3通过无监督学习接触了互联网上的大量文本,不仅学会了语言,还积累了广泛的世界知识。因此,当处理少量数据时,GPT-3能够利用其丰富的知识背景,理解和生成相关内容。
以一个具体的场景为例,假设要求GPT-3基于用户提供的几个电影描述,创作一个新的电影概要。GPT-3会先运用自注意力机制分析这些描述之间的联系,识别它们的共同模式,然后结合现有的电影知识和语言规律,创作出一个新的描述。
通过这些技术和学习机制,GPT-3在处理少量数据时表现出了强大的适应性和创造力。无论是编写代码、写作文章,还是创作诗歌和故事,它都能在仅有极少样本的情况下快速适应任务需求,并输出高质量的成果。这种能力的突破不仅打破了机器学习模型依赖大量数据才能学习的局限,也为人工智能的发展打开了新的可能性。
与传统深度学习方法的差异
为了深入了解GPT-3在少量学习(Few-Shot Learning)领域的强大之处,我们首先要认识传统深度学习的局限。通常,传统方法在处理复杂任务时需要借助大量数据训练模型,这就导致了在数据缺乏的情况下模型效果受限。
以自然语言处理为例,像RNN和LSTM这样的模型,要取得满意效果,就需要海量的训练语料和标注工作。尽管这些模型能够很好地学习语言的细节,但它们长期的训练周期和对大量标注数据的依赖,显著限制了它们的应用范围。
而GPT-3,这个基于Transformer架构的巨型生成预训练语言模型,就显示出了在少量学习方面的优越性。它在大规模数据集上预训练后,可以迅速适应新任务或理解新语言模式,而无需从头开始的训练或复杂调参。
以GPT-3的参数规模来说,它比它的前身GPT-2(参数量为15亿)大了100多倍,达到了惊人的1750亿参数。这使得GPT-3能够储备更丰富的语言知识。比如,只需几个术语提示,GPT-3就能写出高质量的专业文章,这是传统模型无法做到的。
此外,GPT-3在面对新任务时,减少了对数据集的依赖。它能够仅用少量示例,甚至不需要任何示例(zero-shot learning),就能把握并完成新任务。在当今世界,变化无常、数据不足的情况屡见不鲜,GPT-3这样的适应性和灵活性显得极为宝贵。
还有一点重要的差异是,GPT-3能够直接通过理解上下文来泛化不同任务,而不需要对模型进行特殊调整。这与传统模型遇到新任务就需调整结构或增加特定网络层的方式截然不同。GPT-3通过在预训练中掌握一种通用策略,仅通过调整输入就能解决各类问题,这样极大地提升了模型使用的便捷性。
预见未来
在人工智能的领域里,GPT-3的问世是一个划时代的进步。这种进步不仅体现在它目前的应用范围,也预示着未来技术的发展方向。自GPT-3的论文《Language Models are Few-Shot Learners》发布以来,它对未来语言模型和机器学习的发展产生了深刻的影响。
GPT-3的成功加固了预训练大型语言模型的发展趋势。之前,随着BERT、GPT-2等模型的涌现,预训练已成为标准做法。GPT-3的表现不仅验证了预训练模型的有效性,还使这一方法在学术界和产业界获得了广泛认可。我们可以预见,未来将有更多研究聚焦于如何高效地预训练、存储和利用这些庞大的模型。
GPT-3还开辟了少量学习领域的新研究路径。传统的深度学习模型需要大量数据,但在数据稀缺的情况下这一方法显得无力。GPT-3证明了即使数据极为有限,模型也能表现出色,这启发了研究者探索提升模型的学习效率和泛化能力。未来,机器学习可能更注重发展从少量数据中快速学习的模型和算法。
GPT-3的成功也助推了人工智能在实际应用中的普及。GPT-3能处理多种任务,无需为每项任务定制模型,这降低了人工智能技术的门槛。在未来,即使没有机器学习背景的开发者,也能利用GPT-3等模型进行创新和应用,推进AI技术的民主化。
同时,GPT-3的学习能力向人类水平靠拢,它能通过观察少量例子学习新知识和技能,这与人类学习方式相似。这种能力不仅对模拟人类认知具有启发性,也对开发与人类更自然交互的AI系统有重要价值。
此外,GPT-3的论文提示我们,未来研究的一个关键问题是算力的极限。模型规模的增长需要更多算力,这将推动硬件技术发展,并使算法优化成为重要研究方向。同时,可能会出现新的模型架构,这些架构能在有限的算力下达到大型模型的表现,或在现有算力下实现更高效的学习。
最后,GPT-3的出现也引发了对于伦理和社会责任的广泛讨论。它强大的内容生成能力带来了防止生成有害内容、误导信息或假新闻的紧迫问题。因此,如何在确保人工智能积极应用的同时,监管和减少潜在的负面影响,成为了未来研究和政策制定的重要议题。
第四部分:GPT-4
01.GPT-4核心技术有哪些?
1.1理论基础——多模态涌现能力
讲到大语言模型的优势,一般首先要提到这类模型的涌现能力和思维链。这两者是大语言模型不断接近人类的关键特征。我们之所以认为GPT-4会是具有里程碑意义的一代,正是因为多模态的GPT-4会从视觉角度和视觉-文字语义融合方面涌现出更多的能力。2022-2023年,我们可以认为AI是第一次睁开双眼理解这个世界。在大型语言模型(LLM)中,涌现能力(Emergent Abilities)是指模型具有从原始训练数据中自动学习并发现新的、更高层次的特征和模式的能力。就中文释义而言,涌现能力也指大语言模型涌现出来的新能力。这有点类似于去超市遇到买二赠一,赠品的质量居然还出乎意料。与大语言模型(LLM)相比,多模态大语言模型(Multi-modal Large Language Model,MLLM)可实现更好的常识推理性能,跨模态迁移更有利于知识获取,产生更多新的能力,加速了能力的涌现。这些独立模态或跨模态新特征、能力或模式通常不是通过目的明确的编程或训练获得的,而是模型在大量多模态数据中自然而然的学习到的。
▲缩放定律(参数增加后精度损失连续减少)V.S. 涌现能力(1010-1011参数后新能力的涌现)(来源:OpenAI)
在语言模型发展的早期,通过在更多数据上训练更大的模型,可获得近似连续的精确度提升。(可称为缩放定律/Scaling Laws)到了2015年左右,随着深度学习技术的发展和语料库的增大,模型达到一定的临界规模后,NLP开发者们发现,大语言模型(包括GPT-3、GLaM、LaMDA和Megatron-Turing NLG等)开始表现出一些开发者最开始未能预测的、更复杂的能力和特性,这些新能力和新特性被认为是涌现能力的体现。
▲当模型尺寸增加到一定大小后,新能力涌现(来源:Google/Deepmind)
我们在研究GPT-4时,发现GPT-4具备了OpenAI在预训练时和发表的技术报告中并未明确的能力。这些能力都属于涌现出来的能力。涌现能力是基于深度学习模型的分层结构和权重学习机制实现的。涌现出来的能力可以是基于文本的,也可以是多模态的。我们可以将GPT-4这类大模型的训练视为解方程,每一层神经元(可视为变量组合)的输出都作为下一层神经元的输入,并且模型的每个权重(Weight)都通过强化学习算法进行学习和更新。这种分层的结构和权重学习机制使得深度学习模型能够自动的学习到从原始数据中提取隐含的特征和模式,从而实现涌现能力。当大语言模型被训练时,通过学习大量的多模态训练数据,并且根据数据中的统计规律和模式自适应的调整其内部参数和结构,从而表现出一些新的能力和特性。这类似于咱们常说的量变引发质变。涌现能力是大语言模型的重要特性,也是现在火爆的大模型各种能力的理论基础。涌现能力使得GPT-4能够在无需人工干预的情况下,从原始的多模态数据中自动学习到复杂的特征和模式,从而实现更准确和更高效的预测和决策。涌现能力的另一个重要表现是模型的泛化能力。在没有专门训练过的情况,GPT-4也可以泛化到新的、未知的多模态数据样本上。这种泛化能力取决于模型的结构和训练过程,以及数据的数量和多样性。如果模型具有足够的复杂性和泛化能力,就可以从原始数据中发现新的、未知的特征和模式。当然,GPT-4涌现出的新能力可能仍有局限性,例如:模型可能产生错误的回答,对某些问题缺乏理解,容易受到输入干扰等。目前认为GPT-4的幻觉与其涌现能力具有相关性。
1.2核心优势——多模态思维链思维链(Chain of Thought)
可视为大语言模型涌现出来的核心能力之一。之所以现在各类GPT研究火爆,也与模型训练出的思维链可进入实用有密切关系。思维链形成机制可以解释为模型通过学习大量的语言数据来构建一个关于语言结构和意义的内在表示,通过一系列中间自然语言推理步骤来完成最终输出。思维链是ChatGPT和GPT-4能让大众感觉到语言模型“像人”的关键特性。虽然GPT-4这些模型并非具备真正的意识或思考能力,但用类似于人的推理方式的思维链来提示语言模型,极大的提高了GPT-4在推理任务上的表现,打破了精调(Fine-tune)的平坦曲线。具备了多模态思维链能力的GPT-4模型具有一定逻辑分析能力,已经不是传统意义上的词汇概率逼近模型。当然思维链的训练可能并不容易。尽管现在有大量团队进入大语言模型训练领域,但若干年内能找到训练诀窍并完成思维链训练的团队可能不多。对创企来说,完成思维链的训练,才算真正拿到了这波大模型AI竞技的入场券。
▲思维链提示的示例(来源:Google)
通过多模态思维链技术,GPT-4将一个多步骤的问题(例如图表推理)分解为可以单独解决的中间步骤。在解决多步骤推理问题时,模型生成的思维链会模仿人类思维过程。这意味着额外的计算资源被分配给需要更多推理步骤的问题,可以进一步增强GPT-4的表达和推理能力。
▲当模型尺度增加到一定规模,思维链能力出现(来源:Google)
一般认为模型的思维推理能力与模型参数大小有正相关趋势,一般是突破一个临界规模(大概62B,B代表10亿),模型才能通过思维链提示的训练获得相应的能力。如果在6B以下,那很可能还只是GPT-2级别的初级模型。另外也有研究表明,在语言训练集中加入编程语言(例如Python编程代码)可提升模型逻辑推理能力。具有思维链推理能力的GPT-4模型可用于简单数学问题、符号操作和常识推理等任务。
▲多模态思维链框架(来源:微软)
GPT-4的多模态思维链是通过观察大量的多模态数据来学习内在表示,然后利用这个表示来生成连续的语言输出的机制。这个过程是通过模型的训练、内在表示的构建和语言输出的生成三个步骤来实现的。
1.3编程范式——多模态提示工程
多模态大模型(如GPT-4)的提示工程(Prompt Engineering)是指根据特定的目标和语境设计出一系列问题或任务,以便使用大模型生成有关主题或主题领域的连贯和有意义的文本。提示工程的目标是通过精心设计提示以从模型中引出所需的响应,来提高生成文本的质量和相关性。提示工程与思维链的产生密不可分,也是目前自然语言编程的理论基础。
▲语言模型的4种研究范式(来源:卡内基梅隆大学)
大概在2017-2019年间,语言模型的研究重心逐渐从传统特定领域的有监督学习模式(基于非神经网络或神经网络)转移到预训练模型上。在那时,基于预训练语言模型的研究范式通常是“预训练+精调”(Pre-train+Fine-tune),即在精调阶段,根据下游任务对预训练模型进行微调,以获得更好效果。但是由于模型越来越大,以及预训练阶段和下游任务之间的差距可能很大,对各个细分领域Fine-tune的计算资源要求、训练数据需求和时间成本也在快速上涨。大量爆发的下游任务也使得175B这个级别模型预训练和精调变得异常复杂。在这种背景下,随着GPT-3的发布,提示工程成为了预训练模型的新方向。形象的说,提示有点类似于老师在学生回答问题时指点回答方向。
▲提示方法(来源:卡内基梅隆大学)
GPT-4/GPT-3模型中提示的新范式可归纳为“预训练+提示+预测”(Pre-train+Prompt+Predict)。在这一范式中,各种下游任务被调整为类似预训练任务的形式。通过选取合适的提示,使用者可以控制模型预测输出,从而一个完全预训练模型可以被用来解决多样的下游任务。这里举一个填充提示的简单例子。(上图)我们从输入x(比如电影评论)开始,然后输出期望值y。其中一个任务是使用提示函数重新模板化此输入,其输出表示为x'。此时语言模型的任务仅仅是预测z值(句子中的一个词)来代替占位符Z。然后对于Z被答案填充的提示,我们将其称为填充提示。通过这一提示方式,在对应细分场景下,语言模型将原来的问题的期望值y(一句话)简化为答案z(一个词)的计算,明显降低了应答的复杂度。
▲提示工程使得GPT-3模型在训练样本较少时获得了更高精度(来源:OpenAI)
而GPT-4则针对多模态数据集,设计了对应的提示。GPT-4的提示工程涉及几个步骤,包括选择合适的模型架构和参数、设计提示格式和结构、选择合适的任务和训练数据,以及使用选定的提示和数据微调模型。更多GPT-4的提示细节还需等待OpenAI发布。
▲多模态提示示例(来源:微软)
提示工程同时也提高了语言模型“可操纵性”,即模型根据用户要求更改其行为的能力。例如,用户可以命令GPT-4以不同的风格、语气或内容特征来回答。例如“你是一个唠叨的数据专家”或“你是一个言简意赅的数据专家”来开始提示,让模型解释一个数据科学概念。这里“唠叨”和“言简意赅”操纵了模型回答的语言量。
1.4关键技术——人类反馈强化学习
GPT-4/ChatGPT与GPT-3.5的主要区别在于,新加入了被称为RLHF(ReinforcementLearning from Human Feedback,人类反馈强化学习)的技术。这一训练范式增强了人类对模型输出结果意向(Intent)的调节,并且对结果进行了更具理解性的排序。OpenAI在其早期的学术报告中公开表示,与人类偏好保持一致,是许多领域人工智能研究和部署的核心组成部分。OpenAI希望通过RLHF技术,模型能倾向出高质量回答,确保模型输出对人类有益,进而保证模型的安全性。就笔者团队分析来看,RLHF也是保持多轮对话不偏离主题的关键保障。GPT-4/ChatGPT最初引入人类标记员的主要目的是加快训练速度和质量。尽管强化学习技术在很多领域有突出表现,但是仍然存在着许多不足,例如训练收敛速度慢,训练成本高等特点。特别是现实世界中,许多任务的探索成本或数据获取成本很高。如何加快训练效率,是如今强化学习任务待解决的重要问题之一。
▲TAMER架构在强化学习中的应用
这里以TAMER(Training an Agent Manually via Evaluative Reinforcement,评估式强化人工训练代理)框架为例。该框架将人类标记员引入到模型代理(Agents)的学习循环中,可以通过人类向代理提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标。GPT-4的多模态奖励模型(RM)是小号的有监督精调模型(SFT),但在顶部添加了一个新的线性层来预测奖励。奖励模型的输入是原始输入加上SFT模型生成的输出。在具体实现上,人类标记员扮演对话的用户和人工智能助手,提供多模态对话样本,让模型生成一些回复,然后标记者会对回复选项打分排名,将更好的结果反馈回模型中。代理(Agents)同时从两种反馈模式中学习——人类强化和马尔可夫决策过程奖励作为一个整合的系统,通过奖励策略对模型进行微调并持续迭代。
▲奖励模型的过拟合导致模型性能下降(来源:OpenAI)
因为模型仅仅从狭窄分布的训练数据中学习,所以GPT-4中奖励模型只是人类偏好的部分表征(管中窥豹),过度的训练反而可能导致奖励模型过拟合(以偏见代替整体),并导致模型训练效果的下降。另一方面,模型的人类标注员可能也无法代表用户所在地区人群的总体偏好。1.5安全技术——基于规则的奖励模型安全是大模型商用的关键要素,OpenAI也投入了大量资源来提高GPT-4的安全性和一致性。包括引入领域专家进行对抗性测试和红队测试,模型辅助的安全流水线以及安全指标的改进。OpenAI引入的领域安全专家达到了50多人,覆盖AI一致性风险、网络安全、生物风险等领域。与ChatGPT一样,GPT-4也使用了强化学习和人类反馈(RLHF)来微调模型的行为,以产生更符合用户意图的响应。但当给定不安全的输入时,模型可能会生成不良内容,例如提供有关犯罪的建议。另外,模型也可能对安全输入变得过于谨慎,拒绝无害的请求。GPT-4的安全流水线包括两个主要部分:一组额外的安全相关RLHF训练提示,以及基于规则的奖励模型。基于规则的奖励模型(Rule-based Reward Model,RBRM)是一组zero-shot迷你GPT-4分类器,根据预定义的规则为特定动作或事件分配奖励。在这种模型中,奖励是根据事先定义的一组规则确定的,而不是从数据中学习得到的。这些分类器在RLHF微调期间为GPT-4策略模型提供额外的奖励信号,以正确的输出行为为目标进行训练,例如拒绝生成有害内容或不拒绝无害的请求。
▲基于规则的奖励模型(来源:日本国立信息学研究所)
很多早期的NLP模型和软件就是基于规则的(包括各种早期的智能音箱/”人工智障”),但这类模型在泛化场景下表现不佳,只能回答相对固定的问题,并不具备现在的大语言模型的涌现能力。GPT-4中使用RBRM的目的是充分借助其优势,即模型中使用的规则可以简单实用一些,建立成本低于常规奖励模型。例如,在象棋等游戏中,规则可能很简单。在更复杂的情况下,规则可能相对复杂,例如为实现特定目标或达到一定的性能水平授予奖励,但总体来说比构建奖励模型的训练数据集成本更低。规则奖励模型通常用于强化学习,其中代理被训练为采取最大化奖励信号的行动。在这种情况下,规则奖励模型基于代理是否遵循特定规则或实现特定目标,为代理分配奖励。规则奖励模型的优点允许更多地控制学习过程。通过事先指定规则,开发人员可以引导学习过程,使其专注于特定的行为或结果。
▲基于规则的奖励模型在样本较少情况下表现出较好性能(来源:Meta AI)
基于规则的奖励模型的主要特点如下:1、规则的可定义性:根据预先定义的规则来为模型的输出分配奖励。这些规则通常由领域专家或高质量的人类标注员制定,以确保奖励与任务目标和期望行为保持一致。2、规则的可解释性:奖励模型依赖于明确的规则,这些一般具有较高的可读性和可解释性。以方便开发人员解读和调试模型。3、规则的可调整性:通过修改或添加新的规则,可以相对容易地调整奖励函数,以适应不同的任务和环境或更复杂的规则。基于规则的奖励模型也存在一些局限性,包括:1、缺乏场景泛化能力:因为基于规则的奖励模型严重依赖于预先定义的规则,可能在未知或新的情况下泛化能力较弱,这可能导致模型在面对新的情况时出现幻觉现象或无法做出合适的应答。2、规则设计的复杂性:例如对于复杂任务,设计适当的规则有可能非常耗时。此外,如果规则过于复杂或内部自相矛盾,可能导致模型训练不出有效的策略。3、规则的学习效率有下降可能:由于模型需要在给定的规则集合中探索最佳策略,在规则设计不理想的情况下,基于规则的奖励模型可能导致较低的学习效率或过拟合。1.6优化技术——近端策略优化(PPO)算法GPT-4/ChatGPT中的近端策略优化(Proximal Policy Optimization,PPO)算法是一种高效的强化学习优化策略算法,由OpenAI的John Schulman等人于2017年提出。在GPT-4/ChatGPT里的使用应该算是新瓶装旧酒。PPO的前辈TRPO(Trust Region Policy Optimization)相对复杂,并且与包含噪声(例如Dropout)或参数共享(在策略和价值函数之间,或辅助任务)的架构不兼容。PPO算法试图解决上述问题,以及计算复杂性和难以调整的超参数。PPO通过简化优化问题并限制策略更新的幅度,实现了更高效、更稳定的学习过程,具有实现简单、能同时处理离散\连续动作空间问题、可大规模训练等优势。
▲PPO算法与同类其他算法的比较(来源:OpenAI)
PPO算法衍生于早期的策略梯度(Policy Gradient)算法,但通过一些技巧改进了其性能和稳定性,能够处理连续动作空间的问题。PPO在策略更新时限制新策略与旧策略之间的差异,从而确保策略改进的稳定性。这通过在目标函数中引入一个“代理”目标函数来实现,该代理目标函数限制了新策略和旧策略之间的KL散度。PPO算法的核心思想是在每次迭代中,通过一种称为近端策略优化(Proximal Policy Optimization)的方法来更新策略参数,以最大化预期收益。具体来说,PPO算法采用两个神经网络来表示模型的策略:一个执行动作(Actor),另一个处理奖励(Critic)。在每次迭代中,PPO算法会从环境中采样一批经验数据,并使用这些数据来更新策略参数和价值参数。更新的策略将被ε-clip到一个小区域,以防止可能具有不可恢复危害的巨大更新。换句话说,优化的步伐不能太大也不能过小。PPO算法的主要特点如下:1)裁剪的目标函数:PPO通过裁剪策略比率(新策略概率与旧策略概率之比)来限制更新幅度。这种裁剪保证了新策略在旧策略的附近,使得更新更加稳定。2)重要度采样:PPO利用重要度采样来估计策略梯度,从而可以重复使用之前的经验来更新策略。这使得PPO在数据效率上更具优势。3)多次更新:PPO算法在每次收集一批数据后,对策略进行多次更新。这可以提高算法的收敛速度和稳定性。4)简化的优化问题:相比于其他方法,如TRPO,PPO算法将优化问题简化为一阶优化问题,这大大减少了计算复杂性。1.7安全技术——多模态幻觉检测大型语言模型(Large Language Model,LLM)的幻觉(Hallucination)指的是模型生成的输出包含一些与输入不符合的信息,这些信息可能是错误的、无关的或者荒谬的。与人类直觉相反,随着模型变得更加以假乱真,幻觉会变得更加危险。GPT-4等模型的这种幻觉可能会出现在各种类型的任务中,比如文本生成、图文分析和问答系统等。由于大模型(包括GPT-4)本质上可以视为训练集(人类知识/语言)的有损压缩,因此在模型运行时无法完整复现或者应答原始知识,从而模型的幻觉来自于信息压缩的偏差。多模态幻觉的本质是这种有损压缩偏差的体现,也是通过数学逼近人类语言的必然代价。(类似于压缩后的图像边缘出现不正常的条纹)。
▲大语言模型可视为知识/语言的有损压缩
幻觉包括以下几类:1、含义相关性(Semantic Relatedness)的幻觉:模型生成的输出可能包含与输入语境无关或不相关的单词或短语,这些单词或短语通常是通过模型之前接触过的文本来学习的。2、语义扩张(Semantic Expansion)的幻觉:模型生成的输出可能包含与输入语境相关但是过于具体或者过于抽象的内容,这些内容也可能是通过模型之前接触过的文本来学习的。3、结构错误(Structural Errors)的幻觉:模型生成的输出可能不符合正确的语言表达或句子结构,这些错误可能是由于模型在生成时遗漏了某些信息,或者将不相关的信息结合在一起导致的。为了降低幻觉出现的概率,改善模型质量,Meta AI提出一种幻觉内容检测机制。通过检测生成内容中的幻觉令牌/单词,对生成内容的真实度进行评估,以减少模型幻觉出现的概率。从GPT-4的幻觉减少比率来看,猜测类似该技术的方法或已应用在GPT-4中。
▲通过幻觉单词检测器减少幻觉(来源:Meta AI)
幻觉是GPT-4等大型语言模型中一个重要的问题,通过不断的优化模型和改进训练方法,或增加多模态幻觉语义检测器,研究人员可以逐步提高模型的准确性和稳定性,从而更好地满足各种自然语言处理任务的需求。1.8模型信息——关于模型大小目前OpenAI还没有发布GPT-4模型大小和结构的具体信息。GPT-4的技术报告也没有透露这些技术细节,训练数据或训练方法也没有相关信息释放出来。大模型的商业化竞争正愈演愈烈。
▲Bing反馈的GPT-4模型大小
GPT-3是目前最大的知名语言模型之一,包含了1750亿(175B)个参数。在GPT-3发布之前,最大的语言模型是微软的Turing NLG模型,大小为17亿(1.7B)个参数。在GPT-3发布后不久,OpenAI团队就曾表示他们计划在未来几年内研发更大的模型。而随着技术和算法的不断发展,GPT-4模型似乎也应朝着更大的尺寸发展。另外,GPT-4的上下文窗口尺寸也较GPT-3.5和GPT-3增大了不少。2020年发布的GPT-3模型上下文窗口为2049个令牌。在GPT-3.5中,窗口增加到4096个令牌(约3页单行英文文本)。GPT-4有两种尺寸。其中一个(GPT-4-8K)的上下文窗口大小为8192个令牌,另一个(GPT-4-32K)可以处理多达32768个令牌,大约50页文本。有传言说GPT-4模型大概是GPT-3的100倍或1000倍。从训练的角度看,这么大的模型膨胀可能会消耗更多的训练资源和训练周期的过度延长。
▲GPT-4与GPT-3.5的执行速度对比(来源:ARK投资)
根据ARK的分析,GPT-4的执行时间大概是GPT-3.5的3.7倍。由此我们初步估算GPT-4的文本语言部分的大小大约是62B-650B之间。根据目前GPT模型性能的发展趋势,以及多模态技术的加持,预计GPT-4的模型参数大概为62B-1500B之间。
02.GPT-4的原理是什么?
GPT-4这一代,是严格意义上的多模态模型,可以支持图像和文字两类信息的同时输入。之前的ChatGPT多模态感知是实现通用人工智能的必要条件,无论是知识/能力获取还是与现实物理世界的交互。之前的ChatGPT就像AI蒙上双眼在那里盲答,而多模态就是AI一边看一边思考。多模态技术将语言模型的应用拓宽了到更多高价值领域,例如多模态人机交互、文档处理和机器人交互技术。在GPT-4中,多模态输入的图像和文本基于Transformer作为通用接口,图形感知模块与语言模块对接进行进一步计算。通过在多模态语料库上训练模型,包括文本数据、任意交错的图像和文本,以及图像-字幕对,可以使模型获得原生支持多模态任务的能力。下面先介绍GPT家族,然后引申到GPT-4的多模态架构和独特性。
2.2 GPT-4的多模态架构
到了GPT-4,技术内涵产生的飞跃其实超过了ChatGPT。有些人认为GPT-4仅仅是GPT-3.5的升级优化,这其实是一种误解。大部分人可能还未看到GPT-4带来的巨大影响。人类或其他高等生物的认知能力通常与从多种模式中学习有关。例如,苹果这一概念包括从视觉和语言获得的多重语义。包括苹果的颜色、形状、纹理以及吃苹果的声音,苹果在词典或其他网络媒体的相应定义等等。我们大多数人在学习认字的时候,也是先看到苹果的卡片图像,然后再记住对应的文字。与BERT模型类似,GPT-4之前的ChatGPT或GPT-3.5都是根据输入语句,根据语言/语料概率来自动生成回答的每一个字(词语)。从数学或从机器学习的角度来看,语言模型是对词语序列的概率相关性分布的建模,即利用已经说过的语句(语句可以视为数学中的向量)作为输入条件,预测下一个时刻不同语句甚至语言集合出现的概率分布。包括“苹果”在GPT-3.5和之前的GPT中只是单纯的语义符号和概率。GPT-4等模型新出现的多模态输入的能力对语言模型至关重要,使得“苹果”等单纯的符号语义扩展为更多的内涵。第一,多模态感知使语言模型能够获得文本描述之外的常识性知识。第二,感知与语义理解的结合为新型任务提供了可能性,例如机器人交互技术和多媒体文档处理。第三,通过感知统一了接口。图形界面其实是最自然和高效的人机自然交互方式。多模态大语言模型可通过图形方式直接进行信息交互,提升交互效率。多模态模型可以从多种来源和模式中学习知识,并使用模态的交叉关联来完成任务。通过图像或图文知识库学习的信息可用于回答自然语言问题;从文本中学到的信息也可在视觉任务中使用。截至2023年初,多模态大模型正经历将图文信息进行对齐,进行模态认知管理,进一步形成多模态决策或生成。常见的多模态大模型包括:1)图像描述生成或文本生成图像。例如最近知名的CLIP、Stable Diffusion。2)图文问答。例如带有图示的物理题求解或图表分析。3)文本到图像或图像到文本的检索。4)视频流描述。
▲多模态模型的5种典型结构(来源:深圳鹏城实验室)
根据鹏城实验室新发出的论文归纳,目前常见的多模态模型架构主要包括以下几种:1)合并注意力架构(Merge-attention):如上图(a),多个输入模态调整为同一的特征表示,多个模态的特征在自注意力之前被合并,共同进入Transformer。2)共同注意力架构(Co-attention):如上图(b),每个输入模态都具备私有自注意力通道,用于模态独立特征的导入,然后再使用共同的交叉注意力层融合多模态特征。3)交叉注意力架构(Cross-attention):对于多模态任务,将图像与语言分别结合,实现图文信息的相互嵌入与问答。4)三角Transformer架构(Tangled-transformer):使用三组Transformer模块同时处理动作、图形对象和语言特征,通过特定的三角连接关系,注入其他模态的Transformer网络,以不同模态的信息融合。5)模态间对比学习架构(Inter-Modality Contrastive Learning):不同模态的信息被分解,通过矩阵结构建立多模态对比学习关联。目前评估OpenAI采用该种交叉注意力架构的研发GPT-4的代价最小,可以大幅度使用ChatGPT中已经构建的语言模块。从笔者团队的分析看,GPT-4很有可能正是采用这类架构。2.3 GPT-4的独特性GPT-4是最新且最先进的OpenAI多模态大模型。并在多个基准任务上取得了非常好的成绩,包括图像字幕、图文问答、代码生成和法律推理。优秀的图文分析和逻辑推理能力铸就了GPT-4的护城河。
▲GPT-4在大部分任务上优于人类水平平均值(来源:LifeArchitect)
GPT-4能够生成比GPT-3.5或其他语言模型更符合事实的准确陈述,确保更高的可靠性和可信度。GPT-4也可接受图文信息作为输入并生成说明、分类和分析。尽管GPT-4已经投入商业使用,但大多数用户仍需要等待图文能力的正式开放。
03.GPT-4训练技术分析
3.1 GPT-4训练数据集GPT-4的训练数据集是基于GPT-3和GPT-3.5的训练数据集构建的,并在两者基础上增加了多模态数据集。仅当时GPT-3.5的训练数据收集就是由一项艰巨且重要的任务:数据集贡献来自一个由30-50名OpenAI员工组成的团队,并另外从第三方网站雇佣了固定的大约50-100名固定的标注员。到了GPT-4又增加了大量多模态数据。
OpenAI在预训练阶段过滤GPT-4的数据集组合,以专门减少不适当的文本内容的数量。并通过结合内部训练的分类器和基于词典的方法来识别含有不当内容的数据。其中来自GPT-3的预训练数据集包括约570GB(该大小为去重过滤后的,去重过滤前大概45TB)的CommonCrawl数据,大概是410B字节对编码的令牌,以及19B的WebText2数据,合计67B的书籍数据和3B Wiki数据。这些数据被整合为约300B大小的GPT-3预训练数据集。其中Wiki数据质量最高,在训练中平均被重复使用了3.4次。
▲GPT-3.5标注员学历和国籍构成
GPT-3.5的数据集包括SFT数据集、RM数据集和PPO训练数据集。在最关键的SFT训练集中,标注员撰写比例为89.3%,100%由标注员标记。RM模型较小但是训练集数量更多,达到33K。可以看出,无论是GPT-3还是GPT-3.5的训练集中,数据质量的重要性都远超过数据的数量。(互联网大厂或许只剩下资金、应用和渠道优势?)其中训练GPT-3.5 175B SFT模型仅需要算力资源4.9 petaflops/s-days,训练GPT-3.5175B PPO-ptx模型需要60 petaflops/s-days,而预训练GPT-3却需要3640 petaflops/s-days的算力资源,是175B PPO-ptx的60.7倍。极少量的高质量标注数据却显著提升了GPT-3.5的应答能力。这就好比好的教材胜过大量普通书籍。GPT-4的多模态训练数据集由图片和文本共同构成(一般是单幅图片+多行文本)。根据GPT-4的技术报告,可以分析GPT-4的多模态数据集包括图表推理、物理考试、图像理解、论文总结、漫画图文等不同类型。目前GPT-4的多模态应用还处于实验中,并未对公众开放。3.2 GPT-4训练流程分析我们根据GPT-4的技术报告,初步分析其训练流程如下:第一阶段:构建交叉注意力架构预训练模型,收集数据并进行有监督策略精调GPT-4模型是基于GPT-3.5构建的,增加了视觉语言模型组件(在图形Transformer阶段完成的视觉预训练模型)。为了预训练模型在多模态领域进行初步调优,首先会在文本数据集和多模态数据集中抽取问题,由人类标注员,给出高质量答案,然后用这些人工标注好的数据来精调GPT-4初始模型(获得SFT模型,Supervised Fine-Tuning)。此时的SFT模型在遵循指令/对话方面已经优于GPT-3.5,但对多模态的解答不一定符合人类偏好。
▲GPT-4训练过程(基于GPT-4技术报告绘制)
第二阶段:训练奖励模型(RRM)和基于规则的奖励模型(RBRM)这一阶段包括基于规则的奖励模型(Rule-Based Reward Model,RBRM)和奖励模型(Reward Mode,RM)首先基于安全规则设计基于规则的奖励模型并完成验证。这一模型与传统NLP领域的规则模型设计方法一致。然后在数据集中抽取问题,使用第一阶段生成的模型,对于每个问题,生成多个不同的回答。人类标注者对这些结果综合考虑给出排名顺序。(有点像互联网企业的审图师)接下来,使用这个排序结果数据来训练GPT-4的奖励模型。对多个排序结果,两两组合,形成多个训练数据对。RM模型接受一个输入,给出评价回答质量的分数。这样,对于一对训练数据,调节参数使得高质量回答的打分比低质量的打分要高。这一过程类似于教练或老师辅导。
▲PPO算法示意(来源:澳大利亚Monash大学)
第三阶段:采用PPO(Proximal Policy Optimization,近端策略优化)强化学习来优化策略PPO的核心思路在于将Policy Gradient中On-policy的训练过程转化为Off-policy,即将在线学习转化为离线学习,这个转化过程被称之为Importance Sampling。这一阶段利用第二阶段训练好的奖励模型和基于规则的奖励模型,靠奖励打分来更新预训练模型参数。在GPT-4数据集中抽取问题,使用PPO模型生成回答,并用上一阶段训练好的RM+RBRM模型给出质量分数。把回报分数依次传递,由此产生策略梯度,通过强化学习的方式以更新PPO模型参数。如果不断重复第二和第三阶段,通过迭代,会训练出更高质量的GPT-4模型。整个训练的核心在于高质量数据集/Prompt的构建、思维链的训练技术、大算力工程能力、早期训练空间的预测和优选。数据量反而不那么重要,并不是富裕人家的孩子看的电视剧越多,就越能够考上好大学。3.3模型训练参数空间的早期筛选这一部分讲的是降低训练量的技术,或者说是节约大量购买服务器的经费的技术。据论文Scaling Laws for Neural Language Models (2020),可以通过三个要素计算通过交叉熵损失预估GPT-4/GPT-3.5预训练模型性能。这三个要素是模型参数数量、训练期间计算量以及训练数据大小。这三个因素与损失之间存在幂律关系。这意味须将计算量、数据和参数量增加10倍才能将损失减少一个单位,增加100倍才能将损失减少两个单位,依此类推。为了提升GPT模型性能(主要是精度),比较经济的做法是在相对少量的数据上训练较大的模型,并在更多的训练步骤或数据上投入更多的计算,以最大限度地减少精度损失。因此“大型预训练模型+少量高质量标注”成为当前语言模型领域的主流。
对于计算量每增加10倍,该论文大约建议将参数数量增加5倍,将训练令牌的数量增加2倍,将串行训练步骤的数量增加1.2倍。这也可以说明,GPT-3等模型越来越大,是从综合训练成本考虑的。缩放定律不仅影响到模型的设计要素,也影响到基于算力的训练策略。OpenAI开发了针对性的算力基础设施和优化方法,在多个尺度预测GPT-4模型的训练效果,从而能在只使用大概千分之一的算力消耗时提前探索GPT-4训练的解空间,而无需完全遍历所有可能的训练参数设置。换句话说,投资人也可以提前预知自己投的创企大概能训练出多高精度的模型。缩放定律可以量化为公式L(C) = aCb+ c,从而只要在每个参数模型的早期使用小一些的算力就可以拟合该曲线,提前估算在该训练参数集下能达到的模型精度。这一方法大大加速了GPT-4模型训练调优的进程。
▲较小算力模型准确的预测了GPT-4的训练精度(来源:OpenAI)
4 GPT-4的算力基座
由GPT-4/ChatGPT及其下游需求,带动了大量的模型设计与产业应用需求,带动了从服务器集群到大算力芯片的海量计算需求。这一需求业导致了A100 GPU的价格在近几个月内暴涨。那么,在多模态大模型逐渐火热之后,GPU会是唯一的算力选择吗?GPU会不会导致模型企业同质化竞争的加剧?根据IDC预计,到2026年AI推理的负载比例将进一步提升至62.2%,特别是大模型将成为AI开发的新范式。对于GPT-4等大模型设计或应用企业,算力的需求体现在如下三个细分阶段。1)GPT-4预训练与应用微调阶段。这一阶段从无到有建立预训练模型,通过大量通用数据训练和验证预训练模型。(形成模型的“通识”)然后针对具体的商用或应用场景的特定数据,对预训练进行针对性的微调,加强对场景的应答准确度。在这一阶段,一般需要超算级别或数十台服务器来进行一个大模型的训练计算,计算以大量矩阵计算和求解为主。这一阶段的算力可通过上述的缩放定律来进行预测和缩减不必要的训练参数集合所需的算力(非必要参数集分支大概可缩减到千分之一)。2)GPT-4推理与部署阶段。根据场景微调后的大模型,就可部署到实际生产环境中应用。相对训练来说,部署要求的算力较低,但是基数很大。对于大量在线交互来说,部署阶段的服务器/芯片成本要远远超过训练阶段。在这一阶段,每台AI服务器可以部署一个GPT-4模型,集群上会有大量服务器进行并行的网络服务,计算以大量矩阵计算和存储调度为主。同时,在这些场景下,特别是端侧应用场景,也会有硬件性价比和反应延迟的特定要求,目前的GPU就不一定适合。3)GPT-4模型迭代的微调阶段。每使用一段时间,就会根据使用者或者客户反馈,对模型进行调整,以提高客户满意度,特别是提升模型的安全度以确保合规。这个过程就是模型迭代的过程,一般相当于小规模的训练,训练所用的数据规模不大,计算以大量矩阵计算和求解为主。
展望:GPT-4的局限与未来改进方向
GPT-4局限
尽管GPT-4表现出出色的上下文对话能力甚至编程能力,以及能看懂图梗和分析数据图。我们也要看到,GPT-4技术仍然有一些局限性,还在不断的进步。1)GPT-4在其未经大量语料训练的某些领域缺乏“人类常识”和引申能力”。GPT-4在很多领域可以“创造答案”,但当用户寻求正确答案时,GPT-4也有可能给出有误导的回答。大预言模型的安全性问题仍是横亘在其大规模商用上的拉路虎。如果遇到关系重大利益的抉择时,我们是该相信GPT-4的结果还是不相信呢?
▲大语言模型的SWOT分析(来源:互联网)
2)GPT-4需要非常大量的算力(芯片)来支持其训练和部署。抛开需要大量语料数据训练模型不说,在目前,GPT-4在应用时仍然需要大算力的服务器支持,而这些服务器的成本是普通企业在大流量服务时无法承受。对于私有化部署来说,还需等待更轻量型的模型或更高性价比的算力平台。3)GPT-4还没法在线的把新知识纳入其中,而出现一些新知识就去重新预训练GPT模型也是不现实的,无论是训练时间或训练成本,都是普通训练者难以接受的。如果对于新知识采取在线训练的模式,看上去可行且语料成本相对较低,但是很容易由于新数据的引入而导致对原有知识的灾难性遗忘的问题。另一方面,缺乏检查的新的不良知识也可能导致模型本身的安全性问题。特别是GPT-4可能会继承从新数据中学到的偏见和不平等性。如果数据集中存在种族、性别、地理位置等方面的偏见,GPT-4也可能会在生成文本时出现类似的偏见。4)GPT-4仍然是黑盒模型。目前还未能对GPT-4的内在算法逻辑进行分解,因此并不能保证GPT-4不会产生攻击甚至伤害用户的表述。OpenAI提供的文档报告称,GPT-4-launch的错误行为率为0.02%,远低于GPT-3.5的0.07%和GPT-3的0.11%1。这意味着GPT-4-launch生成的文本在10000次完成中只有2次违反OpenAI的内容政策或用户偏好。但即便这2次违反依然可能导致OpenAI受到严重的法律诉讼。5)GPT-4仍存在社会和道德风险。由于GPT-4这类大型语言模型仍然存在根本性的黑盒特征。GPT-4仍然可以生成有偏见的、虚假的和仇恨的文本;仍然可以被黑客攻击(例如Prompt越狱)以绕过它的安全防护墙。尽管OpenAI提出了多项措施来减轻其模型的风险和挑战,但GPT-4仍然可能被滥用于创建假新闻、宣传、垃圾邮件或有害内容,还可能产生可能误导或伤害用户的事实错误或偏见。OpenAI的研究表明,GPT-4可以在许多领域与人类宣传员相媲美。6)GPT-4仍存在幻觉和推理错误。尽管OpenAI声称GPT-4相对于以前的模型可以显着减少幻觉(在其内部评估中得分比GPT-3.5高40%)。GPT-4仍然可能会产生有害的建议(尽管GPT-4更有可能拒绝回答)、错误代码或不准确的信息,因此,GPT-4暂不应该用于错误成本高的区域(比如医学手术?)。7)GPT-4存在泄露隐私可能。GPT-4可从各种内部许可和公开可用的数据源中学习,其中可能包括大量公开有效的个人信息。包括互联网上学习到有重要影响力人物(例如名人和公众人物)的大量隐私信息。GPT-4还可以聚合不同信息,将大量隐含信息关联挖掘出来形成有效的隐私信息。
未来改进方向
5.2.1减少人类反馈的RLAIF2020年底,OpenAI前研究副总裁Dario Amodei带着10名员工创办了一个人工智能公司Anthropic。Anthropic的创始团队成员,大多为OpenAI的早期及核心员工,并在2022年12月,发表论文《Constitutional AI: Harmlessness from AI Feedback》介绍人工智能模型Claude。
Claude和GPT-4都依赖于强化学习(RL)来训练偏好(Preference)模型。CAI(Constitutional AI)也是建立在RLHF的基础之上,不同之处在于,Claude的CAI的排序过程使用模型(而非人类)对所有生成的输出结果提供一个初始排序结果。这种模式的好处是节约了大量人工标注的时间和资源,可以加速大模型的训练进程,并降低成本。CAI用人工智能反馈来代替人类对表达无害性的偏好,即RLAIF,人工智能根据一套法规(Constitution)原则来评价回复内容。
▲CAI与RLHF技术对比(来源:Anthropic)
5.2.2数理能力的增强GPT-4虽然已经具备解物理题的能力,但毕竟不是专门的解题算法,一些复杂的数理问题对话中仍会出现一本正经胡说八道的情况。计算机学家Stephen Wolfram为这一问题提出了解决方案。Stephen Wolfram创造了的Wolfram语言和计算知识搜索引擎Wolfram|Alpha,其后台通过Mathematica实现。
▲ChatGPT与Wolfram|Alpha结合处理梳理问题(来源:Wolfram)
目前Woflframe已经可以通过ChatGPT调用(通过插件),未来也会实现GPT-4的集成。在这一结合体系中,GPT-4可以像人类使用Wolfram|Alpha一样,与Wolfram|Alpha“对话”,Wolfram|Alpha则会用其符号翻译能力将从GPT-4获得的自然语言表达“翻译”为对应的符号化计算语言。在过去,学术界在GPT-4使用的这类“统计方法”和Wolfram|Alpha的“符号方法”上一直存在路线分歧。但如今GPT-4和Wolfram|Alpha的互补,给NLP领域提供了更上一层楼的可能。
▲ChatGPT调用Wolfram(来源:Wolfram)
GPT-4不必生成这样的计算代码,只需生成常规自然语言,然后使用Wolfram|Alpha翻译成精确的Wolfram Language,再由底层的Mathematica进行计算。5.2.3 GPT-4的本地化与小型化虽然GPT-4很强大,但其模型大小和使用成本也让很多人望而却步。有三类模型压缩(model compression)技术可以降低模型的大小和成本。第一种方法是量化(quantization),即降低单个权重的数值表示的精度。比如Transformer从FP32降到INT8对其精度影响不大,但是会显著提升计算效率。笔者团队已研发出INT4量级的Transformer高精度量化算法,无需再次训练或更改模型,即可部署到GPT-4算力平台上,大大提升计算效率并降低成本。第二种模型压缩方法是剪枝(pruning),即删除GPT-4的网络元素,包括从单个权重(非结构化剪枝)到更高粒度的组件如权重矩阵的通道。这种方法在视觉和较小规模的语言模型中有效,也是很多框架(Framework)上自带的功能。第三种模型压缩方法是稀疏化。例如奥地利科学技术研究所(ISTA)提出的SparseGPT可以将GPT系列模型单次剪枝到50%的稀疏性,而无需任何重新训练。当然这种稀疏结构目前还仅仅是基于GPU架构实现的,在其他硬件平台上并不兼容,而且GPT-4的稀疏化是否在综合成本上优于压缩还有待观察。
▲SparseGPT压缩流程(来源:ISTA)