🧠 第五章 模型微调:让AI训练效果达到预期
📄 一句话概括

五个需求各打五项分,算出来两个分: 「每天变的价格表」知识库 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. 把「每天变的价格表」的标注数据从 1 分改成 4 分,看微调分涨到多少、建议会不会变。 数据多了,但时效要求还在,结论应该不变。
  2. 把权重从 2 改成 1(不再强调更新频率),看哪几行的建议翻转。 这就是「口径变了、结论就变」的意思,也是为什么要先定口径。
  3. 加一行你自己的真实需求,五项打分,看它落在哪边。 如果两边都不到 8 分,答案就是「先写提示词」。

常见误区

  1. 「先训一版看看效果」。没有评估集的微调,训完也说不清好坏,反而多了一批要维护的权重。 先定评估,再决定训不训。
  2. 「知识库和微调谁先进」。知识库改起来快、能立刻验证;先上知识库,稳定后再考虑微调。
  3. 「数据不够就多训几轮补」。轮数补不了样本量,只会把几十条样本记得更死。数据不够就是不够。
自测三问(点开对答案) 1. 五项打分里,哪两项同时高就基本可以排除微调? —— 知识更新频率和时效要求。两者都高意味着「答案会变、而且变得要立刻生效」,微调跟不上这个节奏。 2. 「答案会变吗」这个判断法为什么好用? —— 因为它把技术选型翻译成了业务问题,业务方能回答,而且答案直接对应手段:会变走知识库, 不变只是说法不对走微调。 3. 为什么说「没有评估集」是最容易被忽略的一条? —— 因为训完照样能上线,只是没人说得清好坏;而且事后再凑测试题,会不自觉地偏向模型答得好的那类。

决定要微调了,第一件事不是登录平台,是准备数据。下一节列一份能直接拿去训的数据要满足什么。

相关笔记