chatGPT分析:instructGPT训练框架
介绍
日前,openAI CEOSam在推特上取消了对人工智能领军人物梅塔·科学家、2018年图灵奖获得者、Yann和LeCun的关注。
自从chatGPT流行以来,社交媒体上对LeCun的评价都是负面的。 2022年下半年,Meta推出的卡拉狄加大基地模型因上线三天就下线被诟病。原因在于,在公众眼中被视为“科学严谨的仪器”的卡拉狄加有时会胡言乱语。从这一点来看,chatGPT这个名字中对聊天的强调,足见先见之明。回到本文开头LeCun的回答,这短短的一句话包含了两个重要的信息:
(1)chatGPT 是一个组装模型(不够创新,LeCun好像是造东西的)。这些部分来自于最近五六年LLM(大语言模型)领域的里程碑。从技术上来说,它并不具有创新性。
(2) 与技术相比,公众容忍度较低、商业形象和复杂的决策过程是阻碍该节点大规模制造进步的原因。
本文将重点讨论(1)。目前,openAI尚未发布chatGPT论文和代码。据chatGPT官方网站介绍,其沿用了openAI在2022年3月提出的instructGPT训练框架,但用GPT3.5取代了原来的GPT3,并对训练数据做了一些调整。因此,学习chatGPT不能避免学习instructGPT。如果下面提到这两个词,则可以认为它们是同一意思。
1. ChatGPT 设计思路
想象一下,如果你想训练一个可以和你说话的语言模型,你会分享哪些步骤?
1。教模型说话
首先,您需要教模型如何说出完整的句子。你在互联网上找到大量随机信息并将其显示给模型,并从海量信息中学习。
例如,如果你给出前半句“今天的天气真棒”,你可以根据自己的学习来回答后半句,每个人都能得到不同的结果。问那个。
2。引导模型按照人的意志说话
现在模型已经学会说话了。但答案可能并不让你满意,那就是不符合你的意图。
例如:
你想要“今天天气真好,我在家睡觉。”
老板想要的是“今天天气好,我们一起加班吧”。 ”
你妈妈想要的是“今天天气真好,我的宝宝要拖地。” ”
为了使模型与人类意图保持一致,人类再次向模型提供三个模型句子进行微调。
3。模型答案顺序/分数
对于同一个问题,人类的答案是不同的。为了让模型得到让很多人满意的答案,我们邀请一群人对不同的答案进行排序/评分。然后,我们训练一个“评分模型”,来学习人类评分标准。
4。将评分结果反馈给模型,帮助模型更好地总结人类意图
此时,我们的模型就知道了人类想要的答案,以及人类有不同的反应。此时,我们只需要把分数反馈给模型,让它在循环中更新迭代即可。因此,chatGPT的整体架构就出来了:
其中,
- action:(提示,完成)对,提示代表问题,完成代表模型的答案。
- 礼物:(快速完成)双人得分。
- state:根据评分结果优化GPT3/GPT3迭代。 5. 更改国家,得到最终的chatGPT
这个架构图是chatGPT官方网站上提供的训练步骤的总结。下一章将详细讲解每一步的技术细节。
最后,对于一个向公众开放的AI模型,它必须具备以下三个能力:
- 有帮助。这些模型可以帮助人类解决问题。
- 诚实。模型不会制造虚假信息。
- 不危险。该模型不会造成身体、心理和社会危害。
这也需要精心的培训和标签设计,才能达到这个目标。
2。 GPT3、GPT3.5和GPT-SFT
GPT3(Generative Pre-trained Transformer),是openAI在2020年发布的Transformer模型,该模型的参数高达175B,从此openAI坚定不移地在LLM实现AGI(通用人工智能)的方向上坚定不移。GPT3是一个“Word Solitaire”模型,即给定上面的文本,就有可能写出下面对应的文本。当然,它也可以用来做不同类型的问答。 GPT系列训练框架源自Transformer解码器部分。有兴趣的朋友可以参考之前写的变形金刚系列文章,这里不再赘述。暂时记住这里的一个结果,GPT3 在文本纸牌游戏中表现出色。
GPT3.5,基本原理与GPT3相同。在训练数据中,GPT3中引入了codex数据集进行微调,因此在chatGPT中,你也可以找到解析代码的能力。
GPT-SFT(Supervised Fine-Tuning on GPT),基于GPT的监督微调是本文的重点。看第一章,GPT3.5已经成为一个不错的选词器,而且因为读取了足够的信息,所以可以保证答案的基本质量。 但这还不够神奇,因为他们只是根据所学知识回答问题,但仍然不符合人类的欲望,这意味着他们不“像人类”。
解决这个问题的思路很粗暴简单,就是标签数据,让自我监控模式训练好的GPT也经过监督微调,立即告诉它人类想要什么就是答案。 openAI 使用了 40 个注释器,在 SFT 级别注释了总共 13k 个(快速、完成)问答数据对。指令包括以下几种:
- Plain:让标注者不停歇,随意写一些问题
- Few-shot:要求标注者按照指令提供标注,完成:(提示)。例如:请翻译:(French Fries -> French)
- 用户群:让标注者发现一些问题来标注openAI API请求列表用例。例如,在“一代”类别中 - 请在下面总结,在“头脑风暴”类别中 - 请列出保持专业精神的 5 种方法等。
有了注释数据,我们可以完善GPT。在报纸上,团体(提示、完成)也称为示威。
3。奖励模型(RM)
虽然GPT可能会朝着人类目标的方向发展,但我们需要提供更多的量化指标来了解人类根据相同方向对不同答案的排名。因此,我们需要训练奖励模型(RM,Reward Model)。
奖励模式在chatGPT中并不是首创。这反映了 Stiennon 等人 (2020) 的研究结果。在这个阶段,标注者必须对同一提示的不同答案进行排序,总共使用 33k 个标注数据进行训练。
在注释阶段,需要注释在每个提示中排列不同的答案。如图所示,某个提示中有 3 个 ABC 答案,标注者认为 A> B> C。
在训练阶段,如果该提示下方有 K 个答案,则两组答案为形成训练数据,例如(提示,A,B),那么就有了总共的训练数据。这组训练数据将形成一个批次,通过构建和减少Pairwise Ranking Loss来训练奖励模型。整体流程如下:
让我们从 Pairwise Ranking Loss 开始,以便更好地理解上述流程:
- 表示特定提示
- ,并表示根据该提示的任意一对答案,并且假设注释顺序高于
- 表示下面提示所有对答案对按照人工标注排名
- 代表奖励模型
- 代表 sigmoid 函数
我们预计如果答案排名 y 比较高,得分会更高。以免受K个数的影响,为了训练模型,我们在前面乘以每对答案的average-average loss,这里需要注意以下设计技巧:
(1) Should 作为一组一起包含在模型中?;而不是将数据一个一个的发送到模型中?
- 为了避免过拟合。对于某个对,使用一组方法时,只参与梯度计算一次;使用单一方法时,需要参与K -1 次梯度计算。
- 提高计算效率。在模型开发过程中,最耗时的步骤就是计算。使用batch方法时,只需要进行K次计算(因为模型参数不更新,可以重复使用相同的(x,y));使用一种方法时,需要计算$K(K-1)次(因为一次计算更新模型一次,模型的参数更新了,同样的(x,y)必须重新计算)。因此,K越大,使用batch方法就越划算,因为它保证了相对丰富的排序信息,同时节省了计算效率。
(2) 与 Stiennon et.al (2020) 相比,该版本的 RM 有哪些改进?
- Stiennon et.al (2020)并没有按照方向对所有答案进行排序,而是只标记最好的答案,并通过softmax优化模型。泛化性能较差,容易过拟合,但好的RM保留了完整的排序信息。
4。基于人类反馈的强化学习(RLHF)
模型学会了语言,同时我们训练了一个独立的奖励模型。此时,我们需要将两者结合起来,以便模型能够更好地符合人类意图。这里,chatGPT 使用 PPO (Schulman et al, 2017) 的改进版本来重新训练 GPT。改进的训练算法称为PPO-ptx。为了更好的回顾,我们贴出第一部分架构图的缩略版:
不懂强化学习也没关系。让我们解释一下如何直接从损失函数完成此步骤:
其中,
- 描述了我们此时要学习的强化学习模型,也称为policy
- ,它描述了第一个步骤中的一个,经过监督微调gpt模型后,最初,=
- 表示第二步中的奖励模型
我们要扩展损失函数,现在取两个来解释损失的每一项函数
- ,x代表方向具体来说,y是指将x发送到强化学习模型当前状态生成的y..同样,KL的值越大,分布越不同,KL = 0当分布相同时,现阶段我们希望强化学习后得到的GPT是在能够理解人类意图的基础上,不会与原始GPT的输出相差太远(防止模型过大)练习以免被扭曲)。这些参数表明了这种偏差的容差。偏差越多,根据奖励模型就会受到越多的惩罚。到这一步,它被称为PPO。在中,它显示了SFT之前的初始GPT3/GPT3.5模型。 x 表示初始模型的数据输出。
- 表示初始 GPT 中的数据将被输入到当前的增强模型中。此外,我们预计当前改进模型的输出分布不会出现明显偏差。就是对这种偏差的惩罚程度。添加此项后的优化策略称为PPO-ptx。 ?口语(GPT3/GPT3.5 上的监督微调)
- 引导模型答题(奖励模型)
- 将评分结果返回给模型,以便模型可以根据评估结果继续进行(强化学习) 。来自人类反馈)
2。 chatGPT 是一个汇编模型。从这一点来看,它并不具有创新性。
3。精心设计的人工标注、雄厚财力支持的培训资源、耐心的打磨等待和技术转让、社会对非营利组织的宽容等等都不是AI技术,这也是chatGPT成为一个词的原因。口碑起飞的主要原因。
参考文献
1。 https://arxiv.org/abs/2203.02155
2. https://openai.com/blog/chatgpt/
3. https://www.zdnet。 com/artikel/chatgpt-不是特别创新和无革命性说-metas-chief-ai-scientist/
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。