「ChatGPT背后的秘密:理解GPT-3与RLHF,揭开超大规模语言模型的真相」
文章主题:
1、前言
🌟ChatGPT背后的黑科技揭秘🔍——引领潮流的语言巨轮🛡️🚀ChatGPT,凭借其卓越的性能和人性化交互,已成为全球热门话题。它巧妙地融合了GPT-3.5这一业界领先的LLM(Large Language Model)与强化学习RLHF的创新技术,打造了一套精密的语言预训练系统🌈。🔍RLHF,这个源于人类反馈的强化学习算法,通过精准的人工标注,为LLM模型赋予了理解任务和判断优质答案的能力。它就像一个智慧导师,引导模型在帮助性、诚实性和无害性三个维度上不断提升语言质量🏆。ChatGPT不仅满足了用户对智能交互的需求,更在无形中推动了NLP技术的进步🚀。让我们一起探索这个语言巨轮如何用科技的力量,为我们的世界带来更丰富的知识与理解吧🌍!#ChatGPT #LLM #强化学习 #RLHF #人工智能
因此在了解ChatGPT之前,我们需要先看看什么是GPT-3以及强化学习。
1.1、GPT
🌟【AI预训练新标杆】🔥2018年6月,OpenAI引领革命,推出GPT(前身GPT-1),一款专为自然语言生成而生的预训练模型。它与BERT齐名,不仅是深度学习领域的明星,更是transformer架构的杰出代表。💡这款模型巧妙地运用Transformer-Decoder作为编码器的心脏,相较于传统Decoder,GPT的独特之处在于去除了多余的Multi-Head Attention层,聚焦于Masked Multi-Head Attention,如图所示,简洁而高效。🔍它的自回归训练方式,让生成任务游刃有余,展现强大的语言创造力。不论是文章撰写、对话模拟还是内容扩展,GPT都能精准输出,满足多样化需求。📝SEO优化提示:GPT预训练模型、自然语言生成、BERT比较、Transformer-Decoder、Masked Multi-Head Attention、OpenAI创新
GPT模型结构
🌟BERT虽备受青睐,但它并非唯一的选择!💡Decoder的独特之处在于其Masked Multi Self-Attention机制,巧妙地隐藏了词尾信息,使其成为一款强大的语言生成工具。无需Encoder的辅助,Decoder简化了交互流程,省去了encoder-decoder attention,实现了高效的文本处理。🚀这样,它便以独到的方式诠释了语言模型的工作原理,展现出无与伦比的灵活性和实用性。
🌟【GPT-2:深度拓展的NLP巨擘】🌟在GPT的基础上,技术的创新与数据的丰富化推动了GPT-2的飞跃式成长——它不仅增加了多项任务,扩大了语料库,还经历了深度训练的锤炼。👀从机器翻译到文本摘要,再到领域问答,GPT-2将所有NLP领域的知识都融入了预训练阶段,实现了多任务并行学习的高效融合。🌍信息不再是特定任务的专属,而是通用且灵活,就像汪小菲妈妈的身份一样,可以轻松应用于各种场景,这就是元学习的力量——它让语言模型具备了一脑多用的能力。💡相较于前代,GPT-2的参数量和数据积累呈指数级增长,这不仅意味着更强的处理能力,更预示着未来在NLP领域的无限可能。🚀SEO优化提示:使用长尾关键词如”深度学习任务”、”通用信息处理”、”元学习技术”等,同时融入相关行业术语如”NLP巨擘”、”参数量爆发式增长”等。
🌟【革新NLP新纪元】🚀 传统两步走?不!GPT-3引领革命,打破陈规!🔍以往的AI语言模型训练路径是典型的”双阶段大法”:海量数据集初始化预训,然后通过任务特定标注来微调。但这已成明日黄花,GPT-3正以颠覆性的方式改写游戏规则!🔥现代NLP技术正在迈向更高效、灵活的境界,无需冗余步骤,模型直接在广泛语料中汲取精华,适应各类任务需求。🌍这样的训练模式不仅提升了效率,还赋予了模型更强泛化能力,让AI语言理解如丝般流畅。✨未来已来,让我们期待GPT-3引领的NLP新时代,用代码编织更智能的语言世界!💻🌟
🌟掌握未来,GPT-3引领革命🚀!它独创的”in-context学习”模式,打破传统束缚,让知识传递更高效。只需轻轻一点,给出提示和示例,模型瞬间理解并翻译成英文:🍎→apple;对于ChatGPT的评价?直接询问:”ChatGPT,你的表现如何?”即可。这种简洁、直观的操作方式,不仅提升用户体验,而且SEO优化十足,让优质内容更容易被搜索引擎找到。🌍🚀
其中 苹果翻译成 apple,是一个示范样例,用于让模型感知该输出什么。只给提示叫做 zero-shot,给一个范例叫做 one-shot,给多个范例叫做 few-shot。在 GPT-3 的预训练阶段,也是按照这样多个任务同时学习的。比如“做数学加法,改错,翻译”同时进行。这种引导学习的方式,在超大模型上展示了惊人的效果:只需要给出一个或者几个示范样例,模型就能照猫画虎地给出正确答案。但是这里需要超大模型才行得通,如下图所示:
可以看出,这种引导学习的方式,在超大模型上展示了惊人的效果:只需要给出一个或者几个示范样例,模型就能照猫画虎地给出正确答案。
下表是三代GPT之间参数量的比较。
模型数据量参数量GPT-1约 5GB1.17亿GPT-240GB15亿GPT-345TB1750亿
1.2、强化学习
强化学习是一种和有监督、无监督学习并行的概念。用游戏比较好理解,有代理(游戏角色)、环境、目标、行动、反馈这些基本要素。它会在给定的环境中,不断地根据环境的惩罚和奖励(reward),拟合到一个最适应环境的状态,是一种通过试错来进行学习的模型。
之前的研究中一直没有在NLP+强化学习上取得好的效果,主要是因为NLP 所依赖的环境,是整个现实世界,整个宇宙万物,都可以被语言描述,也就都需要针对模型输出的质量进行 reward 评价,它完全无法设计反馈惩罚和奖励函数。除非人们一点点地人工反馈。
下面说到今天的主角,ChatGPT正是openAI不计成本进行大量人工标注将GPT和强化学习结合起来得到的产物,具体方法分为以下三个阶段。
以下对ChatGPT的介绍主要来源自instructGPT的论文,ChatGPT是改进的instructGPT,改进点主要在收集标注数据方法上有些区别,在其它方面,包括在模型结构和训练流程等方面基本遵循instructGPT。
2、Chatgpt的三个阶段
2.1、冷启动阶段
该阶段的输入是从测试用户提交的prompt(就是指令或问题)中随机抽取的一批数据,其例子如下所示:
Prompt例子
其方法概括来讲,就是以下两个部分,如下图所示:
对抽取的prompt数据人工进行高质量回答,获得<prompt,answer>数据对。通过高质量回答fine-turn gpt-3.5模型,在第一阶段帮助模型更好地理解输入指令。
这样,一个基本的 GPT-3.5语言模型就被学习成了这里的 SFT 模型。
chatgpt第一阶段
2.2、训练回报模型阶段(RM)
训练回报模型(RM) ,如下图所示,其方法概括为如下两部分
用上一阶段fine-turn好的SFT模型(使用和第一阶段几乎相同的prompt)生成k个回答(这里需要注意,对于同一个问题,GPT和SFT模型生成的答案是多样的,每一次提问都会有不同的答案),人工标注排名顺序用排序结果训练数据对<prompt,answer>
chatgpt第二阶段
我们希望被判定更好的输出得到的奖励数值要更高。由此,奖励模型可以通过最小化下面这样的损失函数来得到。对于一对训练数据<answer1,answer2>,我们假设人工排序中answer1排在answer2前面,那么Loss函数则鼓励RM模型对<prompt,answer1>的打分要比<prompt,answer2>的打分要高。
第二阶段损失函数
2.3、强化学习微调阶段
这一步数据集规模更大一些且和第一二阶段不同,且不再需要人工。其方法可以概括为以下四个部分:
由第一阶段的监督模型初始化PPO模型的参数PPO模型生成回答用第二阶段RM模型对回答进行评估和打分通过打分,更新训练PPO模型参数
chatGPT第三阶段
这一步的训练过程中,还不仅仅使用强化学习的优化目标。还使用了下面的两个正则项来约束模型的表现。我们需要在训练的过程中最大化下面的函数,当γ≠0时,模型变为PPO-ptx(加上该部分是因为仅仅使用RL来学习可能会使得模型在很多NLP任务性能上下降)。
第三阶段函数
总结一下:RLHF用于第一二阶段,首先通过人工标注微调gpt模型得到SFT模型,用SFT模型生成k个回答人工排序,训练RM模型。第三阶段,把SFT模型参数拿来,用RM模型获得的reward进行训练,得到ppo和ppo-ptx模型。
3、实验与模型的衡量
3.1、helpful
helpful——是否可以推断用户意图 测试方法是标注员在待测试模型的输出和 SFT 模型的输出中选择一个更好的。如果得分为 0.5 则表示该模型和 SFT 相比性能差不多。下图左侧为GPT提供prompt,右侧即为instructGPT提供的prompt测试得到的结果。可以看出ppo和ppo-ptx模型相对于其它模型取得了更好的效果。
helpful评判结果
3.2、honest
方法是在模型前加上如下这样的 instruction prompt,提示模型该小心什么问题,该怎样回答。
instruction prompt例子
结果如下,右图即为加上instruction的效果。其中灰色代表可信度,有颜色的即代表同时可信和包含信息量的额比率:
honest结果
3.3、harmless
方法也是加上instruction,从而减少模型产生有害/不礼貌/带有偏见的回答,效果如下所示:
harmless结果
可以看出,ppo和ppo-ptx模型在三个H的评判指标下都取得了不错的结果。
4、问题与总结
4.1、模型优点
相对于自回归模型,reward有更细致的处罚信号,比如如果下一token是great,AR loss会给amazing和sandwich相同的处罚offline模式,使得RM模型生成更合适的反馈。RM模型更直接获取偏好 直接根据偏好进行打分好的句子就是高的反馈运用数据更具有效率 SFT需要人来生成目标,在我们训练RM的时候,就可以用来为输出打分了
4.2、挑战与问题
高效引入新的知识困难,因为它是通过在GPT大模型上大量添加人工标注数据进行训练,重新训练的成本太大,而如果通过fine-turn对引入的新知识进行调整,可能会产生对于之前的知识灾难性遗忘的问题。
对于同一问题可能产生不同答案,且有可能会生成看似合理但实际完全错误的答案,不好判断。
4.3、一些思考
个人认为,ChatGPT最主要的贡献是还是证明了大力出奇迹,以及NLP+强化学习的方式能够取得很好的表现。过去的做对话的思路都是分出各个子任务逐个击破,再加以整合。而ChatGPT的成功则说明,不用考虑琐碎的细节,大模型大数据能够取得更好的效果。当然,这对于像我这样的nlp初学者来说,可能确实没有什么可以借鉴的地方。但是它取得的效果也确实足够令人激动。
以上是本人在学习和了解过程中的一些总结和思考,可能有一些不到位的地方,欢迎各位大佬讨论指正。
参考链接:
1.https://arxiv.org/pdf/2203.02155.pdf——InstructGPT
2.【强化学习 229】ChatGPT/InstructGPT – 知乎 (zhihu.com)
3.一文读懂ChatGPT模型原理 – 知乎 (zhihu.com)
4.ChatGPT会取代搜索引擎吗 – 知乎 (zhihu.com)
AI时代,掌握AI大模型第一手资讯!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
扫码右边公众号,驾驭AI生产力!