[ PROMPT_NODE_22864 ]
hyperparameters
[ SKILL_DOCUMENTATION ]
# 超参数
SimPO 超参数选择与调优的完整指南。
## 概述
SimPO 中的关键超参数:
1. **学习率 (Learning Rate)** - 最关键
2. **Beta (β)** - 奖励缩放
3. **Gamma-Beta 比率 (γ/β)** - 目标边际
4. **SFT 权重 (SFT Weight)** - 正则化强度
## 学习率
### 推荐范围
**按模型大小划分**:
| 模型大小 | 学习率 | 备注 |
|------------|---------------|-------|
| 1B-3B | 5e-7 到 1e-6 | 偏高较安全 |
| 7B-8B | 3e-7 到 5e-7 | **标准** |
| 13B-30B | 1e-7 到 3e-7 | 较低以保持稳定 |
| 70B+ | 5e-8 到 1e-7 | 非常保守 |
**按任务类型划分**:
| 任务 | 学习率 | 原因 |
|------|---------------|--------|
| 通用对话 | 5e-7 | 标准 |
| 代码生成 | 3e-7 | **精确推理** |
| 数学推理 | 3e-7 | **谨慎优化** |
| 创意写作 | 1e-6 | 可更激进 |
### 为什么学习率很重要
**过高** (7B 模型 > 1e-6):
- 损失发散
- 灾难性遗忘
- 训练不稳定
**过低** (7B 模型 < 1e-7):
- 收敛极慢
- 可能无法按时完成
- 训练不足
**最优** (7B 模型 3e-7 到 5e-7):
- 稳定收敛
- 良好的最终性能
- 高效训练
### 配置示例
**Mistral 7B (通用)**:
yaml
learning_rate: 5e-7
num_train_epochs: 1
warmup_ratio: 0.1
lr_scheduler_type: cosine
**Llama 3 8B (推理)**:
yaml
learning_rate: 3e-7
num_train_epochs: 1
warmup_ratio: 0.1
lr_scheduler_type: cosine
**Gemma 2 9B (创意)**:
yaml
learning_rate: 1e-6
num_train_epochs: 1
warmup_ratio: 0.1
lr_scheduler_type: linear
## Beta (β)
### 推荐值
**范围**: 2.0 到 10.0 (远高于 DPO 的 0.01-0.1)
**按偏好强度划分**:
| Beta | 偏好强度 | 使用场景 |
|------|-------------------|----------|
| 1.0-2.0 | 弱 | 微弱偏好 |
| 2.0-5.0 | **标准** | 通用对齐 |
| 5.0-10.0 | 强 | 明确偏好 |
**默认值**: 2.0 到 2.5
### 为什么 Beta 很重要
**低 Beta** ( 10.0):
- 奖励信号非常强
- 过拟合风险
- 可能忽略微弱偏好
**最优** (2.0-5.0):
- 平衡的奖励缩放
- 稳定训练
- 良好的泛化能力
### 与 Gamma 的交互
**Beta 与 Gamma 共同作用**:
奖励空间的目标边际 = gamma
Logit 空间的目标边际 = gamma / beta
**示例**:
yaml
beta: 2.0
gamma_beta_ratio: 0.5
# 有效 gamma = 2.0 * 0.5 = 1.0
##