目录
1 如何训练 GPT 助手
1.1 第一阶段 Pretraining 预训练
1.2 第二阶段:Supervised Finetuning有监督微调
1.3 第三阶段 Reward Modeling 奖励建模
1.4 第四阶段 Reinforcement Learning 强化学习
1.5 总结
2 第二部分:如何有效的应用在您的应用程序
2.1 一些技巧可以提升GPT的表现
2.1.1 如果任务需要推理,不能指望 transformer 对每个标记进行太多推理,必须将推理分散到越来越多的标记上。
2.1.2 可以问它:“你完成任务了吗”,来推动它进行检查。
参考文献:
【精校版】Andrej Karpathy微软Build大会精彩演讲: GPT状态和原理 - 解密OpenAI模型训练_哔哩哔哩_bilibili
在B站上看的一个视频,简单记一下笔记。
1 如何训练 GPT 助手
训练过程分为4个阶段,其中第一个阶段属于 PreTrain,而后面3个阶段属于微调 FineTune。,在FineTune的3个阶段(Supervised FineTuning + Reward Modeling + Reinforcement Learning),模型按SFT->RM->RL的方向进化
1.1 第一阶段 Pretraining 预训练
所有计算工作基本发生的地方,是训练计算时间的 99%。
在实际训练数据之前,还需要经过一个预处理步骤即标记化
1.2 第二阶段:Supervised Finetuning有监督微调
个人理解:这个地方我的理解是,其实GPT并不是一个问答模型,它本质上还是用来预测文档的下文的,只不过我们把训练数据的文档里面写了一些问题和答案,然后这样GPT预测文档下文时就相当于是回答了我们的问题。
基础模型不是助手,他们不想回答你的问题,他们只是想完成文件,
在有监督的微调阶段,我们将收集少量但高质量的数据集。在这种情况下,将要求人工承包商收集及时和理想响应形式的数据,将收集很多,通常是上万个。
1.3 第三阶段 Reward Modeling 奖励建模
进入 RLHF,从人类反馈中强化学习,包括奖励建模和强化学习。在奖励建模中,是将数据收集转变为比较形式
transformer 会根据prompt的完成程度预测一些奖励,所以它对每个完成的质量进行了猜测。我们将其制定为损失函数,并训练模型做出与来自所有承包商比较的基本事实一致的奖励预测,这使我们能够对提示的完成程度进行评分
奖励模型本身作为助手不是很有用,但是对于下面的强化学习阶段非常有用。因为有了奖励模型,所以可以对任何给定提示的任意完成的质量进行评分
1.4 第四阶段 Reinforcement Learning 强化学习
针对奖励模型进行强化学习
1.5 总结
基础模型有很多熵
伯克利的一个团队做的排名:
2 第二部分:如何有效的应用在您的应用程序
人在写作的时候,有一个独立的过程,几乎是在检查正在写的东西,并判断它是否好,然后也许删除了,也许重新构造,也许对结果感到满意,有很多的内心独白。
但是,在训练 GPT 的时候,这样的句子是什么样的?
从 GPT 的角度,只是一个标记序列(tokens)。当GPT在接收到一个输入,比如你给出的主题。它会生成一段与输入相关的文本,GPT的目标是预测下一个词,所以它会连续生成一串词,形成一段连贯的文本。
他们不知道他们不知道什么,不知道自己擅长什么、不擅长什么,不检查任何东西。它不会纠正自己的错误,它只是产生抽样的标记序列
他们的头脑中没有单独的内心独白流,他们正在评估正在发生的事情。但他们确实有认知优势,拥有大量基于事实的知识涵盖大量领域。
prompt 只是弥补了这两种架构之间的认知差异。
2.1 一些技巧可以提升GPT的表现
2.1.1 如果任务需要推理,不能指望 transformer 对每个标记进行太多推理,必须将推理分散到越来越多的标记上。
设定步骤来引导GPT展示其工作过程(Chain of Though)
此外可以通过说“let's think step by step”,使得transformer 有点像展示它的工作
2.1.2 可以问它:“你完成任务了吗”,来推动它进行检查。
人类的工作里,可以开始写,没有成功,可以再试一次;多次尝试,选择一个最好的
而 transformer遇到死胡同则会继续走下去,即使他们知道会失败
参考文献:
【精校版】Andrej Karpathy微软Build大会精彩演讲: GPT状态和原理 - 解密OpenAI模型训练_哔哩哔哩_bilibili