Generative AI 新世界:文本生成领域论文解读

机器学习
DeepRacer
Amazon DeepRacer
生成式人工智能
0
0
在上一篇[《Generative AI 新世界:过去、现在和未来》](https://dev.amazoncloud.cn/column/article/6413095e3d950b57b3f9f63d)中,我做为一名曾经多次穿越过市场周期的从业者,对 Generative AI 的发展历程、目前的热点方向、以及对未来的畅想做了一个梳理,希望可以帮助大家理清这个新周期的一些底层逻辑,例如知识底座、应用蓝图、以及发展方向和潜在机遇等方面的内容。 就在我在准备这个专题系列的下一篇内容时,就在这个月,一个更酷炫的“学霸”型文本生成模型 GPT-4 正式发布了!根据 GPT-4 的官方技术报告,这个“学霸” 型文本生成模型已经可以以各种炫技高分通过各种标准化考试了。例如: - GRE Verbal:接近满分 - 律师入学考试LSAT (Law School Admission Test):进入前 10% 左右 - 律师执照考试UBE (Uniform Bar Exam):进入前 10% 左右 - SAT Reading & Writing:进入前 7% - SAT Math:进入前 10% 左右 - …… ![982dbc3630b5fbf8eace1f81170d174f.png](https://dev-media.amazoncloud.cn/9abedd71555c445986bf9d42d6a3526d_982dbc3630b5fbf8eace1f81170d174f.png "982dbc3630b5fbf8eace1f81170d174f.png") Source:https://cdn.openai.com/papers/gpt-4.pdf?trk=cndc-detail 技术报告中还举例展现了 GPT-4 的具体解题分析过程,例如用户直接给一张考试题的照片,让 GPT-4 一步步思考作答。如下图所示: ![70cc8c1d7f96039a630d23282029405b.png](https://dev-media.amazoncloud.cn/4c5d72e845e44723bee74ac4b9b61e5b_70cc8c1d7f96039a630d23282029405b.png "70cc8c1d7f96039a630d23282029405b.png") GPT-4 模型看图之后,一板一眼地解答如下: ![6cd83232976f00ace5aa4f555c63ef45.png](https://dev-media.amazoncloud.cn/188bf071f63e41bebad5c8d9c38af56c_6cd83232976f00ace5aa4f555c63ef45.png "6cd83232976f00ace5aa4f555c63ef45.png") 关于 GPT-4 更多细节,我们还会在本文的第四节中更详细地做出介绍。 # 文本生成 文本生成(Text Generation)领域的进步真可谓是日新月异。为了更好这个领域的这些激动人心的技术进步,让我们一起来深入探究下文本生成领域的主要几篇论文:InstructGPT,RLHF,PPO,GPT-3,以及GPT-4。 ## 1 InstructGPT 论文概述 我们将以一个文本生成(Text Generation)的经典论文 (InstructGPT)来解读目前在该领域的 SoTA 模型结构设计和训练方法。 ![c865dead42cc9194b7f63ff0e2d89e5f.png](https://dev-media.amazoncloud.cn/b8604ffe80c440ed8aa9cd1a7b491568_c865dead42cc9194b7f63ff0e2d89e5f.png "c865dead42cc9194b7f63ff0e2d89e5f.png") Paper Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail 我们先来看看 InstructGPT 论文的摘要。 这张图片显示了我通读这篇论文摘要时的一些评论和笔记。 ![f76b279f94ef533c7584b436af6c278c.png](https://dev-media.amazoncloud.cn/cabdba47e3d94994927e7b9668a2a3de_f76b279f94ef533c7584b436af6c278c.png "f76b279f94ef533c7584b436af6c278c.png") 我记录的主要纲要是: 1. 论文的总体想法(Fine-tune human feedback) 2. 他们是如何收集数据集的?(收集了问题和答案) 3. 他们如何微调数据集?(在 GPT-3 上有监督式学习) 4. 他们为什么称之为 “InstructGPT”?(在人工评估中...) 5. 结果(只有 GPT-3 的 1% 模型参数但是 InstructGPT 的结果更好) InstructGPT 的论文共有 68 页,我想重点介绍的亮点是:来自人类反馈的强化学习(简称为 RLHF)。 2020 年的论文 “Learning to summarize with human feedback”,可以认为是最早开始研究 RLHF 的论文之一,已经开始研究探讨 GPT-3 和 RLHF 的结合: ![2daedd14a245aa1d818367143b0832e6.png](https://dev-media.amazoncloud.cn/4c1686bea1544f1c9a8020539bd8edcd_2daedd14a245aa1d818367143b0832e6.png "2daedd14a245aa1d818367143b0832e6.png") Source: https://arxiv.org/abs/2009.01325?trk=cndc-detail ### 1.1 RLHF 的训练过程 RLHF 的训练过程可以分解为三个核心步骤: - 步骤一:预训练语言模型:采用有监督的策略微调 - 步骤二:收集数据并训练奖励模型 - 步骤三:通过强化学习微调 LM 首先,我们将了解这三个步骤分别需要的数据集来源、数据集大小等重要信息。为什么要先去分析这三个大步骤中的数据集来源呢? 西方有句著名的谚语:“The devil is in the details.” 翻译成中文就是:“魔鬼藏在细节里”。在人工智能领域里,优质的数据和数据来源,在同样的研究方法的作用下,结果可能相差很大,即:差一点,差很多。 因此,对于数据来源的研究,在我阅读论文中习惯里,是我最提前关注重视的部分之一。 - Paper Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail - RLHF (Reinforcement Learning from Human Feedback):https://huggingface.co/blog/rlhf?trk=cndc-detail ### 1.2 训练数据的来源 ![a95e10cd49b6327b247c350a6044c66e.png](https://dev-media.amazoncloud.cn/391eb8a99549428384d985f9e44ba7a8_a95e10cd49b6327b247c350a6044c66e.png "a95e10cd49b6327b247c350a6044c66e.png") **1/ SFT 数据集**: - 数据集大小:13K - 这个数据集是由 [Prompt, Text] 对组成的样本。数据一部分来自使用 API 提交的用户数据,另一部分来自专门的标注人员(Labeler)。 **2/ RM 数据集:** - 数据集大小:33K - 先让模型生成一批候选文本,然后通过标注人员(Labeler)根据生成数据的质量对这些生成内容进行排序打分作为 RM 模型的标注。 **3/ PPO 数据集:** - 数据集大小:31K - PPO 数据没有进行人工标注,它均来自用户通过 API 提交的数据。这里有不同用户提供的不同种类的任务,其中占比最高的包括生成任务(45.6%),问答(12.4%),头脑风暴(11.2%),对话(8.4%)等等。 ### 1.3 训练阶段一:预训练语言模型上的策略微调 **数据来源**: 用于训练奖励模型的 Prompt 数据一般来自于一个预先的数据集,比如某个 LLM 模型的 Prompt 数据则主要来自那些调用 GPT API 的用户。这些 prompts 会被丢进初始的语言模型(步骤一的模型)里来生成文本。 **训练方法**: 如图所示。首先,我们需要选一个经典的预训练语言模型作为初始模型。OpenAI 在其第一个RLHF 模型 InstructGPT 中用的小规模参数版本的 GPT-3。这些语言模型往往见过大量的 [Prompt, Text] 对,输入一个 prompt(提示),模型往往能输出还不错的一段文本。 ![5f2f0b251880622dd04121a1f5becf19.png](https://dev-media.amazoncloud.cn/10f2f47b9b2c4dbfbae2c90a90aa4faf_5f2f0b251880622dd04121a1f5becf19.png "5f2f0b251880622dd04121a1f5becf19.png") Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail 预训练模型也可以在人工精心撰写的语料上进行微调,但这一步不是必要的。例如,OpenAI 在人工撰写的优质语料上对预训练模型进行了微调。不过,这种人工撰写的优质语料一般成本是非常高的。 人工微调的大致操作是:在数据集中随机抽取问题,由专门的标注人员给出高质量答案,然后用这些人工标注好的数据来微调模型。标注人员根据提示 (prompt) 编写质量可靠的输出响应 (demonstrations)。这里采用的是 **Supervised Fine-Tuning(SFT)模型,即有监督的策略来进行微调**。微调之后,模型在遵循指令/对话方面得到优化,但不一定符合人类偏好。 ![05848812d247f2a8a2f78d45a1fb15a0.png](https://dev-media.amazoncloud.cn/5e70e5108ea5459caccb3dea13a3bd1f_05848812d247f2a8a2f78d45a1fb15a0.png "05848812d247f2a8a2f78d45a1fb15a0.png") Source: https://huggingface.co/blog/rlhf?trk=cndc-detail 第一步完成之后,我们需要基于这个初始语言模型产出的数据来训练一个**奖励模型(reward model,简称 RM)**。接下来,就会引入人类的反馈信号了。 ## 1.4 训练阶段二:训练奖励模型(Reward Model) 训练一个奖励模型(RM)的目标是让模型的输出在人类看来表现不错。即,输入是一个 prompt(模型生成的文本),输出是一个代表文本质量的标量数字。 ![08b43b3eda21c9b557b08144f4f7c089.png](https://dev-media.amazoncloud.cn/4362190a19074ba08f395eb31c059bd0_08b43b3eda21c9b557b08144f4f7c089.png "08b43b3eda21c9b557b08144f4f7c089.png") Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail **数据来源**: 用于训练奖励模型的 Prompt 数据一般来自于一个预先的数据集,OpenAI 的 Prompt 数据则主要来自那些调用 GPT API 的用户。这些 prompts 会被丢进初始的语言模型(步骤一的模型)里来生成文本。 **训练方法**: 如下图所示,标注人员的任务则是对初始语言模型生成的文本进行排序。说到这里有人可能会问:为啥不直接让标注人员对文本进行打分呢? ![b23dd4bbf6c6a5b671c47f9c2e13abfb.png](https://dev-media.amazoncloud.cn/db7840ba59154d0a953a399185455adb_b23dd4bbf6c6a5b671c47f9c2e13abfb.png "b23dd4bbf6c6a5b671c47f9c2e13abfb.png") Source: https://huggingface.co/blog/rlhf?trk=cndc-detail 这是因为研究人员发现不同的标注员,由于其教育背景、生活阅历和家庭环境等的不同,打分的偏好会有很大的差异,而这种差异就会导致出现大量的噪声样本。若改成标注排序,则发现不同的标注员的打分一致性就大大提升了。 接下来,再使用这个排序结果来训练奖励模型。对于多个排序结果,两两组合,形成多个训练数据对。奖励模型(Reward Model)接受输入后,给出评价回答质量的分数。对于一对训练数据,通过调节参数使得高质量回答的打分比低质量的打分要高。奖励模型学会了为评分高的响应计算更高的奖励,为评分低的回答计算更低的奖励。 ### 1.5 训练阶段三:通过强化学习微调大模型 这一阶段整体采用强化学习(Reinforcement Learning)方式,使用在阶段二里训练好的奖励模型(Reward Model)做为该强化学习的奖励模型,通过 PPO 算法优化模型策略。PPO(Proximal Policy Optimization,近端策略优化)是一种用于在强化学习中训练 agent 的策略,这里被用来再次微调在阶段一中提及的有监督微调(SFT)大模型。 ![1672a2c37138c63450d1a1db2fba86ce.png](https://dev-media.amazoncloud.cn/430b97fc8215401cb7dcbf50f94116e5_1672a2c37138c63450d1a1db2fba86ce.png "1672a2c37138c63450d1a1db2fba86ce.png") Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail 这一阶段利用第二阶段训练好的奖励模型,靠奖励模型打分来更新预训练模型参数。在数据集中随机抽取问题后,使用 PPO 模型生成回答,并用上一阶段训练好的 RM 模型计算奖励,给出质量分数,然后用这个奖励来继续更新 PPO 模型。奖励依次传递,由此产生策略梯度,通过**强化学习的方式更新 PPO 模型参数**。但这次和阶段二不同的地方是:这次不再让人类来打分排序,而是让阶段二训练好的奖励模型去给模型的预测结果进行打分排序。 ![229b64a0fd8dc76aedf638d56df04655.png](https://dev-media.amazoncloud.cn/78df75086a5e4706a362fb313a56da66_229b64a0fd8dc76aedf638d56df04655.png "229b64a0fd8dc76aedf638d56df04655.png") Source: https://huggingface.co/blog/rlhf?trk=cndc-detail 就这样,使用一个初始的语言模型来生成文本,以及使用一个奖励模型来判断模型生成的文本是否优质(迎合人类偏好)。如此不断重复第二和第三阶段,通过迭代会训练出更高质量的 InstructGPT 模型。我们将来自于**人类反馈的强化学习简称为 RLHF(reinforcement learning from human feedback)**,即使用人类的偏好作为奖励信号来微调模型。 就这样,使用一个初始的语言模型来生成文本,以及使用一个奖励模型来判断模型生成的文本是否优质(迎合人类偏好),然后不断生成、评估、优化,如此循环进行。简单来说,**就是机器代替人类做排序的工作。这是一个非常重要的进步**。 ## 2 PPO 论文概述 Proximal Policy Optimization(PPO)是 Actor-Critic 的升级版,利用 KL 距离(经过一系列近似化简的形式描述,实际本质上是概率分布的差异)来动态衡量学习率是否过大。 ![39c4083d65764dd6bce6976870e395ed.png](https://dev-media.amazoncloud.cn/b12e9f8ddee8497eb399486da3ba541f_39c4083d65764dd6bce6976870e395ed.png "39c4083d65764dd6bce6976870e395ed.png") PPO paper: https://arxiv.org/pdf/1707.06347.pdf?trk=cndc-detail 在前一章节中,我们提到了 InstructGPT 在 RLHF 训练的阶段三,是通过 PPO 算法进一步优化策略模型的。InstructGPT 在论文中,有更详细地描述他们是如何使用 PPO 算法的描述,如下图所示: ![739bf822a5084372c96d2fc9bd0aaed2.png](https://dev-media.amazoncloud.cn/6686b3f967ea40b9864f729a1449d5b2_739bf822a5084372c96d2fc9bd0aaed2.png "739bf822a5084372c96d2fc9bd0aaed2.png") Source - InstructGPT paper: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail 一句话概括,**PPO 算法提出的一种解决 Policy Gradient 不好确定动作幅度的问题**。因为如果动作幅度过大,机器人会反复横跳,不易收敛;但如果动作幅度太小, 想要完成训练,那就得等到天荒地老。PPO 利用 New Policy 和 Old Policy 的 KL 距离,限制了 New Policy 的更新幅度,如果 KL 距离过小,就让 KL 正则项的权重减小,让机器放开膀子大胆干;如果 KL 距离过大,就让 KL 正则项权重增大,让机器收紧步伐悠着点。 举一个爬山的例子来类比。我们人类爬山的时候,在选择下一步时,在较安全的接近平地的区域,我们会放心大胆地步子迈大一些;而在一些比较陡峭有风险的区域时,我们会尽量悠着点。PPO 算法我个人理解就是应用了人类的这种思维。 因为 Generative AI 的这波浪潮,我们预计强化学习(Reinforcement Learning)领域也会引发一波学习浪潮。如果您想在实践中更好地认知强化学习理论,包括 PPO 算法的一些实践细节,您可以使用亚马逊云科技的 DeepRacer 服务。如下图所示: ![508f885641087b4c8ac9fa2b73f518fe.png](https://dev-media.amazoncloud.cn/97927c94ff3144caaeaad975e2755e65_508f885641087b4c8ac9fa2b73f518fe.png "508f885641087b4c8ac9fa2b73f518fe.png") 亚马逊云科技 DeepRacer 简介:https://aws.amazon.com/cn/deepracer/?trk=cndc-detail 在亚马逊云科技的 DeepRacer 服务中,缺省的训练算法就是 PPO。如下图所示: ![9117c1967e03061983a040cb458954f9.png](https://dev-media.amazoncloud.cn/017de20fd6084cc8a121efef93b7e1e8_9117c1967e03061983a040cb458954f9.png "9117c1967e03061983a040cb458954f9.png") ## 3 GPT-3 论文概述 如果您对 GPT-3 非常感兴趣,您还可以参考 GPT-3 的主要论文。不过需要提醒您的是,关于 GPT-3 的模型有不少,其参数从 1B 到 175B 不等。因此其 GPT-3 相关的论文最主要的也有五篇,如图所示: ![d73d1f3001d4aafa399199d3d522e360.png](https://dev-media.amazoncloud.cn/0252597a63db40deb54eff3f0db9618e_d73d1f3001d4aafa399199d3d522e360.png "d73d1f3001d4aafa399199d3d522e360.png") Papers of GPT-3: https://platform.openai.com/docs/model-index-for-researchers?trk=cndc-detail 另外,如果您是一位刚开始学习机器学习不久的新人,如果一开始就阅读 GPT-3 的论文的话,会非常吃力。GPT 的很多架构细节是在 GPT-1、GPT-2 中讨论的。所以我建议您的学习路线会是:Transformer -> GPT -> GPT-2 -> GPT-3。 以下对基于 GPT-3 模型的发展路线,做一个大致的梳理。总体而言分为以下两个发展路线: - 代码/推理方向(例如:Codex) - 理解人类偏好方向(例如:InstructGPT) ### 3.1 代码/推理方向:GPT-3 + 代码训练 代码/推理方向的发展时间线如下: 1. 2020 年 5-6 月,GPT-3 论文 “Language Models are Few-Shot Learners”; 2. GPT-3 的最大规模的版本,1750 亿参数的 API Davinci,此时的 GPT-3 还只能写一些简单的代码和做一些简单的数学题; 3. 2021 年 7 月,Codex 论文 “Evaluating Large Language Models Trained on Code”,其中初始的 Codex 是根据 120亿 参数的 GPT-3 变体进行微调的,且通过对 159GB 的 Python 代码进行代码训练,它开始具备较强的代码/推理能力。 该方向的主要论文有:Codex 等。 ### 3.2 理解人类偏好方向:GPT-3 + 指令学习 + RLHF 理解人类偏好方向的发展时间线如下: 1. 2020 年论文 “Learning to summarize with human feedback”,开始研究 GPT-3 和 RLHF 的结合; 2. 2022 年 3 月,遵循人类指令学习的论文 “Training language models to follow instructions with human feedback” 发布,即是前面我们介绍的 InstructGPT 论文; 该方向的主要论文有:InstructGPT 等。 ## 4 GPT-4 论文概述 2023 年 3 月 GPT-4 也正式以 Model as a Service 的方式在对外提供服务。以下根据其提供的一些技术报告,以及其它第三方的资料,对 GPT-4 模型做概述如下。 ![b12ac790ae7ed9d6351bf494a6ef26aa.png](https://dev-media.amazoncloud.cn/8d4b8aca778f4ee0b344e137611daae0_b12ac790ae7ed9d6351bf494a6ef26aa.png "b12ac790ae7ed9d6351bf494a6ef26aa.png") Source:https://cdn.openai.com/papers/gpt-4.pdf?trk=cndc-detail GPT-4 是一个大型多模态模型(输入图像和文本,输出文本输出)。其中 GPT 是生成式预训练模型的缩写。大型多模态模型可以广泛用于对话系统、文本摘要和机器翻译。 GPT-4 实际上是在 2022 年 8 月完成训练的,直到 2023 年 3 月 14 日才发布。在发布之前,一直在对该模型进行对抗性测试和改进。GPT-4 的内容窗口能支持多达 32,000 个 token(相当于 24000 单次或 48 页文本),如下图所示: ![fa56642250a534e411ec62e776779303.png](https://dev-media.amazoncloud.cn/a6b9e2b5c6314b188722ee9102d2d187_fa56642250a534e411ec62e776779303.png "fa56642250a534e411ec62e776779303.png") Source: https://lifearchitect.ai/gpt-4/?trk=cndc-detail 比较有趣的是 GPT-4 已经能看懂一些图梗了,不仅仅只是擅长做对话机器人。以下图为例,输入一张由三张图片拼成的图,用户问:“这张图有什么奇怪的地方?请一张图一张图地描述”。 **GPT-4 会分别描述每张图**中呈现的景象内容,**并指出**图中把一个大而过时的 VGA 接口插入一个小巧的现代智能手机充电端口**是件幽默滑稽的事情**。 ![a59004e48d286cd7884f851eb2cfd81e.png](https://dev-media.amazoncloud.cn/5faaf362238d4282abfd06c7e88543bc_a59004e48d286cd7884f851eb2cfd81e.png "a59004e48d286cd7884f851eb2cfd81e.png") Source:https://cdn.openai.com/papers/gpt-4.pdf?trk=cndc-detail 以及在各类考试领域已经展现出“学霸”或者“考试小王子”的潜力: ![a3847c171d796daefd803ac7e3cf77b4.png](https://dev-media.amazoncloud.cn/6c434876cfe2485c80cb08c866ed7204_a3847c171d796daefd803ac7e3cf77b4.png "a3847c171d796daefd803ac7e3cf77b4.png") - SAT: 1410/1600 (94th percentile, top 6%). - Uniform Bar Exam (MBE+MEE+MPT): 298/400 (90th percentile, top 10%). - AP: Advanced Placement high school exams in biology, calculus, macroeconomics, psychology, statistics and history: 100% (5/5). - MMLU: 86.4% (previous SOTA=75.5% for Flan-PaLM). Source: https://lifearchitect.ai/gpt-4/?trk=cndc-detail GPT-4 甚至可以能够读懂一些来自人类的幽默漫画深层次的内涵,这一点确实让我感到有些意外和惊喜。以下示例是让 GPT-4 解释这张漫画。GPT-4 认为它讽刺了统计学习和神经网络在提高模型性能方面的差异。 ![06a0455f114c5dd4fb9837dcf174fcce.png](https://dev-media.amazoncloud.cn/68a0adc3f28f43db9334f417d8bffdef_06a0455f114c5dd4fb9837dcf174fcce.png "06a0455f114c5dd4fb9837dcf174fcce.png") ![96c8aa5f4d5b769122ac94e2b7090cb4.png](https://dev-media.amazoncloud.cn/8a6c790d2049453abd30bb81019bd7e2_96c8aa5f4d5b769122ac94e2b7090cb4.png "96c8aa5f4d5b769122ac94e2b7090cb4.png") Source: https://cdn.openai.com/papers/gpt-4.pdf?trk=cndc-detail 更多关于 GPT-4,以及其它文字生成领域 State-of-the-art 的论文解读,我们也会紧密跟进这个领域的新变化和新进展,未来和大家一起探讨解读。 在下一篇内容中,我们还将通过三个关于大语言模型(LLMs)部署、编译优化、分布式训练等方面的动手实践案例,详细讨论亚马逊云科技在为支持这些大语言模型(LLMs)的编译优化、分布式训练等方面的进展和贡献,敬请期待。 请持续关注 Build On Cloud 微信公众号,了解更多面向开发者的技术分享和云开发动态! #### 往期推荐 [#开发者生态](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5Mzg1NDc2NQ==&action=getalbum&album_id=2779048236715360257&scene=21#wechat_redirect?trk=cndc-detail) [#架构模型最佳实践](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5Mzg1NDc2NQ==&action=getalbum&album_id=2799534956091031552&scene=21#wechat_redirect?trk=cndc-detail) [#亚马逊的开源文化](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5Mzg1NDc2NQ==&action=getalbum&album_id=2779048236732137474&scene=21#wechat_redirect?trk=cndc-detail) ![cac866c507bf7b975e909bd09be7e73d.jpg](https://dev-media.amazoncloud.cn/6884432a0be04c08a6848c46009c794f_cac866c507bf7b975e909bd09be7e73d.jpg "cac866c507bf7b975e909bd09be7e73d.jpg")
0
目录
关闭
contact-us