2
训练与调参
原理、数据格式与参数说明(非实操步骤)
为什么要微调?LoRA 简介
预训练模型擅长续写,但缺乏指令跟随。监督微调用 (prompt, response) 数据激发任务能力;本平台仅支持 LoRA——冻结原权重,只训练低秩旁路,显存友好且与端侧加载一致。
| 方法 | 特点 | 推荐场景 |
|---|---|---|
| 全参数微调 | 容量最大,需大显存 | 通用底座、算力充沛 |
| LoRA | 低资源、可合并、效果接近全参 | 垂直领域、小样本、赛项首选 |
| QLoRA | 基座量化 + LoRA | 极低资源实验 |
LoRA:原权重 W 冻结,只更新低秩支路 A、B
训练数据格式
zip 根目录须直接包含以下文件(不能多套一层文件夹):
text
train.zip 根目录/
├── dataset_info.json # 键名必须是 my_data
├── my_data.jsonl # 每行一条 JSON
└── images/ # 图文样本可选
json
{
"my_data": {
"file_name": "my_data.jsonl",
"formatting": "sharegpt",
"columns": { "messages": "conversations", "images": "image" },
"tags": {
"role_tag": "from", "content_tag": "value",
"user_tag": "human", "assistant_tag": "gpt"
}
}
}
- 纯文本:
image必须为null - 带图:human 的
value开头含<image> - 自建数据须 ≥160 条(默认超参约束)
- 总包 ≤1GB;图片单张 <500KB
训练参数说明与调优
首次训练全部使用默认值,只保证数据条数满足约束。完成训练 → 转换 → 部署后再按需调整。
| 参数 | 默认 | 说明 |
|---|---|---|
| 批处理大小 | 4 | 越大吞吐越高、显存越大 |
| 梯度累积 | 4 | 与小 batch 配合形成有效批量 |
| Checkpoint 间隔 | 10 | 参与「≥间隔×batch×累积」约束 |
| 迭代轮次 epoch | 3 | 过少欠拟合,过多易过拟合 |
| 学习率 | 0.0003 | 首次不要改 |
| loraRank | 16 | 端侧常见 16/32 |
| 序列长度 | 2048 | 短问答可降到 1024 提速 |
调参速查
- 训练失败 / 红字约束 → 增数据或减小「间隔×batch×累积」
- 复述训练集但泛化差 → 减 epoch 或略增 dropout
- 某类题持续答错 → 补 20~50 条该类数据,而非盲目调参
- 回答重复乱码 → 选更早 checkpoint,勿加大学习率