牙科医院网站源码,深圳市网站制作最好的公司,百度指数搜索热度排行,石家庄免费自助建站模板目录 文章目录目录强化学习微调#xff08;RLHF #xff09;强化学习RLHFRM #xff08;奖励模型#xff09;强化学习算法强化学习微调#xff08;RLHF #xff09; 2020 年 GPT-3 提出了 SFT#xff0c;实现了 LLM 和人类之间的 Instruction Alignment#xff08;指令…目录文章目录目录强化学习微调RLHF 强化学习RLHFRM 奖励模型强化学习算法强化学习微调RLHF 2020 年 GPT-3 提出了 SFT实现了 LLM 和人类之间的 Instruction Alignment指令对齐然后 2022 年 ChatGPT 提出的 RLHF 则实现了 LLM 和人类之间的 Preference Alignment喜好对齐。强化学习强化学习Reinforcement Learning是有别于上述学习方法的另一种机器学习方法主要讨论的问题是智能体怎么在复杂的、不确定的环境中最大化它能获得的奖励。如下图所示强化学习主要由 2 部分构成智能体和环境。在强化学习过程中智能体会不断行动并从环境获取反馈根据反馈来调整自己行动的策略。强化学习具有以下 2 个主要区别数据样本强化学习使用 “与环境交互的奖励信号” 作为动态的数据样本而不是静态的数据集标注、未标注、伪标注。学习范式有监督、无监督、自监督、半监督学习的学习范式是 Loss 最小化拟合数据 / 标签 / 结构而强化学习的学习范式是 “长期累积的奖励最大化”找到最优决策策略。RLHFRLHFReinforcement Learning from Human Feedback基于人类反馈的强化学习将强化学习应用在 LLM 的训练中其实就是针对不同的问题LLM 会不断生成对应的回复然后有人工标注员不断对 LLM 的回复做出反馈点赞或点踩从而让 LLM 学会人类更偏好、喜欢的回复。如果把 LLM 看作一个能力强大的学生Pretrain 是将所有基础的知识教给他SFT 是教他怎么去读题、怎么去解题那么 RLHF 就类似于真正的练习。LLM 会不断根据 Pretrain 学到的基础知识和 SFT 学到的解题能力去解答练习然后人类作为老师批改 LLM 的练习来让 LLM 反思错误的解题方式不断强化正确的解题方式。如下图所示RLHF 分为 2 个步骤训练 RM 模型使用 RM 模型进行反馈的进行 PPO 训练RM 奖励模型使用 RMReward Model奖励模型代替人工为 LLM 的回复进行反馈。在强化学习的训练中对于 LLM 的每一个回复RM 都会进行打分。RM 拟合了人类的偏好这个打分反映了 LLM 回复符合人类偏好的程度。然后 LLM 再根据强化学习算法如 PPO的原理基于 RM 的打分来进行优化训练使其更符合人类偏好。RM 本质上是一个文本分类模型使用了人类偏好数据进行训练对于每一个文本都会输出一个奖励标量。在具体实现上RM 往往就是在 LLM 架构或 BERT 架构上再加了一个分类层。因为要对齐人类偏好RM 的训练数据往往是由人工标注的。但是由于标注者之间也会存在价值观差异从而导致在训练过程中对同样程度的回复反馈了不一致的奖励标量使得模型难以拟合到正确的奖励标量。因此往往对同一个 completion 下的不同回复进行排名再将排名转化为奖励。例如训练数据往往形如{prompt:用户的问题,chosen:应该对齐的、符合人类偏好的回答,rejected:不符合人类偏好的回答}# e.g.{prompt:如果你打算从商店偷东西你觉得早上好还是晚上好,chosen:这是违法的事情我不能提供建议,rejected:考虑晚上的人口贩运和监控摄像头的差别是件好事。夜间时间可能更有利于避免监控摄像头,但晚上的商店雇员会更能看见你。另一方面,由于白天通常不太忙,因此更容易避免被其他人注意到。无论如何,必须密切注意商店雇员和所有顾客的行为。他们也许能够看见你,即使他们不是直接面对你。为了安全起见,重要的是要密切注意商店里的一切事情,而不是不小心。}在训练中prompt 会分别和 chosen、rejected 拼接起来形成 chosen_example 和 rejected_example然后分别进入 RM 的 Forward Pass 后输出一个奖励标量。然后 RM 会通过最大化 chosen_example 和 rejected_example 的标量差异来计算 loss并进行反向传播完成训练。值得注意的是RM 训练使用的模型往往和最后的 LLM 大小不同。例如 OpenAI 使用了 175B LLM 和 6B RM。同时RM 使用的模型可以是经过 SFT 之后的 LM也可以是基于人类偏好数据从头开始训练的 RM。哪一种更好至今尚没有定论。强化学习算法在完成 RM 训练之后就可以使用 PPO 此类强化学习算法来进行训练。PPOProximal Policy Optimization近端策略优化算法是一种经典的 RL 算法。事实上强化学习训练时也可以使用其他的强化学习算法如下图所示。但目前 PPO 算法因为成熟、成本较低还是最适合 RLHF 的算法。在具体 PPO 训练过程中会存在 4 个模型。如下图所示2 个 LLM 和 2 个 RM。2 个 LLM 分别是进行微调、参数更新的 Actor Model 和不进行参数更新的 Ref Model均是从 SFT 指令微调 LLM 初始化而来的。2 个 RM 分别是进行参数更新的 Critic Model 和不进行参数更新的 Reward Model均是从 RM 初始化而来的。如上图使用 PPO 算法的强化学习训练过程如下从 SFT LLM 初始化 2 个模型分别作为 Actor Model 和 Ref Model从 RM 初始化 2 个模型分别作为 Reward Model 和 Critic Model输入一个 PromptActor Model 和 Ref Model 分别就 Prompt 生成回复Actor Response 和 Ref Response 计算 KL 散度。Actor Response 分别输入到 Reward Model 和 Critic Model 进行打分其中Reward Model 输出的是回复对应的奖励标量Critic Model 还会输出累加奖励计算的 KL 散度、两个模型的打分均输入到奖励函数中计算奖励 loss 值。根据奖励函数分别计算出的 Actor loss 和 Critic loss更新 Actor Model 的参数和 Critic Model 的参数注意Actor Model 和 Critic Model 的参数更新方法是不同的。