2

训练与调参

原理、数据格式与参数说明(非实操步骤)

为什么要微调?LoRA 简介

预训练模型擅长续写,但缺乏指令跟随。监督微调用 (prompt, response) 数据激发任务能力;本平台仅支持 LoRA——冻结原权重,只训练低秩旁路,显存友好且与端侧加载一致。

方法特点推荐场景
全参数微调容量最大,需大显存通用底座、算力充沛
LoRA低资源、可合并、效果接近全参垂直领域、小样本、赛项首选
QLoRA基座量化 + LoRA极低资源实验
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×累积」约束
迭代轮次 epoch3过少欠拟合,过多易过拟合
学习率0.0003首次不要改
loraRank16端侧常见 16/32
序列长度2048短问答可降到 1024 提速
调参速查
  • 训练失败 / 红字约束 → 增数据或减小「间隔×batch×累积」
  • 复述训练集但泛化差 → 减 epoch 或略增 dropout
  • 某类题持续答错 → 补 20~50 条该类数据,而非盲目调参
  • 回答重复乱码 → 选更早 checkpoint,勿加大学习率

训练完成后,用模块三或模块四对固定 5~10 个问题做微调前后对比。