当前位置: 首页 > article >正文

《大规模语言模型从理论到实践》第一轮学习--强化学习(RLHF)

一、强化学习的意义 

RLHF(Reinforcement Learning from Human Feedback):强化学习(Reinforcement Learning)结合人类反馈(Human Feedback)来微调大语言模型。

大语言模型的训练步骤包括:预训练、指令微调(SFT)、对齐。

对齐(alignment)的含义是让 LLM 与人类的价值观保持一致。这就是 RLHF 的用武之地。

二、强化学习基本概念

2.1总体概念

智能体在环境中获取某个状态后,会根据该状态输出一个动作,也称为决策。 动作会在环境中执行,环境会根据智能体采取的动作,给出下一个状态以及当前动作所带来的奖励。智能体的目标就是尽可能多地从环境中获取奖励。

2.2例子理解

例子1:

例子2:从机器狗学习抓飞盘的深入理解强化学习的概念

机器狗扔飞盘,机器狗形成了一个智能体。它会执行动作。飞盘的轨迹、速度构成了环境。机器狗根据当前环境反馈的关于飞盘的状态(S)来决定采取什么动作(A)。同时,根据机器狗所执行的动作,环境随后会给出一个反馈即奖励(R)

机器狗根据不同的环境状态采取不同的动作的过程就是学习策略的过程,同时它会根据价值函数来预测自己所采取的行为可能带来的奖励是多少。

总体来说,强化学习的目标就是让智能体通过与环境的互动,学习到一个策略,使其能够在将来获得的奖励最大化。这使得强化学习不总是关注近期奖励,而是在短期的奖励与远期奖励之间找到平衡。

2.3相关概念详解

1.动作:可以分为离散动作空间、连续动作空间。

2.策略:将输入的状态变成动作。随机性策略:根据输入的状态利用概率分布采样一个动作,确定性策略:智能体直接采取最有可能的动作。

3.价值函数:对未来奖励的预测。

4.智能体分类:基于价值的智能体(Value-based Agent)显式地学习价值函数,隐式地学习策略。基于策略的智能体(Policy-based Agent)则 是直接学习策略函数。策略函数的输入为一个状态,输出为对应动作的概率。演员-评论员智能体(Actor-critic Agent)则 是把基于价值的智能体和基于策略的智能体结合起来。

二、LLM中强化学习的概念

2.1LLM中RLHF的总体流程理解

在LLM中RLHF的运用有两个阶段:在奖励模型学习阶段,会使用 prompt 和配对的响应训练一个显式的逐点奖励函数。之后,开始强化学习策略训练阶段;在这个阶段,LLM 和预训练奖励模型分别作为一个强化学习框架中的智能体环境。LLM做出动作,奖励模型计算收益。

为了训练 InstructGPT,要用到三个数据集:1.SFT 数据集:包含用于训练 SFT 模型的标注者演示。2.RM(奖励模型)数据集:由人类标注者对模型输出的排名构成,用于训练奖励模型。3.PPO 数据集:由用作 RLHF 微调输入的 prompt 构成。

训练后的 InstructGPT 会在三个方面得到评估:有用性、可信度、有害性。

2.2RHLF的详细流程理解

LLM 和预训练奖励模型分别作为一个强化学习框架中的智能体环境

步骤1:预训练语言模型+有标签数据微调

步骤2:训练奖励模型

 奖励模型的训练:目的是为了建立一个客观的评估标准,用于衡量LLM在各种任务上的表现。通过训练奖励模型,我们可以为LLM提供反馈信号,指导其不断优化自身表现。要训练奖励模型首先要有人类反馈的数据集。数据集的格式如下:

然后就可以训练奖励模型

步骤3:通过强化学习微调语言模型

Actor Model:演员模型。想要训练的目标语言模型,在SFT阶段初始化

Reference Model:参考模型。它的作是在RLHF阶段给语言模型增加一些”约束”,防止语言模型训歪。其在SFT阶段产生,在RLFT训练过程中参数冻结,在训练时用KL散度来计算其与Actor Model的差距。


Critic Model:评论家模型。它的作用是预估总收益V->(t)。大部分时候与Reward Model一起初始化,在训练时需要参数更新。它在最后一层加了一个Value Head线性层,用于将原始输出结果映射成单一的值。

Reward Model:奖励模型。它的作用是计算即时收益R->(t)。在RW训练阶段产生的奖励模型,在RLFT训练过程中其参数冻结。其与Reference Model 和Actor Model的区别在于其最后需要计算一个标量的数值。

Actor/Critic ModeI在RLHF阶段是需要训练的;而Reward/Reference Model是参数冻结的
Critic/Reward/Reference Model综合计算loss,用于更新Actor和Critic Model。

整个RLHF可以分为以下步骤

1.输入Prompt

2.Actor Model生成输出At

3.传给三个模型,评论家模型评估Vt,奖励模型模型评估Rt,参考模型会将Prompt做出另外的输出,然后与演员模型进行比较。

涉及到的损失函数

三、DeepSpeed-chat实战

3.1DeepSpeed对RLHF的问题分析

3.2代码

在github上可以下载代码,关键代码路径:

参考说明(感谢这些老师和作者)

1.主要参考作者: 11大模型全栈-强化学习04-RLHF实战-deepspeed-chat实战_哔哩哔哩_bilibili

2.一文看尽LLM对齐技术:RLHF、RLAIF、PPO、DPO…… | 机器之心 (jiqizhixin.com)

3.LLM微调(三)| 大模型中RLHF + Reward Model + PPO技术解析_ppo reward model-CSDN博客

4.强化学习中的奇怪概念(一)——On-policy与off-policy - 知乎 (zhihu.com) 


http://www.kler.cn/news/337741.html

相关文章:

  • 【Java 问题】基础——泛型
  • 视频加字幕用什么软件最快?12款工具快速添加字幕!
  • 算法知识点————贪心
  • 【Python进阶】Python中的操作系统接口:使用os模块进行系统调用
  • Qt小bug — LINK : fatal error LNK1158: 无法运行“rc.exe“
  • 杂谈c语言——6.浮点数的存储
  • Nginx06-静态资源部署
  • DTO(数据传输对象)
  • 硬件电路中高频信号终端电阻作用
  • 服务器虚拟化的详细学习顺序
  • pygame--超级马里奥(万字详细版)
  • STM32外设简介
  • expressjs 中的mysql.createConnection,execute 怎么使用
  • MATLAB与R语言在建模中的合作与应用(下篇)
  • OpenAI在周四推出了一种与ChatGPT互动的新方式——一种名为“Canvas”的界面
  • Go编译为可执行文件
  • 22.第二阶段x86游戏实战2-背包遍历REP指令详解
  • php反序列化逃逸例题两道
  • 【Linux】wsl虚拟机时间和实际时间不符合
  • 基于SpringBoot的诗词学习网站的设计与实现