🚀🚀🚀OpenAI聊天机器人ChatGPT——「全域全知全能」人类全宇宙大爆炸!!🔥🔥🔥
一、什么是ChatGPT?🍀🍀
ChatGPT是生成型预训练变换模型(Chat Generative Pre-trained Transformer)的缩写,是一种语言模型。而OpenAI所提出的这一系列的模型,可以执行非常复杂的任务,如回复问题、生成文章和程序代码,或者翻译文章内容等。而GPT中的Transformer是指由Google Brain所推出的解码器(decoder),是用来处理输入的自然语言以处理翻译、摘要等。ChatGPT是OpenAI开发的一种创新AI模型,利用强大的GPT-3系列,并通过人类反馈与强化学习相一致。ChatGPT是一个聊天机器人,它为对话带来了一个新的互动和参与水平,对问题提供了深刻和发人深省的回答。
但ChatGPT不仅仅是个聊天机器人,而是上知天文下知地理、可以针对使用者问题给予相应的长篇回复;问答解惑、写程式和debug,甚至撰写论文、剧本小说诗歌等等,都难不倒它,只是有时还是会出现令人啼笑皆非的答案,但都还编得有模有样、令人惊艳。
ChatGPT自2022年11月30日开放公众使用以来,已经吸引超过100万人使用,社群媒体也涌现了大量用户的测试截图,主题广泛,个个都在测试人工智慧的极限。
总之,ChatGPT是一个非常强大和多功能的人工智能模型,能够提供有洞察力和吸引人的对话,并以多种不同的方式推进人工智能研究领域。OpenAI创建ChatGPT的努力无疑是一个令人印象深刻的壮举,为AI的未来提供了不可思议的潜力。
二、ChatGPT的作者是谁?🍀🍀
ChatGPT由马斯克(Elon Musk)参与创立的独立研究机构OpenAI基金会所研发,初衷是为了确保AI最终不会消灭人类。
三、ChatGPT是如何训练的?🍀🍀
📚📚ChatGPT的训练过程分为以下三个阶段👇👇
✨✨第一阶段:
冷启动阶段的监督策略模型。靠GPT 3.5本身,尽管它很强,但是它很难理解人类不同类型指令中蕴含的不同意图,也很难判断生成内容是否是高质量的结果。为了让GPT 3.5初步具备理解指令中蕴含的意图,首先会从测试用户提交的prompt(就是指令或问题)中随机抽取一批,靠专业的标注人员,给出指定prompt的高质量答案,然后用这些人工标注好的<prompt,answer>数据来Fine-tune GPT 3.5模型。经过这个过程,我们可以认为GPT 3.5初步具备了理解人类prompt中所包含意图,并根据这个意图给出相对高质量回答的能力,但是很明显,仅仅这样做是不够的。
✨✨第二阶段:
训练回报模型(Reward Model,RM)。这个阶段的主要目的是通过人工标注训练数据,来训练回报模型。具体而言,随机抽样一批用户提交的prompt(大部分和第一阶段的相同),使用第一阶段Fine-tune好的冷启动模型,对于每个prompt,由冷启动模型生成K个不同的回答,于是模型产生出了<prompt,answer1>,<prompt,answer2>….<prompt,answerK>数据。之后,标注人员对K个结果按照很多标准(上面提到的相关性、富含信息性、有害信息等诸多标准)综合考虑进行排序,给出K个结果的排名顺序,这就是此阶段人工标注的数据。
接下来,我们准备利用这个排序结果数据来训练回报模型,采取的训练模式其实就是平常经常用到的pair-wise learning to rank。对于K个排序结果,两两组合,形成个训练数据对,ChatGPT采取pair-wise loss来训练Reward Model。RM模型接受一个输入<prompt,answer>,给出评价回答质量高低的回报分数Score。对于一对训练数据<answer1,answer2>,我们假设人工排序中answer1排在answer2前面,那么Loss函数则鼓励RM模型对<prompt,answer1>的打分要比<prompt,answer2>的打分要高。
归纳下:在这个阶段里,首先由冷启动后的监督策略模型为每个prompt产生K个结果,人工根据结果质量由高到低排序,以此作为训练数据,通过pair-wise learning to rank模式来训练回报模型。对于学好的RM模型来说,输入<prompt,answer>,输出结果的质量得分,得分越高说明产生的回答质量越高。
✨✨第三阶段:
采用强化学习来增强预训练模型的能力。本阶段无需人工标注数据,而是利用上一阶段学好的RM模型,靠RM打分结果来更新预训练模型参数。具体而言,首先,从用户提交的prompt里随机采样一批新的命令(指的是和第一第二阶段不同的新的prompt,这个其实是很重要的,对于提升LLM模型理解instruct指令的泛化能力很有帮助),且由冷启动模型来初始化PPO模型的参数。然后,对于随机抽取的prompt,使用PPO模型生成回答answer, 并用上一阶段训练好的RM模型给出answer质量评估的回报分数score,这个回报分数就是RM赋予给整个回答(由单词序列构成)的整体reward。有了单词序列的最终回报,就可以把每个单词看作一个时间步,把reward由后往前依次传递,由此产生的策略梯度可以更新PPO模型参数。这是标准的强化学习过程,目的是训练LLM产生高reward的答案,也即是产生符合RM标准的高质量回答。
如果我们不断重复第二和第三阶段,很明显,每一轮迭代都使得LLM模型能力越来越强。因为第二阶段通过人工标注数据来增强RM模型的能力,而第三阶段,经过增强的RM模型对新prompt产生的回答打分会更准,并利用强化学习来鼓励LLM模型学习新的高质量内容,这起到了类似利用伪标签扩充高质量训练数据的作用,于是LLM模型进一步得到增强。显然,第二阶段和第三阶段有相互促进的作用,这是为何不断迭代会有持续增强效果的原因。
尽管如此,我觉得第三阶段采用强化学习策略,未必是ChatGPT模型效果特别好的主要原因。假设第三阶段不采用强化学习,换成如下方法:类似第二阶段的做法,对于一个新的prompt,冷启动模型可以产生k个回答,由RM模型分别打分,我们选择得分最高的回答,构成新的训练数据<prompt,answer>,去fine-tune LLM模型。假设换成这种模式,我相信起到的作用可能跟强化学习比,虽然没那么精巧,但是效果也未必一定就差很多。第三阶段无论采取哪种技术模式,本质上很可能都是利用第二阶段学会的RM,起到了扩充LLM模型高质量训练数据的作用。
以上是ChatGPT的训练流程。
四、ChatGPT的演变历程🍀🍀
1. GPT-1
就是第一代GPT模型,于2018年6月诞生时,就已经是个强大的语言理解模型。从判断两个句子间的语意与关系、文本资料分类、问答与常识推理都难不倒,只是并非好的对话式AI模型,训练参数也远低于后续模型。
2. GPT-2
2019年2月OpenAI又推出了由GPT-1演变而来的GPT-2,但主要改变只有使用了更多参数与数据集,参数量达15亿(GPT-1仅有1.17亿),而学习目标改成了「无特定任务训练」。这证明了,大幅增加的参数和资料可以让GPT-2比起GPT-1更上一层楼,虽然有些任务的表现不比随机的好,但在生成短文和编故事等方面都有了一定的突破。
3. GPT-3/GPT-3.5
2020年GPT-3也受简单粗暴地用钱堆出了更多的运算资源,延续过去GPT类的单向语言模型的训练方式,只是将模型增大到1750亿参数。GPT-3在自然语言处理领域已经取得了重大的突破,成为了当时最大、最强大的自然语言生成模型,从机器翻译到文章总结输出,都有着非常出色的表现。
只是,2020年因为疫情严峻所致,人们对于人工智慧领域的突破并没有足够的关注。而且,比起ChatGPT,GPT-3并没有办法进行自然的对话,只能处理单向的任务,因此也只有少数开发者有兴趣。
直到2022年11月底,OpenAI才发布了「GPT-3.5」的更新,主打对话模式,甚至可以承认错误、且拒绝不恰当的请求──这就是支持ChatGPT背后的模型,其更接近人类对话与思考方式的特点也吸引了全球的目光。
4. GPT-4
距上次GPT-3.5的更新不久,2023年3月14日,OpenAI又抛出GPT-4,此次除了正确度高出40%、以整理和搜寻网络上的资讯为主,还可以支援视觉输入、图像辨识,并懂得「看图说故事」!不过GPT-4没有再砸下重金、狂堆训练参数,而是把研发的重点将放在提升利用现有数据的能力上。