强化微调 vs 监督微调:o1 是如何炼成的?|02/12 days of openai:RFT
Length: • 1 min
Annotated by Harry
hello 你好 欢迎来到小能熊的知识视频 我是小能熊的老陈 今天是OpenAI十二连发 OpenAI双12发布会的第二天内容的探讨和解读 我们上一次的内容 讲的是满血的o1模型以及ChatGPT Pro 200美元那个档的会员的解读 今天 第二天的发布会 其实OpenAI是很短20分钟 但是 微言大义 他只讲了一个概念
叫强化微调 但强化微调 它其实是非常的有信息量 它也是整个o1训练模型的关键 对我们来讲其实是可以非常有启发的 今天我大概会跟大家谈什么东西 就是首先 我会跟大家一起来 去针对OpenAI的20分钟直播 来去划重点 然后一起来去共读一下 共同学习一下这里面的内容 然后我们来回顾一下 一年前GPT-4刚发布的时候
那个时候 GPT的模型是怎么样去训练的 然后我们现在再来看一下 对比一下 就是o1模型 它的训练过程 跟GPT的训练有什么不一样 通过这两种对比 我们希望能够从中得到一些启发 不单单是关于o1模型如何训练 更重要的是关于人类学习的启发 尤其是家庭教育的这方面的启发 这就是我们今天大概会聊的内容 然后照例还是
就是我们讲这个知识视频 我特别希望是通过这种方式 通过这种真实的桌面的 真实的笔记的展示 你可以理解为 这就是我的视频的脚本 我希望通过这种方式 大家一起来去探讨 学习和知识管理 这种最佳的范例 所以我们先来看 第二天的发布的内容 他真的就只讲了一件事 就是强化微调 什么叫强化微调 我们用一句话来说 它其实就是把强化学习原理
用于 o1模型的后训练阶段的微调环节 为什么叫后训练 因为o1模型它还是大语言模型 它还是预训练 占它的99%的训练的内容 但是后面的1%里面 一个关键的调料换了 从标准的监督微调换成了强化微调 这个其实特别有意思 为什么 因为通过这种强化微调的方式 OpenAI他们在直播里面 直接现场给大家demo了一下
他能够通过1,000多条数据的强化微调 让o1-mini在特定的任务上面 超越满血版的o1 你要知道 o1-mini的参数量 应该只是满血版o1的1/10 但是他能取到这样的结果 非常非常的厉害 我一般来讲 知识视频的学习的方式方法 我们可以探讨一下 就是因为 我们平时肯定会去看一些知识类型的视频 但是我们都知道 其实你看一眼 留下的东西会特别特别的少 所以我不论是
看 andrej karpathy 或者是看 3blue1brown的知识视频 其实我都会把它 剪藏到我的readwise reader里面 然后我会边看边划线 因为它自动会有这些文稿嘛 我边看边划线还可以记笔记 所以你看这次20分钟的 OpenAI发布会的视频 我大概记了18个划线的内容 然后划线的部分 我会去做一些 简单的一些笔记 我会把这里面20分钟主要的要点 给它画出来 their own data sets 第一个是什么 第一个其实就是说 他们这一次是用的监督微调
跟以前的强化微调 就是supervised finetuning 是不一样的 它有什么特别厉害的一点 就是这种强化学习的算法 它是让高中生水平 让GPT-3那种高中生水平 上升到现在的o1博士生水平的关键 所以其实对于人类学习 也是这个样子的 这后面我们会详细的详细的去讲 然后再到这一块 其实就是在讲 就是强化学习 把模型的能力 从高中生水平
推高到了专家级的博士水平 然后 这一段讲的是什么 其实就是强化微调的应用场景 就是它用在专业领域 例如法律、金融 工程、保险这些专业领域 模型通过海量的阅读 预训练就相当于海量阅读嘛 海量阅读之后 他并不能成为一个领域的专家 所以他还要通过 强化微调的方式 让他在特定的领域里面 去进行特定的推理任务 他通过海量的推理的练习
并且通过对过程的进行反馈 最终能够实现很强的效果 最终能够实现很强的效果 所以这里面 他还特别提到了一点 其实就是说 他们只用了十几个这样的样例 你可以理解为o1模型 只做了十几个题目 他就能够在领域里面 取得惊人的效果 而对比之下 我们会反思 人类学习如果用了题海战术 海量的刷题 其实你会知道这里面大部分内容都是浪费的 大部分的时间都是浪费的 例如像衡水模式
用那种头悬梁锥刺股 一天学十几个小时 学几年的时间 这里面题海战术 是有大量的精力是浪费的 我们不希望我们的孩子 包括我们自己的学习 有这样的这种低效的方式 然后 它里面还提到了GPT模型 本质上是一个知识模型 它的特点是它在各个领域里面 包括整个的 通识的范围里面 有海量的世界知识和领域知识 而o1模型 它的本质是systemic reasoner 它是系统性的推理者
所以说o1目前它实际上是推理引擎 然后它这里面直接展示了后台 教大家怎么样去做后面的微调 这其实还挺有意思的 等到明年上线的时候 我觉得 我们也希望能够自己亲自去微调一些 这样的版本来 然后怎么说 就是这后面 他其实会讲了一些比较technical 比较具体的部分 我们在视频后面 也会跟大家来去讲 所以本次学习的目标是什么 其实就是刚才我跟大家大概过了一下
我看发布会直播的时候 然后我直播的时候 第一遍我是夜里两点看的 看了20分钟 然后后来白天的时候 我又把它剪藏到我的readwise reader里面 然后我边读边划线 边看视频边划线 然后写了一些我的笔记 所以我这一次的直播要跟大家来去 一起来去探讨 来去费曼一下我自己的理解 然后同时 我希望把我得到的一些启发 也能够分享给你 我们一起来探讨 o1的模型的训练的关键
对人类学习 对家庭教育能有什么样的启示 所以这就涉及到什么 就是我们得先去了解一下 这o1模型的训练 跟GPT模型的训练 有发生了什么样的变化 那我们就得先看 GPT模型是怎么训练的 所以这个里面 我会调到2023年5月份 5月23号 2023年5月23号的时候 Andrej Karpathy 在微软的开发大会上面 他做了一次演讲 这个演讲非常的有信息量
其实就是你会看到 整个GPT模型的训练过程 分成一步两步三步四步 主要就是四步 第一步其实就是pretraining 预训练 这个预训练 它需要上千块的GPU 训练几个月 也就是说 99%的训练的时间都花在了预训练阶段 训练完之后 得到的是base model 得到了一个基础模型 然后后面 它会通过在特定领域 海量的Q&A的内容 去进行supervised finetuning
这一次o1就把supervised finetuning 这种基本的 标准化的监督微调 转换成了强化学习的微调 但是我们都知道 就这里面都谈到 就是不论是GPT的模型 还是o1的模型 它在微调阶段 所花的时间都是极少的 不到1% 但是这决定了整个模型的产出 而之所以你能用少量的微调 能够得到非常好的结果 就在于前面有一个base model 有海量阅读的base model
这里面对于人类学习的启发 大家都能够明白 非常非常之大 然后后面 其实就是有奖励模型的阶段 就类比一下 相当于就是三观 价值观树立的这么一个阶段 而到最后一个阶段 就是GPT的模型的训练 采用了一种看起来叫强化学习 但它实际上 本质上不是真正的强化学习 它是基于人类反馈的强化学习 相当于就是说 它是把人类的价值的偏好 用强化学习的方式
给GPT训练到 这一块也是GPT训练里面的一个环节 所以我们大概来过一下 就是说这里面GPT训练过程当中 有几个主要的阶段 预训练 监督微调和基于人类反馈的强化学习 然后我们类比一下 预训练其实相当于就是海量阅读、泛读 这也就是 我们阅读的重要性 阅读对于学习者的重要性 你有海量的阅读 后面 你可以通过很小的一些案例的微调 你就能取得非常非常好的结果
然后监督微调是类比什么 准确的来讲 监督微调应该类比于主题阅读 或者是说专业领域的阅读 你针对一些主题来去进行海量阅读 例如我可能在好几年的时间里面 把我的阅读都局限在自我管理 学习方法 脑科学 还有认知科学 还有AI这些主题 这就相当于是监督微调的范围 他的阅读的量
相对于你之前海量阅读 成千本的书 这里面只有几十本 但这几十本 其实让你在这个领域里面 体现出非常强的能力 打好非常好的认知基础 然后到 基于人类反馈的强化学习 它也是一种强化学习吧 到了o1模型里面 就完全不一样了 所以这整个来讲 我们对比一下 就是之前我也讲到过 就是整个训练过程 对我们的启发 就是说 我娃小树她在准备FCE考试的时候 我们真的就是
平时没有上过一次的培训班 然后在考前就做了四套卷子 这四套卷子 每一次我给她反馈的过程 你可以理解为 这就是强化学习的这么一个阶段 你只要做这几套卷子 然后这过程当中 你做好这些反馈 让她进行集中的训练 她取得的结果 其实就是比题海战术要好很多 所以这一次的o1的训练过程 它跟GPT训练有什么不一样 就是说它把强化学习 应用到了微调过程当中 它的后训练里面
就从监督微调变化成了强化微调 在强化微调过程当中 它实际上其实就是 让模型去做大量的推理 而推理 主要采用了这种思维链的形式 什么叫思维链 其实大家如果关注GPT的话也都知道 他是把人类的推理的过程 给他做了一种总结 总结成 其实就是说你的思考是 像一个链条一样 一个环节扣一个环节 扣一个环节 就是我们不论是数学解题的过程
还是说你在编程的时候 设计代码的这么一个过程 还是说你解其他的STEM学科里 理科类的解题的这些过程 它其实都是一个思维的链 然后这具体的来讲 其实大家都知道 思维链里面最著名的prompt是什么 就叫let's think step by step 让我们一步一步的来去思考 当然了 在论文里面他们还展示了 就是说 有比这一句更有效的prompt是什么 其实就是: 让我们一步一步的思考,
解决这个问题, 并确保我们得到正确的答案。 这个结果 会稍微比上一句 let's think step by step更好一些 我们把思维链 应用到后训练的过程当中 就这一次的o1模型的训练 就从以前的监督微调变成了强化微调 然后以前的监督微调 我们说了 你可以类比为它是一种 专业领域的阅读 但是到了强化微调这个模式的话
我们就可以理解为他是变成了做题 或者是说考前的集训了 或者说在专业领域里面去推理 然后我们举一个例子吧 我们举一下 整个的发布会过程当中 他用的一个实例 这就是他们 GPT强化微调的一个实例 这个实例其实就是给他一系列的信息 这是一个51岁的患者 他有一系列的这些症状 他包括这些症状 然后他没有这些症状 然后给他的指令是
让他指出这些症状背后 可能出现的基因的问题 然后用排序的方式来去进行排序 并且通过症状来提供解解释 这个案例里面的正确答案是FOXE3 FOXE3的基因 这个其实是我把案例扔给GPT 让GPT来去做一下解释 其实就是说 这个是OpenAI 强化微调的一个典型的实例
你会发现这个典型的实例 是不是特别像我们 平时做题一样 所以这样的话 GPT其实就是要在他自己的脑子里面 来去推理 这些症状背后可能的基因 然后GPT会产出一系列的答案 他可能列出了5个基因 按照先后的顺序来去排序 然后o1训练的模型 就训练的过程当中 会给他一个反馈 假如说他答出了一个正确的答案 就会给他很高的分数 然后假如答错了
就会给他低的分数 假如他列了5个基因里面 正确的答案在第2或第3名里面 可能就会给他在0和1之间 给他一个中间的数吧 所以这就是很具体的例子 他的强化微调就是这么调的 然后我们重点要来谈一谈 就整个的过程当中 能给我们一些什么样的启发 首先给我特别大的启发 其实就是说我们平时会讲 父母跟孩子在家庭场景之下的家庭教育 我们父母一定要去做一个正反馈父母
我会想到就是所谓的正反馈或者负反馈 他的原理其实就是强化学习 那什么叫强化学习 我们跳到强化学习这边来看一下 结合一个例子来跟大家讲一讲 什么叫强化学习 最熟悉的强化学习的例子 其实就是那个巴布洛夫的狗 那个狗作为一个主体 它有一个环境 然后你在这边摇铃铛 就是给它反馈 给它好吃的 或者是没有给它吃的 就是一种反馈 更具体一些例子是什么 就是你刷手机
你看短视频 所以你作为一个主体 你是实验对象 然后外部的环境 就例如手机这样外部的信息环境 然后你刷了之后 你手指上滑 它给你一个新颖的东西 刺激你多巴胺分泌 它是一个反馈 通过这种正反馈的行为 就会强化你主体的这么一个行为 然后负反馈 就会减弱你的主体的行为 所以所谓强化学习 其实就是智能体在环境当中 采取了一些行动 然后
环境给他正反馈或者负反馈 然后 主体就会改变他的 下一轮的学习的状态 这样的话 我们来看 其实就是说 我们在家庭的环境当中 其实父母就是孩子学习的环境 孩子呢 其实就是这样的智能体 所以针对孩子的学习的行为 父母提供奖励或者惩罚 然后孩子通过奖励或者惩罚 来用强化学习的方式 来调整自己的下一步行为 如果父母发火 孩子可能就是一下子脑子就停住了 然后他就把整个的反馈给他
记录下来 可能下一次做题的时候 他就会特别的紧张 所以这种 正反馈和负反馈 他背后的原理其实就是强化学习 然后到了 预训练的这么一个阶段 预训练 它相当于其实就是我们的广泛阅读 占据我们99%的模型训练时间 然后呢 标准的监督微调 相当于其实就是我们的主题阅读 我之前也讲过 我们除了海量的 没有方向的阅读之外
我们可能也会针对我们自己感兴趣的主题 例如如果你对学习感兴趣的话 你肯定要去阅读 认知心理学里面的很多的书 这就是一个同主题阅读嘛 你不但要去阅读 认知心理学方面的 百科全书 你还要去阅读 一些便于入门的一些小册子 你可能还要去阅读 专业的一些书籍 甚至是大学的教科书 同理 像脑科学、神经科学 像AI深度学习这些主题 都是我们海量阅读的过程
所以监督微调 相当于其实就是我们的主题阅读 而RFT 就是这一次o1模型训练 RFT 你可以理解为它其实就是考前的集训 或者是专业的训练 我给大家举一个例子吧 就是因为我在做审计师之前 其实我一直是做财经翻译的 但是我本科是生物工程的 然后我并没有翻译方面的经验 和能力的训练
但是由于我在做具体的翻译之前 我觉得我是有比较多的预训练 相当于就是说我本身的英语学习 我的词汇量和英语原著的阅读量 以及中文的阅读量是比较多的 那我是怎么学翻译的 其实就是现在的我老婆 当时的我女朋友 她就让我来去翻译 经济学人的内容 翻译一篇她改一篇 给我一篇反馈 就是大概就翻了三篇 翻了三篇以后 就第一篇应该是惨不忍睹的
就是各种各样的问题 然后她给我比较详细的反馈 然后再改一篇错误就少了很多 然后到了第三篇差不多 她就觉得我就可以做翻译了 所以我后面 就是经过了三篇的翻译练习 后面其实全是靠我 在翻译的实践当中 去大量的去训练 相当于就是说做了三篇就出师了 就可以来去做专业训练了 我觉得这是一个比较典型的例子 就相当于就是说 我们并不需要海量的题海战术 如果你在前面有广泛阅读
和主题阅读的基础 你在特定领域里面的表现 它实际上是可以通过少量的 少而精的刻意练习和反馈 来去迅速得到很好的结果的 这也就是为什么 OpenAI在他们的直播里面会讲 就是说即使只是十几个例子 就能让模型在一个领域里面 表现的非常的好 取得非常好的结果 然后他们官方的那个Demo的例子
也就只不过用了1,000多条数据 然后训练的结果 竟然能让o1-mini超越o1的表现 所以同理 就是刚才我跟我讲了 就是小树学习FCE作文的例子 就是说 以前的模式是 你在教培的班级上面 花几个月甚至几年的时间 大量的去做题 大量的去讲解 但是之所以需要大量做题大量讲解 花这么多的时间和这么多的金钱 就是因为孩子没有前面的pretraining
和监督微调的这样的过程 我们要知道 广泛的阅读 和pretraining的这么一个过程 实际上在整个的模型当中 要占据99%的模型训练时间 然后就是说 一个小孩儿或者是一个成年人 他如果没有这样的 海量的阅读的预训练 他把大量的时间只花在听课 然后去搞教培 他可能花了很多的时间金钱
但是最终的结果 还不这么好 就是说他整个OpenAI 他训练他们的模型 不论是训练GPT模型 还是训练o1模型的过程当中 我的理解就是他们在养孩子 他们像养一个小孩儿一样 来去训练他们的大语言模型 所以反过来 其实就是说我们自己的终身学习也好 还是说我们在家庭教育当中 关注孩子的学习也好 我们需要像训练大语言模型一样
训练我们自己 训练我们的孩子 大概这就是我觉得 特别特别重要的启发 所以你会看到 就是我这边还强调了一点 就是说我们在一个领域里面的专长 然后我们在一个领域里面 一些特定任务上面的能力 它其实都是要通过强化学习的方式 来去进行训练的 因为毕竟我们前面的海量阅读 它并不会让我们在某个领域 表现的特别强 并不会发展出来 特别特别强的推理的能力 所以你会看到AlphaGo这样的模型
它实际上就是通过强化学习 自己跟自己博弈的方式 然后去推理 然后最终在围棋领域里面 体现出专长来 然后另外 其实就是我们刚才谈到的 GPT里面有的 但是现在o1模型里面 没有采用的方式 它叫RLHF 就是我们以前会觉得 GPT模型里面也有强化学习 但实际上那个强化学习 他那里面的学习的整个的 模型的目标
他的奖励函数 并不是这个本身 而是说 他是利用一种人为设定的函数 可以这么理解 相当于就是说 你做一个模型 你的强化学习的目标 并不是你自己想出来的真正的目标 而是父母给你设定的目标 假如说父母让你考公考研进体制内 这个东西就叫 基于人类反馈的强化学习 然后它并不是学习者真正的目标 而这一次o1模型的训练 就把过去的GPT模型里面的SFT和RLHF
换成了强化学习的微调 所谓的叫强化微调 好 这就是我们今天整个讲的内容 就是怎么说 我觉得 整个的OpenAI的发布会 今天是第二天 他只讲了这样的一个概念叫强化微调 我个人认为 他会对我们的自己的学习也好 还是说对我们如何教育孩子也好
他的启发是非常非常大的 因为相对于GPT模型 GPT模型的整个的训练过程 其实给我们的启发已经足够大了 就是我们要知道 就是说 我们特别重要的是海量的预训练 海量的阅读 这个要在整个的模型的预训练时间 和人类学习时间里面 要占99%的时间 然后在这个基础之上 其实特别重要的一点 其实就是说我们的做题要少而精 要像强化学习一样 要像OpenAI训练o1模型一样 要去做这种强化微调
我们要在做题的时候 我们要用思维链的方式 我们要针对这些特定的领域 提供有效的反馈 每次做题 我们都能够强化一下 我们在这个领域里面的推理的方式 我们是一步一步思考 我们用解题四步法的方式 首先去理解问题 其次形成不同的解决的方案 然后去执行计算 最后进行反馈 你会发现其实你做100道题也好 1,000道题也好
其实都在强化这一个解题的元技能 这个解题的元技能 它某种意义上来说 就是一种人类的思维链 然后我们做的题 只要是我们能够用这种方式 刻意练习的来去做题 我们最终就会能取得 做的题更少 但是效果更好这样一种结果 我觉得其实就是这一次的 OpenAI的第二天的发布会 给我们的一些启发 通过这过程
我也跟大家一起回顾了一下 我们之前GPT训练的这么一个过程 好 这就是我今天要跟大家 交流、讨论、分享的内容 非常感谢你的时间 谢谢