第九章的结论是:确认该微调之后,九成的工作量在数据上。这一章看这九成是什么。先记住一句业内被反复验证的话:微调项目的质量上限由数据决定,训练只是把它兑现。训练代码可以照抄开源脚本,超参数有默认值兜底,唯独数据——只有你知道你的业务里「好」长什么样。
数据长什么样:输入、输出、以及「为什么这样算好」
微调数据的单位是样例:一条「输入 → 理想输出」。对客服系统,就是「工单原文 → 一份完美的回复草稿」。注意「理想」两个字——训练数据的本质定义是:你希望模型在类似情况下做出的行为。模型不会分辨你喂的是示范还是凑合,它一律照单全收,内化成习惯。喂它一百条「还行的回复」,你就得到一个稳定输出「还行」的模型。
大白话:微调像教徒弟——你示范什么水平,徒弟就学到什么水平。徒弟不会自动超越师傅。
数量:比你想的少;质量:比你想的狠
新人最容易犯的错是把微调当成「越多越好」的数据工程。实际上,行为塑造类的微调,几百到几千条精修的样例往往就够——因为大模型预训练时已经学完了通用能力,微调只是调行为习惯,不是从零教语言。真正决定成败的是每条样例的质量:输出是否真的无可挑剔?格式是否逐字一致?是否覆盖了线上真实出现的输入分布?
一个经验法则:宁要三百条每条的输出你都愿意直接发给客户的样例,不要三万条没人逐条看过的。后者里的 5% 脏数据(格式错乱、答案错误、语气不对)足以让模型学会一堆坏习惯,而且你事后很难查出来是哪个坏习惯来自哪批数据。
数据从哪来:三条路,风险递增
- 线上真实数据改写:把真实工单配人工修过的理想回复。分布最真实,是黄金来源;成本是人工改写的时间。
- 大模型合成 + 人工筛:让强模型批量生成候选,人来淘汰和修正。速度快十倍,但要警惕两件事:合成数据会放大强模型的腔调(满是「首先、其次、总而言之」),以及把评审当成了走过场——人一旦开始批量点「通过」,合成数据就退化成垃圾。
- 纯自动合成:没人筛。只配用于无关紧要的原型验证。
切分与泄漏:考试题不能出现在练习册里
训练之前,要把样例切成训练集和留出集——留出的部分绝不参与训练,只用于训完后检验「模型在没见过的输入上表现如何」。这是机器学习的常识,但有一个 AI 时代特有的坑:近重复泄漏。一条工单稍微改写几个字同时进了训练集和留出集,留出集的成绩就虚高——模型不是会了,是背过。
和第六章接上:评估集与训练集是两套账本
这里要和第六章对齐:线上评估集是「业务在乎什么」的快照,训练数据是「希望模型学会的行为」。两者的关系是——评估集里的失败案例指明了需要什么样的训练数据,但评估集本身绝不能混进训练集,否则你永远失去了度量衡。数据的纪律,到这里已经和算法的纪律一样重了。
数据备齐,终于可以谈训练了。下一章:SFT、LoRA、偏好对齐——这些名词背后其实只有一个动作。