大模型微调与预训练的区别

模型与算力

给初学者讲清预训练和微调在目标、数据、成本上的差别,并给一套判断该走哪条路的对照清单。

刚接触大模型的人最容易在这里混淆:听说别人「训练了一个自己的模型」,其实多数只是微调;也有人以为微调就能补上新知识,结果白花算力。这篇不堆术语,只把两件事的目标、数据要求、成本量级和适用边界分开讲,最后给一张能直接照着走的判断清单。

刚接触大模型的人最容易把这两件事混成一件事。听说谁「训练了一个自己的模型」,绝大多数情况其实只是拿现成底座做了微调。也有人反过来,以为微调一下就能让模型学会自家的业务知识,结果样本喂了一堆,该答错的还是答错,算力和标注费白搭。问题不在技术难,而在一开始就没分清:你要的是让模型多懂一些,还是让它按你的方式说话。

这篇不堆术语,只把预训练和微调在目标、数据、成本上的差别拆开,最后给一张能照着走的判断清单。看的时候记住一个前提:下面的判断都是针对普通团队的工作场景,如果你手上有成规模的算力集群和专职数据团队,有些边界会往前走,但方向判断不变。

两者在做的事根本不是一回事

预训练是从零开始,让模型在海量文本里学语言规律和世界知识,产出的是一个「底座」。微调是在这个底座上继续调教,改的是它回答问题的习惯、格式、语气和任务套路,产出的是「定制版」。一句话概括:预训练决定模型会不会说话、懂多少,微调决定它按不按你要的方式说话。这两个目标不重叠,所以手段也不能互换。

预训练
从零学语言和知识,得到通用底座,决定能力上限
微调
在底座上调整输出行为,得到贴合某类任务的定制版
容易踩的坑
把「模型不懂我行业」当成微调能解决的问题

怎么判断自己属于哪种情况?如果困扰你的是风格不统一、输出结构老跑偏、字段缺漏、话术不符合品牌调性,微调方向是对的。如果是模型答不出某个领域的知识、引用的资料过时或凭空编造,优先考虑把资料检索出来喂给它,而不是微调。例外在于:当底座本身的语言和推理水平就不够撑住任务时,再怎么微调也补不回来,这时候该换底座而不是继续调。

数据从哪来、要多少、怎么标

预训练吃的是海量无标注文本,工作重心在数据管线:采集、清洗、去重、过滤低质内容,还要做合规和版权筛查。工程量的大头不在训练脚本,而在这条流水线能不能稳定产出干净语料。微调吃的是标注样本,几百到几万条「指令—回答」或「输入—期望输出」就够起步,关键在质量而非数量,一条脏样本会直接教坏模型的行为。

  • 微调样本要留出验证集,别用同一批数据反复调到 loss 很低,那通常只是记住了而不是学会了
  • 标注规范先写清楚:期望输出长什么样、边界情况怎么处理、哪些回答算不合格
  • 样本来源做脱敏和授权确认,尤其是客户对话、内部文档一类材料
  • 按任务类型分层抽样,别让某一类问题占满样本,否则模型会偏科

有个简单的自查线:拿不出两百条以上高质量、有明确正误标准的样本,就先做提示词工程和外部检索,别急着动微调。这条线不是硬门槛,但如果连样本都凑不齐,说明任务本身还没想清楚,硬调只会把混乱固化进模型里。

成本量级和资源门槛差着好几个档

预训练通常要成规模的多卡集群跑很久,成本主要在卡时、电费和工程人力上,具体量级别信二手转述,到 /compute/training 按当时的租用价自己算一遍更靠谱。微调就轻得多,单卡或少卡就能起步,用 LoRA 一类参数高效方法还能进一步压显存;你的模型规模需要多少显存,去 /compute/finetune 和 /models/deploy 对一遍配置。

对比项预训练微调
数据形态海量无标注文本几百到几万条标注样本
资源门槛多卡集群、长时间运行单卡或少卡、小时级到天级
工程重心数据采集清洗与合规标注规范与评测设计
产出物通用底座贴合某类任务的定制版
失败代价高,返工周期长低,可小步试错

两边都别漏掉隐性成本:标注人力、评测复跑、上线后的回归验证,这些往往比算力账单更耗人。判断标准是:如果只是想知道某个方向有没有效果,先租按量算力跑一轮小规模验证,别一上来就包长期资源。不适用的情形是任务对延迟和稳定性要求极高、需要独占资源,那另说。

照着这张清单判断你该走哪条路

  1. 先分清诉求问自己要的是「多懂」还是「按我的格式和话术输出」。前者靠检索或换更强底座,后者才轮到微调;把答案写下来,别凭感觉。
  2. 验证底座够不够用现有模型加提示词、加检索试跑一周,记录失败样本属于知识缺失还是行为不符。行为不符比例高才继续往下走。
  3. 盘点数据可行性评估能不能攒出有明确正误标准的样本,标注人力、脱敏流程、素材授权能不能过内部审核。过不了这一关,先解决数据而不是先买算力。
  4. 小步验证三步都过了再动手,顺序是小样本微调、用留出验证集评测、再逐步扩样本。每轮都保留基线模型做对照,别一次上全量。
下一步想算清自己这条路要花多少资源,到 /compute/finetune 输入模型规模和样本量做一次估算,再对照 /price-watch 看当时的算力行情,心里就有数了。

常见问题

只做微调,模型就能学会我们行业的新知识吗

一般不行。微调更擅长改语气、格式、输出结构和任务套路,把大量事实塞进权重既费数据又容易记错。缺知识优先走检索外部文档的路子,微调负责把回答方式调顺,两件事分开做成功率更高。

预算有限,先做预训练还是先做微调

绝大多数团队根本没到需要预训练的阶段。预训练是造底座,要海量语料和成规模的算力。预算有限就先拿开源底座做微调,把任务效果跑通,等确认业务跑得起来、且底座能力真成瓶颈时,再考虑更重的投入。

微调之后原模型的能力会变差吗

会,这叫灾难性遗忘,样本越单一越明显。做法是微调数据里掺一部分通用指令样本,并且每轮都拿通用任务测一遍,掉得厉害就降学习率或减轮数。上线前一定要在验证集之外再留一批没见过的题做回归。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。