机器之心发布 作者:符尧、彭昊、Tushar Khot、郭志江等 符尧(yao.fu@ed.ac.uk),爱丁堡大学 (University of Edinburgh) 博士生,本科毕业于北京大学。他与彭昊、Tushar Khot在艾伦人工智能研讨院 (Allen Institute for AI) 共同完成英文原稿,与剑桥大学郭志江共同翻译为中文。 感激上海交通大学何俊贤,加州大学洛杉矶分校鲁盼,达特茅斯学院刘睿博对初稿的讨论与倡议。感激 Raj Ammanabrolu (Allen Institute for AI), Peter Liu (Google Brain), Brendan Dolan-Gavitt (New York University), Denny Zhou (Google Brain) 对终稿的讨论和倡议,他们的倡议极大水平上增加了本文的完好度。 最近,OpenAI的预锻炼模型ChatGPT给人工智能范畴的研讨人员留下了深化的印象和启示。毫无疑问,它又强又聪明,且跟它说话很好玩,还会写代码。它在多个方面的才干远远超越了自然言语处置研讨者们的预期。于是我们自然就有一个问题:ChatGPT 是怎样变得这么强的?它的各种强大的才干到底从何而来?在这篇文章中,我们试图剖析 ChatGPT 的突现才干[1](Emergent Ability),追溯这些才干的来源,希望能够给出一个全面的技术道路图,来阐明 GPT-3.5[2] 模型系列以及相关的大型言语模型[3] 是如何一步步进化成目前的强大形态。 我们希望这篇文章能够促进大型言语模型的透明度,成为开源社区共同努力复现 GPT-3.5 的道路图。 致国内的同胞们:
目录 多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个悠远的下午。 —— 《百年孤独》 加西亚·马尔克斯 一、2020 版初代 GPT-3 与大范围预锻炼初代GPT-3展示了三个重要才干:
那么这些才干从何而来呢? 基本上,以上三种才干都来自于大范围预锻炼:在有3000亿单词的语料上预锻炼具有1750亿参数的模型( 锻炼语料的60%来自于 2016 - 2019 的 C4 + 22% 来自于 WebText2 + 16% 来自于Books + 3%来自于Wikipedia)。其中:
令人猎奇的是,初代的GPT-3有多强。 其实比较难肯定初代 GPT-3(在 OpenAI API 中被称为davinci)到底是“强”还是“弱”。一方面,它合理地回应了某些特定的查询,并在许多数据集中抵达了还不错的性能;另一方面,它在许多任务上的表示还不如 T5 这样的小模型(参见其原始论文)。在今天(2022 年 12 月)ChatGPT 的规范下,很难说初代的 GPT-3 是“智能的”。Meta 开源的 OPT 模型试图复现初代 GPT-3,但它的才干与当今的规范也构成了尖利的对比。许多测试过 OPT 的人也以为与往常的text-davinci-002相比,该模型的确 “不咋地”。固然如此,OPT 可能是初代 GPT-3 的一个足够好的开源的近似模型了(依据 OPT 论文和斯坦福大学的 HELM 评价)。 固然初代的 GPT-3 可能名义上看起来很弱,但后来的实考证明,初代 GPT-3 有着十分强的潜力。这些潜力后来被代码锻炼、指令微调 (instruction tuning) 和基于人类反响的强化学习 (reinforcement learning with human feedback, RLHF) 解锁,最终体展示出极为强大的突现才干。 二、从 2020 版 GPT-3 到 2022 版 ChatGPT从最初的 GPT-3 开端,为了展示 OpenAI 是如何展开到ChatGPT的,我们看一下 GPT-3.5 的进化树: 在 2020 年 7 月,OpenAI 发布了模型索引为的 davinci 的初代 GPT-3 论文[6] ,从此它就开端不时进化。在 2021 年 7 月,Codex 的论文[7] 发布,其中初始的 Codex 是依据(可能是内部的)120 亿参数的 GPT-3 变体中止微调的。后来这个 120 亿参数的模型演化成 OpenAI API 中的 code-cushman-001。在 2022 年 3 月,OpenAI 发布了指令微调[8] (instruction tuning) 的论文,其监视微调[9] (supervised instruction tuning) 的部分对应了davinci-instruct-beta和text-davinci-001。在 2022 年 4 月至 7 月的,OpenAI 开端对code-davinci-002模型中止 Beta 测试,也称其为 Codex。然后code-davinci-002、text-davinci-003和ChatGPT 都是从code-davinci-002中止指令微调得到的。细致信息请参阅 OpenAI的模型索引文档[10] 。 固然 Codex 听着像是一个固然代码的模型,但code-davinci-002可能是最强大[11] 的针对自然言语的GPT-3.5 变体(优于 text-davinci-002和 -003)。code-davinci-002很可能在文本和代码上都经过锻炼,然后依据指令中止调整(将在下面解释)。然后2022 年 5-6 月发布的text-davinci-002是一个基于code-davinci-002的有监视指令微调 (supervised instruction tuned) 模型。在text-davinci-002上面中止指令微调很可能降低了模型的上下文学习才干,但是增强了模型的零样本才干(将在下面解释)。然后是text-davinci-003和 ChatGPT,它们都在 2022 年 11 月发布,是运用的基于人类反响的强化学习的版本指令微调 (instruction tuning with reinforcement learning from human feedback) 模型的两种不同变体。text-davinci-003 恢复了(但依旧比code-davinci-002差)一些在text-davinci-002 中丧失的部分上下文学习能力(大约是由于它在微调的时分混入了言语建模) 并进一步改进了零样本才干(得益于RLHF)。另一方面,ChatGPT 似乎牺牲了简直一切的上下文学习的才干来换取建模对话历史的才干。 总的来说,在 2020 - 2021 年期间,在code-davinci-002之前,OpenAI 曾经投入了大量的肉体经过代码锻炼和指令微调来增强GPT-3。当他们完成code-davinci-002时,一切的才干都曾经存在了。很可能后续的指令微调,无论是经过有监视的版本还是强化学习的版本,都会做以下事情(稍后会细致阐明):
三、Code-Davinci-002和 Text-Davinci-002,在代码上锻炼,在指令上微调在code-davinci-002和text-davinci-002之前,有两个中间模型,分别是 davinci-instruct-beta 和 text-davinci-001。两者在很多方面都比上述的两个-002模型差(例如,text-davinci-001 链式思想推理[14] 才干不强)。所以我们在本节中重点引见 -002 型号。 3.1 复杂推理才干的来源和泛化到新任务的才干 我们关注code-davinci-002和text-davinci-002,这两兄弟是第一版的 GPT3.5 模型,一个用于代码,另一个用于文本。它们表示出了三种重要才干与初代 GPT-3 不同的才干:
这些才干从何而来? 与之前的模型相比,两个主要区别是指令微调和代码锻炼。细致来说
另外还要留意一些细节差别:
3.2 这些才干是在预锻炼之后曾经存在还是在之后经过微调注入? 在这个阶段,我们曾经肯定了指令微调和代码锻炼的关键作用。一个重要的问题是如何进一步剖析代码锻炼和指令微调的影响?细致来说:上述三种才干能否曾经存在于初代的GPT-3中,只是经过指令和代码锻炼触发 / 解锁?或者这些才干在初代的 GPT-3 中并不存在,是经过指令和代码锻炼注入? 假如答案曾经在初代的 GPT-3 中,那么这些才干也应该在 OPT 中。因而,要复现这些才干,或答应以直接经过指令和代码调整 OPT。 但是,code-davinci-002 也可能不是基于最初的 GPT-3 davinci,而是基于比初代 GPT-3 更大的模型。假如是这种状况,可能就没措施经过调整 OPT 来复现了。研讨社区需求进一步弄分明 OpenAI 锻炼了什么样的模型作为 code-davinci-002 的基础模型。 我们有以下的假定和证据:
四、text-davinci-003 和 ChatGPT,基于人类反响的强化学习(Reinforcement Learning from Human Feedback, RLHF) 的能力在当前阶段(2022 年 12 月), text-davinci-002、text-davinci-003 和 ChatGPT之间简直没有严厉的统计上的比较,主要是由于
所以在这些模型之间的比较更多是基于研讨社区的集体阅历 (统计上不是很严厉)。不外,我们置信初步的描画性比较依旧能够提示模型的机制。 我们首先留意到以下 text-davinci-002,text-davinci-003 和 ChatGPT 之间的比较:
这意味着大多数新模型的行为都是 RLHF 的产物。 那么让我们看看 RLHF 触发的才干:
有两件事情值得留意:
幕后发作的事情可能是:
五、总结当前阶段 GPT-3.5 的进化进程到目前为止,我们曾经认真检查了沿着进化树呈现的一切才干,下表总结了演化途径: 表格中援用见[33] 我们能够得出结论:
六、GPT-3.5 目前不能做什么固然GPT-3.5是自然言语处置研讨中的重要一步,但它并没有完整包含许多研讨人员(包含 AI2)想象的一切理想属性。以下是GPT-3.5不具备的某些重要属性:
七、结论在这篇博文中,我们认真检查了GPT-3.5系列的才干范围,并追溯了它们一切突现才干的来源。初代GPT-3模型经过预锻炼取得生成才干、世界学问和in-context learning。然后经过instruction tuning的模型分支取得了遵照指令和能泛化到没有见过的任务的才干。经过代码锻炼的分支模型则取得了代码了解的才干,作为代码锻炼的副产品,模型同时潜在地取得了复杂推理的才干。分离这两个分支,code-davinci-002似乎是具有一切强大才干的最强GPT-3.5模型。接下来经过有监视的instruction tuning和 RLHF经过牺牲模型才干换取与人类对齐,即对齐税。RLHF 使模型能够生成更翔实和公正的答案,同时拒绝其学问范围之外的问题。 我们希望这篇文章能够辅佐提供一个明晰的GPT评价图,并引发一些关于言语模型、instruction tuning和code tuning的讨论。最重要的是, 我们希望这篇文章能够作为在开源社区内复现GPT-3.5的道路图。 “由于山就在那里。”——乔治·马洛里,珠穆朗玛峰探险先驱 常见问题
附录 - 中英术语对照表 注释: [1] 很多才干小模型没有,只需当模型大到一定的量级之后才会呈现。这样的才干称为突现才干 Emergent Abilities [2] GPT-3 是 OpenAI 在 2020 年发布的模型,之后它经过了多次版本迭代。往常最新的版本的才干曾经远超初代的 GPT-3,被命名为 GPT-3.5 [3] 从 2022 年的规范看来,参数量超越 100B 才叫大模型,所以 BERT/ BART/ GPT-2/ T5 都是小模型 [4] https://crfm.stanford.edu/helm/v1.0/?group=knowledge [5] Xie et. al. 2021. An Explanation of In-context Learning as Implicit Bayesian Inference Min et. al. 2022. Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 一个很有趣的但是还在审稿中的工作: https://arxiv.org/abs/2211.15661 [6] Brown. et. al. 2020. Language Models are Few-Shot Learners [7] Chen et. al. 2021. Evaluating Large Language Models Trained on Code [8] Ouyang et. al. 2022. Training language models to follow instructions with human feedback [9] Instruction tuning 有两个版本,一个是 supervised tuning,另一个是 reinforcement learning from human feedback (RLHF). ChatGPT 就是经过 RLHF 得来的 [10] https://beta.openai.com/docs/model-index-for-researchers [11] Suzgun et. al. 2022. Challenging BIG-Bench tasks and whether chain-of-thought can solve them Chung et. al. 2022. Scaling Instruction-Finetuned Language Models Fu et. al. 2022. Complexity-based Prompting for Multi-Step Reasoning Madaan et. al. 2022. Language Models of Code are Few-Shot Commonsense Learners [12] Ouyang et. al. 2022. Training language models to follow instructions with human feedback [13] Suzgun et. al. 2022. Challenging BIG-Bench tasks and whether chain-of-thought can solve them Chung et. al. 2022. Scaling Instruction-Finetuned Language Models Fu et. al. 2022. Complexity-based Prompting for Multi-Step Reasoning Madaan et. al. 2022. Language Models of Code are Few-Shot Commonsense Learners [14] 参见附录中的图8 https://arxiv.org/pdf/2201.11903v1.pdf [15] https://yaofu.notion.site/A-Closer-Look-at-Large-Language-Models-Emergent-Abilities-493876b55df5479d80686f68a1abd72f [16] Sanh. et. al. Oct 2021. Multitask Prompted Training Enables Zero-Shot Task Generalization [17] Wei et. al. Sep 2021. Finetuned Language Models Are Zero-Shot Learners [18] Chung et. al. Oct 2022. Scaling Instruction-Finetuned Language Models [19] 第一个版本(https://arxiv.org/pdf/2201.11903v1.pdf) 讲演了davinci在GSM8K上的精确率 12.4 v.s. 第五个版本 (https://arxiv.org/pdf/2201.11903v5.pdf) 讲演了 code-davinci-002 精确率为 63.1 [20] Chowdhery et. al. Apr. 2022. PaLM: Scaling Language Modeling with Pathways [21] Chen et. al. Jul 2021. Evaluating Large Language Models Trained on Code [22] Brown. et. al. May 2020. Language Models are Few-Shot Learners [23] Liang et. al. Nov 2022. Holistic Evaluation of Language Models [24] Fu et. al. Oct 2022. Complexity-based Prompting for Multi-Step Reasoning. https://openreview.net/forum?id=yf1icZHC-l9 [25] https://twitter.com/peterjliu/status/1603098202856722432?s=46&t=Gw2wumo4l8kIRaGzXDXyRw [26] https://beta.openai.com/docs/model-index-for-researchers [27] Press et. al. 2022. Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation [28] Ouyang et. al. 2022. Training language models to follow instructions with human feedback [29] https://help.openai.com/en/articles/6779149-how-do-text-davinci-002-and-text-davinci-003-differ [30] 见https://arxiv.org/pdf/2210.11416.pdf的附录D [31] https://help.openai.com/en/articles/6779149-how-do-text-davinci-002-and-text-davinci-003-differ https://scale.com/blog/gpt-3-davinci-003-comparison [32] https://arxiv.org/abs/2203.02155 [33] Brown et. al. May 2020. Language Models are Few-Shot Learners. Zhang et. al. 2022. OPT: Open Pre-trained Transformer Language Models Sanh. et. al. Oct 2021. Multitask Prompted Training Enables Zero-Shot Task Generalization Ouyang et. al. Mar 2022. Training language models to follow instructions with human feedback Wei. et. al. Sep 2021. Finetuned Language Models Are Zero-Shot Learners Chung. et. al. Oct 2022. Scaling Instruction-Finetuned Language Models https://github.com/salesforce/CodeGen Chen et. al. Jul 2021. Evaluating Large Language Models Trained on Code https://www.deepmind.com/blog/building-safer-dialogue-agents Stiennon et. al. Sep. 2020. Learning to summarize from human feedback https://github.com/allenai/RL4LMs [34] https://www.reddit.com/r/ChatGPT/comments/zd7l8t/nice/ [35] https://openai.com/blog/webgpt/ |