溯源 GPT 发展:2022 年 ChatGPT 面世,LLM 里程碑式胜利梳理 GPT 系列模型的演进过程,可以看到 2022 年是 GPT 系列模型围绕 GPT-3、GPT-3.5 加速版本迭代的重要节点,2022 年 11 月,ChatGPT 成功面世,成为历史上用户增长最快的消费者应用。与 Google、FaceBook等公司不同,OpenAI 从初代模型 GPT-1 开始,始终贯彻只有解码器(Decoder-only)的技术路径,2018-2022 年 GPT 系列模型几乎按照每年一代的速度,不断迭代升级。本文认为,2022 年 ChatGPT 的成功,是 OpenAI公司 GPT 系列模型的阶段性胜利,也是大语言模型 LLM 的里程碑式胜利,后续围绕 LLM 的技术升级、应用拓展有望加速开启,AI 产业发展或将提速。ChatGPT :引入人类反馈,模型训练 SFT 、RM 、PPO 三步走ChatGPT、InstructGPT 分别是基于 GPT-3.5、GPT-3 微调得到的新版本模型,其核心目标是实现模型输出与人类预期的需求对齐(alignment),人类反馈强化学习 RLHF 成为模型需求对齐的重要技术支持。ChatGPT、InstructGPT 的模型训练主要包括三步:ChatGPT VS InstructGPT :核心是基础大模型的不同对比 ChatGPT 与 InstructGPT 的训练方法,可以发现,两者的训练方法基本一致,核心区别在于 InstructGPT、ChatGPT 分别基于 GPT-3、GPT-3.5进行模型微调。与 GPT-3 相比,GPT-3.5 增加了代码训练与指示微调:作为基于 GPT-3.5 的模型微调产物,ChatGPT 具备更好的问答能力,更加遵循人类的价值观。OpenAI VS Google :OpenAI 贯彻 Decoder-only 路径,技术集大成者通过梳理 Google 与 OpenAI 在 LLM 领域的布局,可以看到,OpenAI 具备两大突出特点:GPT 发展之 2022 :ChatGPT 成功面世,LLM 里程碑式胜利2022 年是 OpenAI 公司 GPT 系列模型演进的重要节点。2022 年 11 月,OpenAI 发布生成式对话机器人 ChatGPT,上线仅 2 个月,月活用户数已突破 1 亿,成为历史上用户增长最快的消费者应用。回顾大语言模型(Large Language Model,LLM)的发展历史,可以发现,与 Google、FaceBook 等公司不同,OpenAI 从 GPT-1 开始始终贯彻 Decoder-only 的技术路径,2018-2022 年 GPT 系列模型几乎按照每年一代的速度,不断升级迭代。我们认为,2022 年 ChatGPT 的成功面世,是 LLM 里程碑式的胜利,未来围绕 LLM 的技术升级、应用拓展有望加速开启。2022 年 OpenAI 加速 GPT 模型的版本迭代,ChatGPT 融合多技术优势。通过梳理 GPT系列模型的演进过程,可以看到 2022 年是 GPT 系列模型围绕 GPT-3、GPT-3.5 加速版本迭代的年份;2022 年 3 月,基于 GPT-3 微调的 InstructGPT 发布,验证了人类反馈强化学习RLHF对模型输出对齐(alignment)的重要作用;2022年4-6月,基于Codex、InstructGPT,OpenAI 加速迭代形成 GPT-3.5 模型;2022 年 11 月,基于 GPT-3.5 微调的 ChatGPT 发布,成为 Instruction-tuning、RLHF、思维链等 LLM 相关技术的集大成者。我们认为,ChatGPT是 OpenAI 基于 GPT 系列模型的阶段性成果,未来随底层大模型的持续拓展,AI 产业发展或将提速。2017-2022 年基于 Transformer 的 LLM 梳理及 2022 年 GPT 模型的版本迭代
ChatGPT / InstructGPT:增加人类反馈强化学习(RLHF)优化目标:从提示学习到指示学习,聚焦需求对齐(alignment)从模型微调到提示学习再到指示学习,GPT 模型零次学习能力不断提升。2022 年论文《Finetuned Language Models Are Zero-Shot Learners》提出指示学习(Instruction-tuning)思想,以提升模型的零次学习能力。对比来看:- 模型微调(Fine-tuning):以 GPT-1为代表,需要大量的微调数据集样本,特定模型解决特定任务;
- 提示学习(Prompt-learning):以 GPT-3 为代表,需要少量的微调数据样本,模型小样本学习(few-shot Learning)能力更强;
- 指示学习(Instruction-learning):以FLAN、InstructGPT、ChatGPT 为代表,模型通过下游多类型任务的指示微调,零次学习(zero-shot Learning)能力更强;同时,提示学习与指示学习均为一个模型解决多类任务。
模型微调(Fine-tuning)、提示学习(Prompt-learning)、指示学习(Instruction-tuning)
聚焦模型输出与人类需求对齐,引入人类反馈强化学习。GPT 系列模型发展至 GPT-3,已经在翻译、问答、摘要等任务上取得了良好的性能,研究者开始更加关注模型生成内容的有用性(Helpful)、真实性(Honest)、无害性(Harmless),希望实现模型输出内容与人类偏好内容的需求对齐(alignment)。为提升模型的“3H”特性,从 InstructGPT 开始,InstructGPT、ChatGPT 均引入人类反馈强化学习(Reinforcement Learning from HumanFeedback,RLHF),实现基于人类反馈的模型微调,让模型输出更符合人类期待。
人类反馈可作为强化学习的奖励, 通过引入语言模型微调,可使模型输出与人类需求对齐。从技术原理来看,强化学习通过奖励(Reward)机制来指导模型训练,奖励机制可视为传统训练机制的损失函数;同时,奖励的计算要比损失函数更灵活、多样(例如 AlphaGO 的奖励是对局的胜负),代价是奖励计算不可导,不能直接用来做反向传播;强化学习的思路是通过对奖励的大量采样来拟合损失函数,从而实现模型的训练。类似的,人类反馈也不可导,也可以作为强化学习的奖励,从而产生基于人类反馈的强化学习。
人类反馈强化学习(RLHF)基本原理
ChatGPT 与 nstructGPT 的训练方法基本一致。了解 ChatGPT 与 InstructGPT 的优化目标之后,我们需要进一步梳理模型的具体训练过程。对比论文《Training language models to follow instructions with human feedback》(2022)中的 InstructGPT 训练方法与 OpenAI 官方发布的ChatGPT训练方法,ChatGPT与InstructGPT的训练方法基本一致,区别在于InstructGPT、ChatGPT分别基于GPT-3、GPT-3.5进行模型微调。考虑到ChatGPT 尚未有官方论文发布,本文以 InstructGPT 论文为基准,对 InstructGPT 的训练过程进行了详细梳理,具体可分为有监督微调、奖励模型训练、PPO 强化学习三个步骤。
ChatGPT 与 InstructGPT 的训练方法基本一致
对使用人工标注数据对 GPT-3 进行有监督 微调(Supervised fine-tuning ,SFT )训练 。由于 GPT-3 是基于提示学习的生成模型,因此 SFT 模型的数据集也是由提示-答复对组成的样本。为实现模型从提示学习向指示学习跨越,OpenAI 采用人工编写多类别提示的方法,对 GPT-3 模型进行有监督微调。首先,OpenAI 委托标注员(40 人标注团队)人工设计了包含三类内容(简单任务、few-shot 任务、基于用户需求的任务)的提示样本 prompt dataset;其次,委托标注团队对 prompt dataset 进行标注(本质上是人工回答问题),由此构成提示-答复对数据集;最后,用标注过的数据集微调 GPT-3,得到 SFT 模型。
有监督微调(SFT)训练过程示意图
SFT 数据集数据量较小,数据质量、多样性更加重要。根据 InstructGPT 论文中提供的数据显示,SFT 数据集一部分来自使用 OpenAI 的 PlayGround 的 API 用户,另一部分来自OpenAI 雇佣的 40 名标注员(labeler),其中训练数据大小仅约为 13K(来自标注员的数据约为 11.3K、来自 API 用户的数据约为 1.4K)。考虑到 InstructGPT 是在 GPT-3 的基础上进行模型微调,GPT-3 已经具备较好的文本生成能力,SFT 数据集的质量、多样性对于提升模型性能来说更为重要。
有监督微调(SFT)数据集来源及大小
以 InstructGPT 论文披露的奖励模型 RM 数据集为例(未披露 SFT 数据集任务分类占比),RM 数据集包括文本生成、开放式问答、头脑风暴、对话、改写、摘要、分类等 10 类任务,任务类型多样且占比不同;以 RM 数据集为推测依据,SFT 数据集作为初始种子数据集,为提升模型的泛化能力,通常具备更好的数据多样性;
奖励模型(RM)数据集分类占比
作为初始的种子数据集,SFT 数据集大部分数据来自标注团队,而非 API数据采样,因此 SFT 数据集具有更好的数据质量;同时 OpenAI 在标注团队的人员组成上,充分考虑了性别、身份、国籍、年龄、学历等因素的差异性。
步骤二:奖励模型(Reward Model,RM)训练这一阶段的主要目标,在于借助标注员的人工反馈,训练出更符合人类意愿的奖励模型,为监督策略建立评价标准。训练奖励模型的过程同样可以分为三步:
奖励模型(RM)训练过程示意图
为了更加清晰地理解此轮步骤中排序和训练,我们针对 InstructGPT 论文介绍的方法,进行了更为通俗的解释。针对一个Prompt 任务,SFT 模型输出 k 个结果,排序过程即对这 k 个结果进行两两对比,并根据结果的好坏进行排序;为了让 RM 更好地学习人类偏好,可先通过𝐶 𝑘2 组分别计算 loss 损失函数值,再将𝐶 𝑘2 组结果求和取均值,损失函数的目标是最大化更喜欢的结果和更不喜欢的结果之间的差值;通过 loss 函数的梯度回传,RM 模型逐渐学会给更喜欢的结果打高分,给更不喜欢的结果打低分,从而实现了人类偏好的模仿。
Loss 损失函数拆解
通过训练好的 RM 模型和化近端策略优化 PPO 算法优化 SFT 模型策略。近端策略优化(Proximal Policy Optimization,PPO)是一种强化学习算法,核心思路在于将 PolicyGradient 中 On-policy 的训练过程转化为 Off-policy,即将在线学习转化为离线学习。具体来说,就是再次让 SFT 模型去回答 prompt dataset 某个问题,通过 PPO 算法产生输出;然后,不再借助人工评估结果好坏,而是利用步骤二训练的 RM 模型去对 SFT 模型的预测结果进行打分排序,即用“AI 训练 AI”。此阶段可以循环多次,从而得到参数质量更好的模型。
总结来看,InstructGPT 以及 ChatGPT 的训练过程可概括为:首先通过人工标注数据 prompt dataset 对原始模型 V0(GPT-3 或 GPT-3.5)进行有监督微调,得到模型 V1;其次,让模型 V1 对一个 prompt 进行多个输出,并通过人工进行输出结果排序并训练奖励模型 RM;最后,继续训练模型 V1,给定一个 prompt,得到输出后由奖励模型 RM 继续完成打分,反复迭代后得到最终的 InstructGPT 或 ChatGPT。人类标注员参与 SFT 训练与 RM 训练两个过程,其中人类反馈主要体现在 RM 阶段。
人工主要参与 SFT 、RM ,人类反馈主要体现在 RM 阶段
论文结论:RLHF 是 GPT 需求对齐的重要支撑RLHF 有效优化了模型输出,输出结果更加符合人类意愿。InstructGPT 论文中分别训练了13 亿、60 亿、1750 亿三个参数规模的 InstructGPT 模型,实验证明:13 亿参数规模的InstructGPT 模型(PPO-pt)于在多场景下的输出效果均优于 1750 亿参数规模 GPT-3 模型。人类反馈强化学习 RLHF 方法的引入,一方面能够尽可能地对齐(Alignment)GPT 的输出,让 GPT 具备对用户更加友好的语言逻辑,微调出用户友好型 GPT;另一方面,人工反馈的引入,帮助模型更好的理解人类思维和意图,训练结果更符合人类的需求。
InstructGPT 更好地实现了模型输出与人类需求对齐
模型的“3H”特性显著提升,输出内容更有用、更真实、更无害。为了衡量 InstructGPT 模型的有用性(Helpful)、真实性(Honest)、无害性(Harmless)是否得到改善,InstructGPT论文在公开可用的数据集上使用现有指标,对比了 InstructGPT 与 GPT-3 的模型性能。与GPT-3 相比,根据 TruthfulQA 指标,InstructGPT 产生的模仿性错误更少;根据RealToxicity 指标,InstructGPT 输出的毒性更小;根据 API 提示分布进行人工评估,发现InstructGPT 更少地编造事实(“幻觉”),并生成更合适的输出。总结来看,InstructGPT模型输出内容的有用性、真实性、无害性均得到一定程度的提升。
InstructGPT 模型的有用性、真实性、无害性显著提升
ChatGPT VS InstructGPT :核心是基础大模型的不同演化:从 GPT-3 到 GPT-3.5,基础大模型能力再升级对比 OpenAI 官网介绍的 ChatGPT 训练方法与 InstructGPT 论文介绍的 InstructGPT 训练方法,两者的训练方法基本一致,核心区别在于 InstructGPT、ChatGPT 分别基于 GPT-3、GPT-3.5 进行模型微调。为了充分理解 ChatGPT 与 InstructGPT 的能力差异,我们梳理了从 GPT-3 到 GPT-3.5 发展过程。GPT-3 元年(2020):2020 年 7 月,OpenAI 发表论文《Language Models are Few-ShotLearners》,开启 GPT-3 元年;与 GPT-2 相比,GPT-3 进一步扩大模型参数与训练数据量,并用 few-shot 取代 zero-shot,模型泛化能力得到进一步提升;GPT-3 系列(2021.08-2022.03):2021 年 8 月,论文《Evaluating Large Language ModelsTrained on Code》发表,基于 GPT-3 进行代码训练微调,得到 Codex 通用代码生成模型,对应 OpenAI API 中的 code-cushman-001;2022 年 3 月,论文《Training language modelsto follow instructions with human feedback》发表,基于 GPT-3 模型,经过 SFT 训练+RM训练+PPO 强化学习,得到 InstructGPT 模型,其中 SFT 部分对应了 OpenAI API 中的davinci-instruct-beta、text-davinci-001;GPT-3.5 系列(2022.04-2022.6):2022 年 4 月,兼具语言模型、代码训练、指示微调的 code-davinci-002 模型面世,仍称其为 Codex,对应 OpenAI API 中的 code-davinci-002;2022 年 5-6 月,基于 code-davinci-002 的有监督指令微调 (supervised instruction tuned)模型 text-davinci-002 发布,此次指令微调降低了模型的上下文学习能力,但增强了模型的零次学习能力;ChatGPT 时代(2022.11):2022 年 11 月,基于 text-davinci-002 进行 RLHF 指令微调的两种变体模型出现,分别为 text-davinci-003、ChatGPT;其中 text-davinci-003 恢复了text-davinci-002 中丢失的部分上下文学习能力,同时得益于 RLHF 进一步改进了零次学习能力;ChatGPT 则具备了建模对话历史的能力。
对比:增加代码训练与指示微调,GPT-3.5 具备三大优势与GPT-3相比,GPT-3.5 增加代码训练(Code-training)与指示微调(Instruction-tuning)。根据上文对 GPT-3 及 GPT-3.5 系列模型的发展梳理,不难看出以 code-davinci-002(用于代码生成)、text-davinci-002(用于文本生成)为代表的 GPT-3.5 模型,与 GPT-3 模型相比增加了代码训练、指示微调两个训练步骤。
与 GPT-3 相比,GPT-3.5 增加代码训练与指示微调GPT-3.5 具备三大优势,ChatGPT 实现优势融合。基于模型训练的持续优化,与 GPT-3相比,GPT-3.5 具备三大优势:更强的复杂推理能力,更好的人类指令响应,更全面的文本、代码生成能力。作为基于 GPT-3.5 的模型微调产物,ChatGPT 实现了 Code-training、Instruction-tuning、RLHF 等训练的优势整合,我们针对 ChatGPT 优势进行能力溯源:预训练大模型:ChatGPT 具备的语言生成能力、基础世界知识、上下文学习能力等基本能力均来源于基于 Transformer 的模型预训练;大量知识的存储能力依托于庞大的模型参数(GPT-3 模型参数为 1750 亿);
代码训练:ChatGPT 具备较好的代码生成与代码理解能力,同时具备执行复杂推理的能力,主要得益于代码训练 Code-training 的引入;初代 GPT-3 未进行过专门的代码训练,因此在代码生成、理解方面能力相对较差,同时推理(思维链)能力也较差;因此可以判断,代码训练是 ChatGPT 上述能力的重要来源;
- 人类反馈强化学习:ChatGPT 具备更好的问答能力,同时可以拒绝不当的问题、拒绝知识范围之外的问题,这些在对话问答上的突出表现,得益于人类反馈强化学习 RLHF 的训练,让 ChatGPT 更加遵循人类的价值观,同时拥有了建模对话历史、增加对话信息量等能力。
OpenAI VS Google :OpenAI 贯彻 Decoder-only 路径,技术集大成者ChatGPT 领先发布,OpenAI 打开大语言模型新局面。2022 年 11 月 30 日,ChatGPT 正式上线,仅花费 5 天时间用户数超 100 万,据 Similarweb 数据显示,2023 年 1 月,ChatGPT平均每天约有 1300 万独立访客。面对 ChatGPT 的领先发布与热烈反响,2022 年 2 月 8日,Google 在发布会上开启对话机器人 Bard 首秀,相较于 ChatGPT 的突出表现,Bard的表现则稍显逊色。2022年 2月15日,Google首席执行官桑达尔·皮查伊(Sundar Pichai)呼吁员工进行 Bard 的内部测试、优化。Decoder-only+ 技术博采众长,力两大特点助力 ChatGPT 成功面世。通过梳理 2017 年起,Google 与 OpenAI 在 LLM 领域的布局可以看到,OpenAI 具备两大突出特点:
OpenAI 与 Google 在 在 LLM 领域的布局(2017 年 年 6 月-2023 年 年 2 月)
Decoder-only 具备文本生成优势,OpenAI 深耕布局。OpenAI 自 2018 年的 GPT-1 起,在模型架构上始终坚持 Decoder-only 的技术路径,得益于 Decoder-only 架构在文本生成上的天然性优势(具体分析可参考华泰计算机 2023 年 2 月 14 日发布的报告《GPT 产业复盘(2019):大容量路线》),ChatGPT 在对话、翻译等文本生成任务中更具优势;对比来看,Google2018 年、2019 年推出的 BERT、T5 分别采用 Encoder-only、Encoder-Decoder技术方案,直至 2021 年 10 月推出的 FLAN 模型才采用 Decoder-only 方案;从 ChatGPT 的技术路径演进过程来看,其底层技术可视为 Transformer+Prompt-Learning+Instruction-tuning+RLHF+PPO+思维链的融合。Tansformer :2017 年 6 月,Google 发布论文《Attention Is All You Need》,提出 Transformer 模型;
RLHF :2017 年 7 月,DeepMind(Google 旗下人工智能企业)与 OpenAI 联合发布论文《Deep Reinforcement Learning from Human Preferences》,提出人类反馈强化学习RLHF 方法;
PPO:2017 年 8 月,OpenAI 发表论文《Proximal Policy Optimization Algorithms》,提出对 TRPO 算法的改进 PPO 算法;
Prompt-Learning :2020 年 7 月,OpenAI 发布论文《Language Models are Few-ShotLearner》,开启基于 Prompt 的 NLP 新学习范式的研究热潮;
Instruction-tuning:2021 年 9 月,Google 发布论文《Finetuned Language Models are Zero-shot Learners》,提出指示微调(Instruction-tuning)方法;
- 思维链:2022 年 4 月 Google 发布论文《Pathways: Asynchronous Distributed Dataflow for ML》,提出 Pathways Language Model (PaLM)模型,并提出思维链(Chain-of-Thought Prompting)技术;
从各项技术的提出时间和提出者来看,ChatGPT 融合的各项技术不仅由 OpenAI 公司独立提出,还包括 Google、DeepMind 等公司的研究成果;OpenAI 博采众长,广泛实现了先进技术与 GPT 模型的有机融合,这也成为 ChatGPT 优势能力的重要来源。
总结:厚积薄发,ChatGPT 引发 AI 产业范式革命2022 年是 GPT 系列模型厚积薄发的阶段性胜利之年,基于 GPT-3.5 微调产生的 ChatGPT 在模型演变与模型应用上均有较大突破。模型演变上:ChatGPT 是基于 GPT-3.5 大模型微调生成的专注对话式生成的语言模型,其本质上是 GPT 系列模型多年来厚积薄发的产物。GPT 系列模型从 2018 到 2020 年,沿着大模型参数、多训练数据的方向持续演进,到 GPT-3 时代已经具备了较强的模型泛化能力。2022 年,GPT-3.5(GPT-3 经过代码训练、指示微调的产物)成为新一代大模型基础,基于 GPT-3.5 的强大文本生成能力,OpenAI 进一步引入 Instruction-tuning、RLHF 等技术,迭代生成 ChatGPT 模型。我们认为,ChatGPT 模型的成功具有重要的引导意义,单一大模型或为未来 AI 训练主流方向。模型应用上:相比过去的 AI 产品,ChatGPT 在应用领域、商业化等层面呈现出新的特点。应用领域方面:ChatGPT 属于生成式 AI,相比于分析型 AI,ChatGPT 不局限于已有的内容,在文艺创作、代码处理、营销等众多创造性场景内有更为突出的表现。商业化方面:ChatGPT 在商业化方面彰显出强于以往 AI 应用的潜力,一方面得益于用户数快速增长,另一方面得益于微软为代表的科技巨头支持。