Skip to content

大模型(LLMs)强化学习——PPO 面经

来源:AiGC面试宝典 日期:2024年5月5日


一、大语言模型 RLHF 中的 PPO 主要分哪些步骤?

大语言模型 RLHF 中的 PPO 分为三个核心步骤:

  1. 采样(Sampling):生成答案
  2. 反馈(Feedback):计算奖励
  3. 学习(Learning):更新参数

对应的实现逻辑如下:

python
policy_model = load_model()for k in range(2000):
    # 步骤1:采样(生成答案)
    prompts = sample_prompt()
    data = respond(policy_model, prompts)

    # 步骤2:反馈(计算奖励)
    rewards = reward_func(reward_model, data)

    # 步骤3:学习(更新参数)
    for epoch in range(4):
        policy_model = train(policy_model, prompts, data, rewards)

📝 通俗解释:PPO训练就像训练一个学生。采样相当于学生做题(根据问题生成答案),反馈相当于老师批改打分(reward model给答案评分),学习相当于学生根据批改意见订正(更新模型参数)。这三个步骤循环进行,让学生(模型)越来越聪明。


二、举例描述一下大语言模型的 RLHF?

大语言模型的 RLHF,实际上是模型"先试错再学习"的过程。

RLHF 好比是老师与学生的角色扮演:

  • 我们扮演老师的角色,给出有趣的问题。
  • 模型则像小学生一样,不断尝试给出答案。
  • 模型会根据我们给出的问题,写出它觉得正确的答案,但这些答案不一定是对的。
  • 我们会结合正确答案进行打分:表现得好→给予表扬;表现不佳→给予指导反馈,帮助它不断改进,直到达到令人满意的水平。

📝 通俗解释:想象一下,你教一个小孩写作文。他写完后,你会告诉他哪些句子写得好,哪些需要改进。RLHF就是这个道理——让模型通过"试错"学习,奖励好的回答,惩罚差的表现,最终变得越来越聪明。


三、大语言模型 RLHF 采样篇

3.1 什么是 PPO 中采样过程?

PPO 中采样过程:学生回答问题的过程,是模型根据提示(prompt)输出回答(response)的过程,或者说模型自行生产训练数据的过程。

prompt(问题)response(回答)
请告诉我三种常见的动物。猫、狗、鹦鹉。
如何评价电影《爱乐之城》?音乐的经典令人赞叹不已,结局却让人感到五味杂陈。
詹姆斯和库里谁更伟大?他们都很伟大,我无法比较。

📝 通俗解释:采样就像考试时学生看到题目后写出答案。在PPO中,模型看到问题(prompt),然后写出自己的回答(response)。这些回答会成为后续训练的数据。


3.2 介绍一下 PPO 中采样策略?

PPO 中采样工作通过一种策略(Policy)来实现,Policy 由两个模型组成:

  • 演员模型(Actor):我们想要训练的大模型。在用 PPO 训练之前,它是 RLHF 第一步训练出来的 SFT(Supervised Fine-Tuning)模型。输入一段上下文,它将输出下一个 token 的概率分布。

  • 评论家模型(Critic):强化学习的辅助模型。输入一段上下文,它将输出下一个 token 的"收益"(即预期能获得的奖励)。

📝 通俗解释:Actor(演员)就像学生,负责"输出答案";Critic(评论家)就像老师,负责"评估答案好不好"。学生写出答案后,老师来打分并告诉学生哪里可以改进。这两个角色配合,让学生(模型)越来越厉害。


3.3 PPO 中采样策略中,如何评估"收益"?

收益(Return):从当前 token 开始,模型能够获得的总奖励(浮点数标量)。这里的奖励包括 Reward Model 给出的奖励。

📝 通俗解释:收益就像考试的总分。如果一道题答对了,不仅当前这道题得分,后面的相关题目也可能因此受益。PPO中的"收益"就是综合考虑从现在到未来的所有奖励总和。


四、在 PPO 过程中,Reward Model 的效果上会有什么问题?

在 PPO 过程中,Reward Model 的准确率会逐渐下降,这就是所谓的 Reward Model 的 OOD(Out-of-Distribution)问题

  • Reward Model 的训练样本一般来自 SFT 模型的 responses
  • 在 PPO 过程中,Policy Model 刚开始和 SFT 生成的 response 很相似,所以 Reward Model 准确率较高
  • 但随着 Policy Model 逐渐偏离 SFT,Reward Model 的准确率会持续下降

📝 通俗解释:这就像让一个老师批改从未见过的作业。一开始学生写的答案和老师见过的差不多,老师批改很准;但后来学生开始"创新",写出老师没见过的答案,老师就不知道怎么打分、容易打错了。这就是Reward Model的OOD问题——模型生成的答案"超纲"了,Reward Model不认识。


五、如何解决 Reward Model 的 OOD 问题?

方案一:Llama2 的做法(重新标注)

在训练过一段时间 RLHF 以后,重新对 Policy 采样 pair 对,人工标注数据,然后继续训练 Reward Model。

缺点:太费人力,难以持续。

方案二:Reward Modeling 论文的方法(Meta Learning)

参考论文 Secrets of RLHF in Large Language Models Part II: Reward Modeling [2]:

  • 整体思想:由于 Policy Model 在 Reward Model 训练时会向 reward 高的方向更新
  • Reward Model 应该对 reward 高的 response pair 更有区分度
  • 设置梯度更新逐渐倾向于对 reward 高分的 training response pair 倾斜

缺点:由于缺少对模型 on policy 的采样,效果不太好。

方案三:West-of-N 方法(合成偏好)

参考论文 West-of-N: Synthetic Preference Generation for Improved Reward Modeling [3]:

  • 不再用人进行标记,而是通过 Reward Model 本身对新的模型 on policy pair 进行打分
  • 取一个 query 的 response set 中最高分和最低分的数据组成 pair
  • 加入到 Reward Model 的训练中

缺点:上限受原先 Reward Model 的能力影响。

📝 通俗解释:解决Reward Model"不认识新答案"的问题,有三种思路:

  1. 找人帮忙(Llama2方法):让人重新标注新出现的数据,但太费时费力
  2. 让老师更聪明(Meta Learning方法):让Reward Model更关注高分答案,学会区分好坏
  3. 自己给自己打分(West-of-N方法):用现有的Reward Model给新答案打分,取最好的和最差的来训练自己

个人总结

如何做出泛化能力比较强的 Reward Model,会是一个比较难、也是比较限制模型发展的问题。


六、RLHF 中 PPO 有什么问题?为什么大家都设计很多方法去替代它?

PPO 主要存在以下问题:

1. 模型复杂度高(Notable Complexity)

由于 PPO 中需要4个模型同时加载在 GPU 中:

  • Policy Model(策略模型)
  • Reference Policy Model(参考策略模型)
  • Value Model(价值模型)
  • Reward Model(奖励模型)

会占用大量 GPU 资源。

📝 通俗解释:PPO训练就像同时请四个老师来教一个学生——演员老师(负责输出)、参考老师(负责对比)、评论家老师(负责打分)、奖励老师(负责评估)。每个老师都要占一台电脑(GPU),成本很高。


2. GPU 利用率低(Online Learning Problem)

由于模型是在线采样:

  • Policy 过 batch samples 时,Reward Model 会空置
  • Reward Model 给 pair 打分时,Policy Model 也会空置
  • 导致 GPU 利用率不高

📝 通俗解释:就像一个厨房只有一个厨师在工作。切菜时炉子空着,炒菜时砧板空着——PPO中各个模型不能同时工作,导致硬件资源浪费。


3. 调参困难(Hyperparameter Tuning)

PPO 的超参数调节比较困难,需要一些经验丰富的"炼丹高手"才能调好。

📝 通俗解释:PPO就像一台复杂的机器,有很多旋钮(超参数)要调整。转错一点,机器就可能罢工。需要有经验的老师傅才能调对。


参考资料


参考文献

  • [1] Touvron H, Martin L, Stone K, et al. Llama 2: Open foundation and fine-tuned chat models[J]. arXiv preprint arXiv:2307.09288, 2023.
  • [2] Wang B, Zheng R, Chen L, et al. Secrets of RLHF in Large Language Models Part II: Reward Modeling[J]. arXiv preprint arXiv:2401.06080, 2024.
  • [3] Pace A, Mallinson J, Malmi E, et al. West-of-N: Synthetic Preference Generation for Improved Reward Modeling[J]. arXiv preprint arXiv:2401.12086, 2024.

基于 MIT 许可发布