五个需求各打五项分,算出来两个分: 「每天变的价格表」知识库 14 分、微调 -2 分;「从不改的固定话术」微调 12 分、知识库 0 分。 这张表里三行走微调、两行走知识库,分界线就在「答案会不会变」这一条上。
上一节把流程走完了。这一节往回退一步:在动手之前,先确认这件事该不该做。
一、五个问题,比「感觉」可靠
决策不该靠「我觉得模型不太行」。把判断拆成五个能打分的维度:
| 维度 | 1 分 | 5 分 | 高分的含义 |
|---|---|---|---|
| 知识更新频率 | 几乎不变 | 每天变 | 越高越该用知识库 |
| 标注数据多少 | 几十条 | 上万条 | 越高越够训 |
| 风格要求强度 | 随便 | 必须一字不差 | 越高越该微调 |
| 时效要求 | 改了可以等 | 改了立刻生效 | 越高越该用知识库 |
| 预算充足度 | 没有预算 | 随便花 | 决定能上哪一档 |
| 每一项打完分,做两次加减:知识库分 = 更新频率 × 2 + 时效要求 − 数据量, | |||
| 微调分 = 风格要求 × 2 + 数据量 − 更新频率。谁高走谁,两边都不到 8 分就先用提示词工程顶着。 | |||
| 这个公式是随手定的(2 倍加权也是我拍的), | |||
| 重要的是「先把五个问题问清楚」这个动作,不是那个公式。公式可以换成你们团队自己的口径。 |
二、两个极端,最容易看清分界线
「每天变的价格表」:知识库分 14、微调分 -2。更新频率 5 分、时效要求 5 分、标注数据只有 1 分。 这种需求做微调就是自找麻烦:你今天把价格训进去,明天价格变了,模型张口就是旧价。 而且你没法靠「再训一版」追上变更节奏——标注、训练、评估、上线,一轮下来一周过去了。 「从不改的固定话术」:微调分 12、知识库分 0。风格要求 5 分、知识几乎不变。 这种需求反过来——知识库一点用都没有(它没有「新知识」可查),而微调一次投入、长期零成本。 这是微调最理想的场景:答案不变,只是说法不对。 中间那三行(公司制度问答、统一回复格式、专业术语改写)分得没那么干脆, 这正是这张表的价值:它逼你说清楚「更新频率到底是 3 还是 5」。说不清楚,说明需求还没想清楚, 先别动手。
三、一句话判断法
如果不想打分,就记一句话:「答案会变吗?」 会变 → 知识库。 价格、库存、政策、人员、活动规则,全是这一类。 不变、只是说法不对 → 微调。 格式、口吻、术语写法、判断口径,全是这一类。 这句话之所以好用,是因为它把技术选型翻译成了业务问题。 业务方能回答「答案会不会变」,回答不了「要不要上 LoRA」。 还有一句补充:两个都要,就先上知识库。因为知识库改起来快、能立刻验证效果; 等知识库稳定了,再决定要不要在「怎么说」上做微调。
四、三种情况,根本不该做
① 数据不够。 分类任务每种意图至少几百条,生成任务至少上千条。 只有几十条的时候,微调学到的是噪声——而且你会以为「训了没效果」是模型不行。 ② 问题其实在提示词。 很多人第一反应是「模型不懂我们的业务」, 实际上只是提示词里没写清楚输出格式。先花半小时把提示词写明白,能省掉两周的标注工作量。 ③ 没有评估。 微调前后要能对比,就得有一份固定的测试集和打分方式。 没有评估的微调,上线后没人说得清「到底变好了还是变坏了」。 三条里最容易被忽略的是第三条。 评估集最好和训练数据同时准备——等训完了再去凑测试题, 凑出来的题会不自觉地偏向「模型答得好的那类」。
五、动手 Demo:五项打分:价格表走知识库 14 分,固定话术走微调 12 分
把五个典型需求各按五个维度打 1 到 5 分, 用「知识库分 = 更新 × 2 + 时效 − 数据」和「微调分 = 风格 × 2 + 数据 − 更新」两式算分,看谁高。 权重是我拍的,要换口径直接改系数即可。
cases = [
(u'公司制度问答', 5, 2, 1, 4, 3),
(u'统一回复格式', 1, 3, 5, 2, 4),
(u'专业术语改写', 3, 4, 4, 3, 3),
(u'每天变的价格表', 5, 1, 1, 5, 2),
(u'从不改的固定话术', 1, 3, 5, 1, 5),
]
for nm, upd, data, style, time_s, bud in cases:
rag = upd * 2 + time_s - data # 知识库倾向
ft = style * 2 + data - upd # 微调倾向
print(nm, rag, ft, u'知识库' if rag >= ft and rag >= 8
else (u'微调' if ft >= 8 else u'提示词'))
实跑输出:
--------------------------------------------------------------------
该不该微调:五项打分,别凭感觉决定
--------------------------------------------------------------------
五项各打 1 到 5 分(5 分表示「高」),加减法得出建议:
需求 更新 数据 风格 知识库分 微调分 建议
-----------------------------------------------------------------
公司制度问答 5 2 1 12 -1 知识库
统一回复格式 1 3 5 1 12 微调
专业术语改写 3 4 4 5 9 微调
每天变的价格表 5 1 1 14 -2 知识库
从不改的固定话术 1 3 5 0 12 微调
看两个极端:
**「每天变的价格表」**:知识库分 14、微调分 -2。**更新频率高、时效要求也高,微调必输**。
你今天训完,明天就过期。
**「从不改的固定话术」**:知识库分 0、微调分 12。**风格要求强、数据够、知识不变,微调最划算**。
一次投入,长期零成本。
评分规则本身不重要(我这里是 2 倍加权),重要的是**先问对五个问题**:
1. 知识更新频率 1 到 5 分,自己打
2. 标注数据多少 1 到 5 分,自己打
3. 风格要求强度 1 到 5 分,自己打
4. 时效要求 1 到 5 分,自己打
5. 预算充足度 1 到 5 分,自己打
**这张表里三行落在微调、两行落在知识库,分界线很干脆**:
「更新频率」和「时效要求」两列同时高,微调就没戏;
风格要求高、知识不怎么变,微调才站得住。
**打分的用处不是算出一个分,是把「感觉」逼成五个具体问题。**
还有一个更省事的判断法,一句话:
**「答案会变吗?」会变 → 知识库。「答案不变,只是说法不对?」不变 → 微调。**
前者要的是「知道新的」,后者要的是「说得像」。**两件事用错了手段,钱花了还没效果。**
五行里有三行落在微调、两行落在知识库。 分界线很干脆:更新频率和时效要求这两列同时高,微调就没戏。 看两个极端就够了。 「每天变的价格表」知识库 14、微调 -2——微调分是负的,因为它更新太频繁,越训越错。 「从不改的固定话术」反过来:知识库 0 分、微调 12 分。 没有新知识可查,知识库这条路的起点就是 0。 中间那三行值得细看。 「公司制度问答」知识库 12、微调 -1,说明制度类需求也偏知识库(制度会改、要求时效); 「统一回复格式」知识库 1、微调 12,格式类需求毫无悬念。 诚实说明:这五个需求的分是我按经验打的,不是调研来的。换成你的业务重打分, 结论可能完全不同——这张表要学的是「问五个问题再算分」这个动作,不是这五行结论。
30 秒实验
- 把「每天变的价格表」的标注数据从 1 分改成 4 分,看微调分涨到多少、建议会不会变。 数据多了,但时效要求还在,结论应该不变。
- 把权重从 2 改成 1(不再强调更新频率),看哪几行的建议翻转。 这就是「口径变了、结论就变」的意思,也是为什么要先定口径。
- 加一行你自己的真实需求,五项打分,看它落在哪边。 如果两边都不到 8 分,答案就是「先写提示词」。
常见误区
- 「先训一版看看效果」。没有评估集的微调,训完也说不清好坏,反而多了一批要维护的权重。 先定评估,再决定训不训。
- 「知识库和微调谁先进」。知识库改起来快、能立刻验证;先上知识库,稳定后再考虑微调。
- 「数据不够就多训几轮补」。轮数补不了样本量,只会把几十条样本记得更死。数据不够就是不够。
自测三问(点开对答案)
1. 五项打分里,哪两项同时高就基本可以排除微调? —— 知识更新频率和时效要求。两者都高意味着「答案会变、而且变得要立刻生效」,微调跟不上这个节奏。 2. 「答案会变吗」这个判断法为什么好用? —— 因为它把技术选型翻译成了业务问题,业务方能回答,而且答案直接对应手段:会变走知识库, 不变只是说法不对走微调。 3. 为什么说「没有评估集」是最容易被忽略的一条? —— 因为训完照样能上线,只是没人说得清好坏;而且事后再凑测试题,会不自觉地偏向模型答得好的那类。决定要微调了,第一件事不是登录平台,是准备数据。下一节列一份能直接拿去训的数据要满足什么。
- ☐ (本节完,下一节 5.2.2 训练数据准备规范)