大模型训练|模型精调|什么是强化学习RLHF
有勇气的牛排
74
AI大模型
2025-04-20 21:58:06
1 前言
RLHF 是Reinforcement Learning from Human Feedback(来自人类反馈的强化学习)的缩写,是近年来在人工智能,特别是大预言模型(LLM)如ChatGPT、Gpt-4中非常关键的一项技术。它结合了强化学习和人类监督的有点,用来训练更加符合人类期望的智能体。
PPO(Proximal Policy Opttimization):用于强化学习优化,能保持策略更新不偏移太大。
DPO(Direct Preference Optimization):一种新方法,直接从偏好数据中训练策略网络,可能代替RLHF。
1.1 RLHF的核心思想
RLHF的目标是:
让AI模型的行为更加符合人类的偏好和价值观。
这不是传统意义上只用奖励函数(reward function)来训练智能体,而是通过人类反馈(人来评价)来间接构造奖励信号,从而指导模型行为。
2 RLHF 的只要流程(3步)
2.1 预训练(Supervised Fine-Tuning, SFT)
- 使用大规模文本数据(比如网页、书籍、对话)对模型进行预训练,或者使用人工标注的问答进行监督微调。
- 是一个监督学习过程,模型学会了基本的语言能力和上下文理解能力。
例如:
Q: 请介绍一下量子力学。
A: 量子力学是一门研究微观粒子行为的物理学分支,它...
2.2 奖励模型训练(Reward Model Traing)
- 收集人类的反馈(比如对模型的输出进行打分),训练一个奖励模型(Reward Model, RM)。
- 奖励模型的目标:给定一个问题和多个候选答案,预测哪个更好。
例如:
输入(prompt):“如何向小学生解释相对论?”
模型 |
输出 |
人工打分 |
A |
相对论是一种描述物体在高速运动时行为的理论,提出者是爱因斯坦…… |
2 |
B |
相对论告诉我们,当你动得很快,时间会变慢,就像电影里那样…… |
3 |
… |
… |
… |
这样,B的分数高,因为更易懂,所以作为奖励模型的训练数据。
2.3 基于奖励的强化学习(PPO)
使用强化学习算法(最常用的是 Proximal Policy Optimization, PPO)对模型进行训练,使得它生成的内容获得更高的奖励分数。
强化学习部分中:
- 当前模型作为策略函数(policy)
- 奖励模型作为价值函数(reward function)
- 通过多轮交互与模拟训练,逐步优化模型,使得它更偏向于人类喜欢的回答。
3 RLHF 的优势
特点 |
说明 |
解决奖励函数难以手工设计的问题 |
在很多任务重,很难直接写出一个奖励函数(比如回答好不好),但可以请人来评分 |
更符合人类偏好 |
人工参数打分,使模型结果更“合乎人意” |
实现价值对齐(Value Alignment) |
控制模型输出内容,避免有害,偏激或虚假回答 |
4 RLHF 流程图(简化)
预训练数据集(书籍、网页、问答)
↓
初始语言模型(GPT)
↓
监督微调(SFT)
↓
构造多个回答&人类评分(Reward Model)
↓
使用 PPO 进行强化学习训练(RLHF)
↓
最终模型(如ChatGPT)
5 RLHF 存在的挑战
问题 |
描述 |
人类打分主观性强 |
不同人对好的回答标准不同 |
数据成本高 |
需要大量人工打分数据 |
模型可能学会“讨好人” |
生成看起来不错,但不一定准确的回答 |
奖励黑箱问题 |
奖励模型可能捕捉到错误的偏好信号 |
<h2><a id="1__0"></a>1 前言</h2>
<p>RLHF 是Reinforcement Learning from Human Feedback(来自人类反馈的强化学习)的缩写,是近年来在人工智能,特别是大预言模型(LLM)如ChatGPT、Gpt-4中非常关键的一项技术。它结合了强化学习和人类监督的有点,用来训练更加符合人类期望的智能体。</p>
<p>PPO(Proximal Policy Opttimization):用于强化学习优化,能保持策略更新不偏移太大。</p>
<p>DPO(Direct Preference Optimization):一种新方法,直接从偏好数据中训练策略网络,可能代替RLHF。</p>
<h3><a id="11_RLHF_8"></a>1.1 RLHF的核心思想</h3>
<p>RLHF的目标是:</p>
<blockquote>
<p>让AI模型的行为更加符合人类的偏好和价值观。</p>
</blockquote>
<p>这不是传统意义上只用奖励函数(reward function)来训练智能体,而是通过人类反馈(人来评价)来间接构造奖励信号,从而指导模型行为。</p>
<h2><a id="2_RLHF_3_16"></a>2 RLHF 的只要流程(3步)</h2>
<h3><a id="21_Supervised_FineTuning_SFT_18"></a>2.1 预训练(Supervised Fine-Tuning, SFT)</h3>
<ul>
<li>使用大规模文本数据(比如网页、书籍、对话)对模型进行预训练,或者使用人工标注的问答进行监督微调。</li>
<li>是一个监督学习过程,模型学会了基本的语言能力和上下文理解能力。</li>
</ul>
<p>例如:</p>
<pre><div class="hljs"><code class="lang-shell">Q: 请介绍一下量子力学。
A: 量子力学是一门研究微观粒子行为的物理学分支,它...
</code></div></pre>
<h3><a id="22_Reward_Model_Traing_30"></a>2.2 奖励模型训练(Reward Model Traing)</h3>
<ol>
<li>收集人类的反馈(比如对模型的输出进行打分),训练一个奖励模型(Reward Model, RM)。</li>
<li>奖励模型的目标:给定一个问题和多个候选答案,预测哪个更好。</li>
</ol>
<p>例如:</p>
<p>输入(prompt):“如何向小学生解释相对论?”</p>
<table>
<thead>
<tr>
<th>模型</th>
<th>输出</th>
<th>人工打分</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td>相对论是一种描述物体在高速运动时行为的理论,提出者是爱因斯坦……</td>
<td>2</td>
</tr>
<tr>
<td>B</td>
<td>相对论告诉我们,当你动得很快,时间会变慢,就像电影里那样……</td>
<td>3</td>
</tr>
<tr>
<td>…</td>
<td>…</td>
<td>…</td>
</tr>
</tbody>
</table>
<p>这样,B的分数高,因为更易懂,所以作为奖励模型的训练数据。</p>
<h3><a id="23_PPO_47"></a>2.3 基于奖励的强化学习(PPO)</h3>
<p>使用强化学习算法(最常用的是 Proximal Policy Optimization, PPO)对模型进行训练,使得它生成的内容获得更高的奖励分数。</p>
<p>强化学习部分中:</p>
<ul>
<li>当前模型作为策略函数(policy)</li>
<li>奖励模型作为价值函数(reward function)</li>
<li>通过多轮交互与模拟训练,逐步优化模型,使得它更偏向于人类喜欢的回答。</li>
</ul>
<h2><a id="3_RLHF__57"></a>3 RLHF 的优势</h2>
<table>
<thead>
<tr>
<th>特点</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>解决奖励函数难以手工设计的问题</td>
<td>在很多任务重,很难直接写出一个奖励函数(比如回答好不好),但可以请人来评分</td>
</tr>
<tr>
<td>更符合人类偏好</td>
<td>人工参数打分,使模型结果更“合乎人意”</td>
</tr>
<tr>
<td>实现价值对齐(Value Alignment)</td>
<td>控制模型输出内容,避免有害,偏激或虚假回答</td>
</tr>
</tbody>
</table>
<h2><a id="4_RLHF__65"></a>4 RLHF 流程图(简化)</h2>
<pre><div class="hljs"><code class="lang-shell">预训练数据集(书籍、网页、问答)
↓
初始语言模型(GPT)
↓
监督微调(SFT)
↓
构造多个回答&人类评分(Reward Model)
↓
使用 PPO 进行强化学习训练(RLHF)
↓
最终模型(如ChatGPT)
</code></div></pre>
<h2><a id="5_RLHF__81"></a>5 RLHF 存在的挑战</h2>
<table>
<thead>
<tr>
<th>问题</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>人类打分主观性强</td>
<td>不同人对好的回答标准不同</td>
</tr>
<tr>
<td>数据成本高</td>
<td>需要大量人工打分数据</td>
</tr>
<tr>
<td>模型可能学会“讨好人”</td>
<td>生成看起来不错,但不一定准确的回答</td>
</tr>
<tr>
<td>奖励黑箱问题</td>
<td>奖励模型可能捕捉到错误的偏好信号</td>
</tr>
</tbody>
</table>
留言