[ PROMPT_NODE_22842 ]
grpo-rl-training
[ SKILL_DOCUMENTATION ]
# 使用 TRL 进行 GRPO/RL 训练
关于使用 Transformer 强化学习 (TRL) 库实现组相对策略优化 (GRPO) 的专家级指导。此技能提供经过实战检验的模式、关键洞察以及用于通过自定义奖励函数微调语言模型的生产级工作流。
## 何时使用此技能
在以下情况使用 GRPO 训练:
- **强制执行特定输出格式**(例如:XML 标签、JSON、结构化推理)
- **教授具有客观正确性指标的可验证任务**(数学、编码、事实核查)
- **通过奖励思维链模式提高推理能力**
- **在没有标记偏好数据的情况下使模型符合特定领域的行为**
- **同时优化多个目标**(格式 + 正确性 + 风格)
**请勿将 GRPO 用于:**
- 简单的监督微调任务(请改用 SFT)
- 没有明确奖励信号的任务
- 当您已经拥有高质量偏好对时(请改用 DPO/PPO)
---
## 核心概念
### 1. GRPO 算法基础
**关键机制:**
- 为每个提示生成**多个补全**(组大小:4-16)
- 使用奖励函数比较组内的补全
- 更新策略以偏向组内奖励较高的响应
**与 PPO 的关键区别:**
- 不需要单独的奖励模型
- 样本效率更高(从组内比较中学习)
- 更易于实现和调试
**数学直觉:**
对于每个提示 p:
1. 生成 N 个补全: {c₁, c₂, ..., cₙ}
2. 计算奖励: {r₁, r₂, ..., rₙ}
3. 学习提高高奖励补全的概率
相对于同组中低奖励补全的概率
### 2. 奖励函数设计哲学
**黄金法则:**
1. **组合多个奖励函数** - 每个函数处理一个方面(格式、正确性、风格)
2. **适当缩放奖励** - 权重越高 = 信号越强
3. **使用增量奖励** - 对部分合规给予部分奖励
4. **独立测试奖励** - 分别调试每个奖励函数
**奖励函数类型:**
| 类型 | 用例 | 示例权重 |
|------|----------|----------------|
| **正确性** | 可验证任务(数学、代码) | 2.0 (最高) |
| **格式** | 严格结构强制执行 | 0.5-1.0 |
| **长度** | 鼓励冗长/简洁 | 0.1-0.5 |
| **风格** | 惩罚不需要的模式 | -0.5 到 0.5 |
---
## 实现工作流
### 第 1 步:数据集准备
**Cr