很多人第一次听到「预训练-微调」是在看模型资料或者面试题,概念记住了但说不清它到底解决什么问题。更常见的困惑是:手里有个具体任务,到底要不要走微调这条路,还是提示词加检索就够了。这篇把两阶段的分工、判断标准和动手顺序讲清楚,让你能对着自己的场景做决定,而不是背定义。
很多人第一次听到「预训练-微调」是在看模型资料或者面试题里,定义背下来了,但真落到自己手头的任务上就卡住:到底要不要走微调这条路,还是提示词加检索就够。这篇不讲论文,只讲两阶段各自负责什么、什么场景下才值得动手,以及动手之前要先过哪几道判断。
先说结论:绝大多数团队这辈子做的是第二阶段,甚至第二阶段都不用做。底座不需要你从头训,你需要的是判断「我这活儿到底该不该碰微调」。下面按这个思路走一遍。
这套范式到底在说什么
把预训练想成通识教育:拿海量通用语料喂给模型,让它学会语言规律、常识和大量任务模式的影子,产出一个什么都能聊、但什么都不精的底座。微调则像岗前培训:拿少量带标注的领域数据,在这个底座上再训一段,把通用能力往你的具体任务上偏。
- 预训练
- 用海量通用语料让模型学会语言和常识,产出一个通用底座,这一步通常不是你来做的
- 微调
- 在已有底座上用少量标注数据继续训,把能力往某个具体任务上收窄
- 底座
- 别人训好的通用模型,你直接拿来用或者拿来做微调的起点
关键认知是:从头训练和微调不是一回事。从头训要重新走一遍数据收集、清洗、算力调度和调参,成本量级和微调完全不在一个层面。所以你真正要决策的,往往只是「微调还是不用微调」。
为什么先通识再专精能行
模型学的是参数里的统计规律。通用语料里已经包含了语法、常识以及大量任务模式的痕迹,微调阶段改的是这些参数的偏向,不是在空地上重新盖楼,所以它对数据量和算力的需求小得多。这就是先通识再专精能成立的根本原因。
- 任务和通用语料比较接近时,微调通常只需要相对少的数据就能看到方向上的变化;
- 任务边界清晰、输出格式固定时,微调更容易把模型行为收拢到你想要的范围内;
- 任务和通用语料差得太远(比如特定仪器信号、私有编码体系、内部黑话),底座里没这个底子,微调效果会打折;
- 数据只有几百条且任务边界还很模糊时,微调容易过拟合,这时候先把提示词和检索做扎实更划算。
先别急着微调:三条替代路线
很多需求其实不需要微调。判断顺序建议是:先测提示词,再测检索,最后才评估微调。每一步都留一组对照样本,看效果差值,而不是凭感觉切换路线。
| 需求类型 | 优先路线 | 为什么 | 什么情况下这条路走不通 |
|---|---|---|---|
| 需要模型知道你的资料 | 检索增强 | 资料更新不用重训,改起来快 | 资料量极大且检索命中率长期很低时,要考虑其他方案 |
| 需要固定的输出格式或语气 | 提示词 | 调提示词的成本远低于准备训练数据 | 提示词怎么写都稳定不了格式时,才值得看微调 |
| 任务模式固定、输出要求严格 | 微调 | 比如固定字段的结构化抽取、特定领域的分类判定 | 数据量不足以覆盖任务的变化时,微调风险很高 |
| 只是想把回答说得更客气 | 提示词 | 属于风格问题,不需要改参数 | 风格要求跟任务深度绑定、提示词管不住时再说 |
检索增强和提示词的共同好处是改起来快、可回滚。微调一旦上线,改一次就要重新准备数据、重新训、重新验证,所以除非前两条路明显走不通,否则不必急着上。
真要微调,先过这几道判断
- 看数据来源是否稳定确认你有持续的标注来源和一份格式规范,而不是临时凑一批就上。数据来源不稳,训出来的东西也没法维护。
- 看效果能不能验证提前划出验证集,明确用什么指标判定好坏。没有验证集,训完只能凭感觉说好不好。
- 看成本能不能接受显存占用和训练时长取决于模型规模与微调方式,先到站内部署测算页面按你的参数粗算一遍,再决定要不要排资源。
- 看退路有没有微调产物要能和原模型做对照,线上入口要能回滚。别把唯一入口换成一个没法退回的版本。
这几道判断过不了,就先别碰微调。过了也别急着大规模投入,先用小样本跑一轮验证方向,再决定要不要扩量。
预训练解决的是「模型会不会说人话」,微调解决的是「模型会不会干你这件活」;后者不是必须的,但要做就得先把数据和退路想清楚。下一步想对比不同路线的实现成本和可用工具,去站内工具目录看一圈;要评估微调的资源开销,到部署测算页按你的参数粗算,再回来做决定。→
常见问题
预训练和微调是必须连着做的两步吗?
不是。它们是两条可以分开使用的路径:你可以只用别人放出来的预训练底座,也可以完全不微调直接调接口。连着做是常见做法,不是硬性流程。真正决定要不要走第二步的,是你的任务靠提示词和检索能不能达到可用标准。
小团队没有标注团队,是不是就做不了微调?
不是做不了,是要先算清投入产出。微调的瓶颈通常在数据准备和验证环节,而不是训练本身。如果任务只要求输出格式或语气,先试提示词;如果要求模型掌握你内部的判定规则,再考虑小规模标注加微调,并且留一组没见过的样本做验证。
底座模型换代了,之前微调的成果还有用吗?
一般需要重新评估。底座换了之后,参数分布变了,原来的微调权重通常不能直接套用。稳妥做法是保留新旧两版并行跑一段时间,用同一批验证样本对比,确认新的确实更好再切过去,同时留好回退开关。