Tune default SFT and LoRA hyperparameters

This commit is contained in:
Codex
2026-06-24 23:26:14 +08:00
parent 0b1a05cff5
commit e79c7ea9bf
3 changed files with 92 additions and 8 deletions
+29 -1
View File
@@ -147,7 +147,35 @@ export QWEN36_27B_MODEL_ID=<actual-27b-id>
- `report_to=tensorboard`
- `max_length=262144`
- `warmup_ratio=0.1`
- `learning_rate=1e-5`
- `lr_scheduler_type=cosine`
- full SFT: `learning_rate=1e-5`
- LoRA: `learning_rate=5e-5`
- 默认每卡训练 batch size 为 `1`
B300/g0049 当前是 8 张 B300,每卡约 275GB 显存。由于本实验默认上下文长度是 `262144`,预设 batch size 保守取 `1`,防止 27B/full 或长样本直接 OOM。吞吐测试时可以从脚本外部调大,建议先从 LoRA/9B 开始试。
常用覆盖方式:
```bash
# 全部训练统一覆盖
export PER_DEVICE_BATCH_SIZE=2
export GRAD_ACCUM_STEPS=2
# 只覆盖 LoRA 或 full
export LORA_PER_DEVICE_BATCH_SIZE=2
export FULL_PER_DEVICE_BATCH_SIZE=1
export LORA_LEARNING_RATE=5e-5
export FULL_LEARNING_RATE=1e-5
# 只覆盖某一个 run;优先级最高
export QWEN35_9B_LORA_R32_PER_DEVICE_BATCH_SIZE=2
export QWEN35_9B_LORA_R32_GRAD_ACCUM_STEPS=2
export QWEN36_27B_FULL_BF16_PER_DEVICE_BATCH_SIZE=1
# scheduler/warmup
export WARMUP_RATIO=0.1
export LR_SCHEDULER_TYPE=cosine
```
命令: