我们之前在中已经介绍了大模型和LLM的基本概念,在 中展开介绍了一下LLM。
今天我们来介绍一下类似ChatGPT这样的LLM是如何微调的。
Andrej Karpathy之前在微软Build 2023开发者大会上做了专题演讲:State of GPT(GPT的现状),里面详细介绍了ChatGPT是如何微调的,我觉得讲的还是蛮好的,于是我把这个演讲录了下来,现在分享给大家。
Andrej Karpathy在上述演讲里提到ChatGPT就是按照如下这张图来微调的:
Andrej Karpathy提到ChatGPT的微调流程实际是如下这样的三步走:
第一步:针对预训练模型,收集示范数据并进行SFT:
从数据集中选择提示问题,Contractor人工书写针对上述提示问题期望的输出。
这些数据(提示问题+期望输出)用于通过监督学习来微调预训练模型,这一步骤被称为监督式微调-Supervised Fine-Tuning(SFT)。
第二步:针对SFT,收集比较数据并训练一个奖励模型RM:
选取一个提示和多个经过SFT微调后的针对这个提示的LLM输出,Contractor人工将这些输出从最好到最差进行排序。这个排序数据用于训练一个奖励模型-Reward Model(RM),该模型帮助LLM了解哪些输出更优。
第三步:针对SFT和RM,使用PPO进行强化学习RL(Reinforcement Learning):
从数据集中选取一个新的提示,然后使用近端策略优化-Proximal Policy Optimization(PPO)强化学习算法用经过SFT微调后的LLM产生一个输出。然后使用第二步中训练好的奖励模型RM为该输出计算奖励值。然后使用PPO算法用计算出的奖励值来更新LLM的参数,目标是追求奖励值的最大化。
暂无评论内容