> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monostate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 超参数

> 训练的旋钮和拨盘

# 超参数

超参数控制模型的学习方式。将它们视为训练的设置。

## 三个基本参数

### Learning Rate

更新模型时的步长。

* **太高 (0.01)**：模型跳跃，永不收敛
* **太低 (0.00001)**：训练需要永远
* **刚好 (0.00002)**：稳定改进

常见值：

* Fine-tuning: 2e-5 到 5e-5
* 从零训练: 1e-4 到 1e-3

### Batch Size

在更新 weights 之前处理多少个示例。

* **小 (8)**：更多更新，不太稳定，需要更少内存
* **大 (128)**：更少更新，更稳定，需要更多内存

常见值：

* 有限 GPU: 8-16
* 良好 GPU: 32-64
* 多个 GPU: 128+

### Epochs

遍历整个数据集的次数。

* **太少 (1)**：欠拟合，模型学习不够
* **太多 (100)**：过拟合，记忆训练数据
* **刚好 (3-10)**：良好平衡

观察 validation loss - 当它停止改进或变差时，停止。

## 次要设置

### Warmup Steps

开始时逐渐增加 learning rate。

```
Steps 0-500: Learning rate 从 0 → 2e-5
Steps 500+: Learning rate 保持在 2e-5
```

防止早期不稳定。

### Weight Decay

防止 weights 变得过大的正则化。

* 默认值: 0.0（用于 LLM fine-tuning）
* 无正则化: 0
* 强正则化: 0.1

### Gradient Accumulation

在有限硬件上模拟更大的批次。

```
有效批次大小 = batch_size × gradient_accumulation_steps
```

示例: batch\_size=4, accumulation=8 → 行为像 batch\_size=32

## 特定任务的默认值

### Text Classification

```python theme={null}
learning_rate = 5e-5
batch_size = 8
epochs = 3
warmup_ratio = 0.1
```

### Language Model Fine-tuning

```python theme={null}
learning_rate = 3e-5  # AITraining 默认值
batch_size = 2
epochs = 1
warmup_ratio = 0.1
weight_decay = 0.0
gradient_accumulation = 4
```

### Image Classification

```python theme={null}
learning_rate = 1e-4
batch_size = 32
epochs = 10
warmup_ratio = 0.05
```

## 何时调整

**Learning rate 太高？**

* Loss 爆炸或变为 NaN
* Accuracy 疯狂跳跃
* 永不收敛

**Learning rate 太低？**

* Loss 几乎不下降
* 训练需要永远
* 卡在性能差的状态

**Batch size 问题？**

* 内存不足 → 减少 batch size
* 训练不稳定 → 增加 batch size
* 如果内存有限，使用 gradient accumulation

## 快速开始值

不确定从哪里开始？试试这些：

```python theme={null}
# 大多数任务的安全默认值
learning_rate = 2e-5
batch_size = 16
epochs = 3
warmup_ratio = 0.1
weight_decay = 0.0
```

然后根据您看到的情况进行调整。

## 评估设置

控制训练期间何时以及如何评估您的模型：

| 参数                      | 描述                                    | 默认值          |
| ----------------------- | ------------------------------------- | ------------ |
| `eval_strategy`         | 何时评估 (`epoch`, `steps`, `no`)         | `epoch`      |
| `eval_batch_size`       | 评估的批次大小                               | `8`          |
| `use_enhanced_eval`     | 启用高级指标（BLEU、ROUGE 等）                  | `False`      |
| `eval_metrics`          | 要计算的指标（逗号分隔）                          | `perplexity` |
| `eval_save_predictions` | 保存模型预测                                | `False`      |
| `eval_benchmark`        | 运行标准基准（mmlu、hellaswag、arc、truthfulqa） | `None`       |

## 专业提示

1. **从默认值开始** - 最初不要过度思考
2. **一次更改一个** - 更容易看到什么有帮助
3. **记录一切** - 跟踪什么对您的数据有效
4. **使用验证集** - 监控过拟合

## 下一步

<CardGroup cols={2}>
  <Card title="评估指标" href="/foundations/evaluation-metrics">
    衡量您的成功
  </Card>

  <Card title="训练如何工作" href="/foundations/how-training-works">
    了解过程
  </Card>
</CardGroup>
