微调决策
问题
什么时候该微调模型?微调和 Prompt 工程如何选择?
答案
一、决策流程
二、Prompt 工程 vs RAG vs 微调
| 方案 | 适用场景 | 数据需求 | 成本 | 效果 |
|---|---|---|---|---|
| Prompt 工程 | 通用任务 | 0 | 最低 | 中 |
| RAG | 需要外部知识 | 文档 | 低 | 中高 |
| LoRA 微调 | 特定风格/格式 | 50~500 条 | 中 | 高 |
| 全量 SFT | 深度定制 | 1000+ 条 | 高 | 最高 |
三、什么时候该微调?
微调的正确时机
- Prompt 工程已到瓶颈:各种技巧都试了,效果仍不够
- 需要特定输出风格:品牌语气、专业术语、固定格式
- 需要降低成本:用小模型微调替代大模型
- 需要减少延迟:微调小模型比大模型 + 长 Prompt 更快
- 有足够标注数据:至少 50~100 条高质量样本
不该微调的情况
- Prompt 工程还没认真做
- 想让模型"学习新知识" → 用 RAG
- 数据量不足或质量差
- 场景变化快,需要频繁更新
四、微调 ROI 评估
| 因素 | 考量 |
|---|---|
| 效果提升 | 微调后准确率提升多少? |
| 数据成本 | 标注 500 条数据需要多少人力? |
| 训练成本 | GPU 费用 |
| 维护成本 | 多久需要重新微调? |
| 替代方案 | Prompt + RAG 能达到多少效果? |
常见面试问题
Q1: LoRA 和全量微调怎么选?
答案:
| 方案 | 训练参数 | GPU 需求 | 效果 | 推荐 |
|---|---|---|---|---|
| LoRA | 0.1~1% | 单卡 24G+ | 接近全量 | ⭐ 首选 |
| QLoRA | 0.1~1% | 单卡 12G+ | 略低 | 资源受限 |
| 全量 SFT | 100% | 多卡 80G+ | 最好 | 数据充足 |
建议:90% 的场景 LoRA 就够了。
Q2: 微调数据质量和数量哪个更重要?
答案:
质量远比数量重要。
- 50 条高质量数据 > 500 条低质量数据
- 关键是数据要覆盖目标场景的多样性
- 数据格式要与推理时的输入格式一致
Q3: 微调后模型效果反而变差了怎么办?
答案:
常见原因及解决方案:
- 过拟合:数据太少或 epoch 太多 → 减少训练轮数、加数据
- 灾难性遗忘:通用能力下降 → 混入通用数据、降低学习率
- 数据质量差:垃圾进垃圾出 → 清洗数据
- 格式不一致:训练和推理的 Prompt 格式不同 → 统一格式