库存网站建设公司,网站建设好处,协会网站制作,网上如何申请注册公司首先声明喔#xff0c;我是没有任何人工智能基础的小白#xff0c;不会涉及算法和底层原理。
我依照我自己的简易理解#xff0c;总结出了ChatGPT是怎么训练得到的#xff0c;非计算机专业的同学也应该能看懂。看完后训练自己的min-ChatGPT应该没问题
希望大牛如果看到这…首先声明喔我是没有任何人工智能基础的小白不会涉及算法和底层原理。
我依照我自己的简易理解总结出了ChatGPT是怎么训练得到的非计算机专业的同学也应该能看懂。看完后训练自己的min-ChatGPT应该没问题
希望大牛如果看到这篇文章后就当图一乐。 文章目录ChatGPT名词解释这里看看就行ChatGPT是怎么训练得到的InstructGTP训练流程Step1 以监督学习的方式对GPT3进行微调得到监督学习模型Step2 训练出一个奖赏模型Step3 训练得到基于PPO算法的强化学习模型总结最后说一下我对ChatGPT的理解ChatGPT名词解释这里看看就行 ChatGPTGPT人类反馈强化学习 GPT是Generative Pre-trained Transformer生成预训练变换模型
Generative生成的意思因为这是个能生成文本的模型。Pre-trained预训练的意思这里代表无监督学习是没有明确目的的训练方式你无法提前知道结果是什么生成文本比较发散。Transformer变换的意思代表是模型训练是网络架构网络里面的各个参数不断变换嘛。
人类反馈强化学习是什么呢
可以这样理解模型的训练结果很大程度依赖人类的反馈人类对其生成的结果进行打分。对打分的结果重新输入的模型中来对模型进行调整。得分高相当于告诉它”多生成这样的结果“。得分低的相当于告诉它”不要生成这样的结果“。
ChatGPT是怎么训练得到的
首先看一下ChatGPT发展时段 从GPT1到GPT3这个过程GPT的三个模型几乎都是相同架构只是有非常非常少量的改动。但一代比一代更大,也更烧钱.。所以我对GPT系列的特点就是: 钞能力, 大就完事了。 其影响力和花费的成本是成正比的。
模型发布时间参数量预训练数据量GPT-12018年6月1.17亿约5GBGPT-22019年2月15亿40GGPT-32020年5月1750亿45TB
从InstructGPT到ChatGPT没有很大的改动ChatGPT采用的是InstructGPT的架构本质上是一样的只不过采用的训练的数据更多和人类聊天相关所以变成了ChatGPT。
所以最主要是看InstructGPT怎么通过GPT3来的。
InstructGTP训练流程
我参考了OpenAI发表关于InstructGPT论文https://arxiv.org/pdf/2203.02155.pdf分为如下的三步。
理论上讲只要看懂了训练步骤的这三部分就可以训练得到我们自己的 ChatGPT 通俗化后如下…下面我会详细解释每一步。 Step1 以监督学习的方式对GPT3进行微调得到监督学习模型 首先收集人们在对话中更感兴趣的问题形成一个问题库然后不断从数据库中提取一个问题称为prompt给到现实生活中的人让它来做出回答。原论文图片里面的例子是给6岁的儿童解释强化学习让人工回答完后将问题和回答一起放入到GPT-3.5中进行监督学习来得到一个生成模型。
每次往模型中输入一个文本它就是按照训练的数据给我们输出一个文本。
补充问题库的来源
GPT3面世后OpenAI提供了api可集成到自己的项目中用户使用的时候直接采用 prompt的方法做0样本或小样本的预测
下面的代码就是调用OpenAI提供的api使用的同时OpenAI会收集prompt数据研究人员从这些问题prompt中采样一部分人工对这些问题prompt做回答得到的结果称为demonstration即有标签数据再用这些demonstration继续微调GPT3
import openai
openai.api_key**********************
response openai.Completion.create(modeltext-davinci-003,promptprompt,temperature0,max_tokens100,top_p1,frequency_penalty0.0,presence_penalty0.0,
)
message response.choices[0].text
print(message)毫无疑问第一步通过大量监督学习的方式其实是比较困难的它消耗很多的资源。**很难找到足够多的人来回答问题很多不同领域的问题并且有些回答不好评价它的好坏。**因此有了接下来的两步。
Step2 训练出一个奖赏模型 奖赏模型的训练方式针对同一个问题让第一步得到监督学习模型给出四个答案。让现实中的人对这四个回答进行排序对这个排序来进行训练奖赏模型。
虽然我造不出冰箱但我可以评价一个冰箱的好坏。意思是说我没有办法像监督学习这样的方式告诉你冰箱是怎么造的但是我是冰箱实际上的使用者我是可以评估冰箱是好还是坏的。就像我没有办法向6岁儿童解释深度学习但是我可以对生成回答判断是好是坏就能很轻易的对它们进行排序。
很显然排序的成本是比直接回答的成本更低的。
补充为什么需要奖赏模型
我们需要不断对生成的结果进行排序来得到人们最满意的回答。人能够对生成的结果进行满意度排序那我们也希望有模型来对结果排序。
Step3 训练得到基于PPO算法的强化学习模型 PPO算法不用管只用知道这是人工智能领域一个很厉害的强化学习的算法就行了。深入不讨论。
首先我们还是从数据集里面取出一条问题prompt然后放入到强化学习模型里面得到了一条输出文本。我们对输出的文本进行打分把打分的结果反馈到强化学习模型中。
这个强化学习模型是基于第一步得到的监督模型得到的打分的话是用到第二部得到的奖励模型。
总结
InstructGPT比GPT3有哪些方面的改进
InstructGPT使用的训练数据是人们更加经常使用到的比如日常的对话常见的数学、物理知识等等。因此我们使用ChatGPT才能更像对话。****引入了强化学习
ChatGPT这次能破圈引起全球讨论原因是采用了对话形式让每个普通人都能感受到人工智能技术的强大
最后说一下我对ChatGPT的理解 ChatGPT的出现并不是说OpenAI有多厉害他们用的技术并不都是原创的技术甚至很多模型都是行业内开源的但是他们巧妙地把这些模型融合到了一起。更为关键的是ChatGPT将模型参数扩大到了1750亿模型框架没有改变但是参数有了十倍、百倍的增长最终量变引发了质变 ChatGPT更准确的定位是个人助手 它在办公场景里很好用比如写大纲、写报告、写文章还有做题甚至写代码就算是编程的初学者也能在其帮助下写出高质量的代码。现在ChatGPT已经具备了一定的逻辑推理能力未来在客服、营销、医疗等诸多场景下只要是重复性的人脑劳动都有可能被ChatGPT取代
参考
何小枝https://www.zhihu.com/people/who-u
周总https://mp.weixin.qq.com/s/h2IOP3XDJ_RicqiV4l00GQ