语言模型微调实战(01):为什么要微调与路线图
通用 Instruct 模型已经很会对话,但接到垂直任务时常常「不够稳」。这一篇先不写命令,而是把「为什么要微调、目标是什么、整条路线怎么走」讲清楚。
基座模型哪里不够?
通用 Instruct 模型接到垂直任务时,常见短板是:
- 行为约束不够稳:角色、口吻、拒答边界容易漂移。
- 结构化输出不可靠:下游系统需要固定 schema(例如 JSON),模型却经常用自然语言「解释一遍」。
微调的目标,通常就是两件事同时推进:
- 让模型更贴合任务人设与领域表达;
- 让模型在「需要结构化输出」时,稳定产出可解析结果。
推荐路线图
1 | 定义任务与输出 schema |
为什么起步用 LoRA,而不是全量微调?因为对中小规模监督数据,LoRA 通常已经够用:显存更省、迭代更快、产物更小。全量微调可以作为后续对比实验,不必作为第一步。
三阶段目标
| 阶段 | 目标 | 怎么算过关 |
|---|---|---|
| 跑通 | 能训、能合并、能推理 | loss 正常下降,产出可加载模型 |
| 可用 | 核心结构化任务大体正确 | 用专门指标评估,而不是只看字符串全匹配 |
| 可上线 | 泛化与格式稳定性达标 | 未见过的说法也能稳住;必要时加后处理 |
关键原则(先记住)
- 数据质量决定上限,超参只决定你离上限有多近。
- 验证集必须与训练集互斥;否则分数虚高,上线会打脸。
- 不同任务用不同指标:结构化输出看 schema / 字段匹配;开放文本看人工抽检或语义相似度。
语言模型微调实战第 01 篇完。下一篇:SFT 是任务,LoRA 是方法——把这两个最容易混的词拆开。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 WALL-E's Blog!








