跳转至

P6-9.1 需要按目的定制调整的微调

Section ID: P6-9.1 Version: v2026.07.26

在 P6-8.1 中,我们看到了先建立宽广语言基础的预训练。但只有预训练,还不会自动产生 符合我们业务标准的反应。本节说明,放在生成结构之上的学习轴,如何从 建立通用基础 收窄到 按目的定制调整。

在 P6-7.2 中,我们看到生成是在概率分布中反复选择下一个词元的过程。但在实际服务中,这里还会出现一个问题。

怎样才能把经过预训练的大模型,改得更适合我们的目的?

微调(fine-tuning)是把已经预训练好的模型,再进一步调整为更适合特定任务或领域的过程。

换成更容易的话,可以这样说。

微调是把已经广泛学过语言的大模型,重新打磨得更适合我们工作的阶段。

需要按目的定制调整的时刻

按目的定制调整从下面几个问题开始。

  • 微调调整什么?
  • 它和只改变 prompt 有什么不同?
  • 什么情况下需要微调?

微调是 把通用基础收窄到更接近我们目的的调整层。调整整个模型时的成本问题,是高效调整的问题;和 prompt、RAG、工具使用之间的选择问题,是输入设计和外部依据连接的问题。必须分离这些层位,才不会把微调读成所有问题的解决方案。

微调不是 从头新建模型,而是预训练之后的调整阶段。如果预训练是建立宽广基础的阶段,那么微调就是调整反应习惯,使这个基础更接近我们的分类标准、文体和输出格式。

因此,这里要抓住的问题是 为了更适合我们的任务和格式,要调整什么? 指令调优会在下一步把模型进一步收窄到更好地回应人的请求方式,对齐则进一步贴合安全性和政策边界。如何降低调整整个模型的成本,会在 P6-9.2 的 LoRA 中另行讨论。

新建模型 这种印象,需要改读为 把经过预训练的基础模型按我们的目的追加调整的阶段。

区分 prompt 调整和按目的定制调整

  • 能把微调解释为预训练之后的追加调整。
  • 能说出 prompt 调整和微调的差异。
  • 能区分什么时候微调有利,什么时候 prompt 或 RAG 可能应先考虑。
  • 能把 LoRA 这样的高效调整方法读作 降低微调成本的选项。

这种区分重要,是因为它:

  • 展示预训练之后连接实际业务的位置
  • 把 prompt、RAG、微调分成不同选项
  • 为 P6-9.2 的 PEFT(parameter-efficient fine-tuning) 和 LoRA 说明建立基础

选择微调的判断标准

不能用“微调比 prompt 更强”这种说法来选择微调。必须先按想改变什么来拆分选择标准。

判断标准 要确认的问题
调整对象 是否不是从头新建模型,而是把基础模型的反应习惯调整得更符合目的
和 prompt 的差异 这是改变输入指示的问题,还是改变模型内部反应倾向的问题
和 RAG 的差异 这是连接最新信息的问题,还是重复判断标准和输出习惯的问题
业务标准 内部标签、领域表达、输出格式是否反复摇晃

微调调整什么

经过预训练的模型已经学过宽广的一般语言模式。但实际业务更具体。

先用下面三个问题来读,会更容易理解。

问题 简短回答
为什么还要调整已有模型? 因为只有一般能力,可能还不够贴合我们的目的
想进一步贴合什么? 格式、领域术语、分类标准、反应倾向
是否从头重新制作? 通常不是,而是在既有基础模型上调整

例如:

  • 法律文档摘要
  • 内部客户咨询分类
  • 医疗咨询草稿撰写
  • 生成符合公司内部格式的回答

这些情况中,仅靠一般模型,表达方式、判断标准、领域术语可能还不够匹配。微调会追加调整模型的权重(weights),以缩小这种间隙。

也就是说,微调是在 基础模型(base model) 之上叠加 面向特定目的的追加适应 的过程。

因此,微调的核心问题不太是 这个模型聪明吗?,而更接近 这个模型是否更符合我们问题的标准和格式?

和 prompt 有什么不同

这个差异非常重要。

方式 改变什么
prompt 输入指示和上下文
微调(fine-tuning) 模型内部权重的一部分或全部

prompt 是在模型外部设计输入的方法。相反,微调是把模型内部动作本身稍微调得更符合特定目的。

prompt 改变的是我们如何对模型说话,微调调整的是模型自身的反应习惯,使其更符合目的。

两者的差异可以这样分开。

  • prompt:在模型外部把指示写得更好的方法
  • 微调:把模型内部反应倾向调得更符合目的的方法

什么时候需要微调

不是所有问题都需要用微调解决。反而应该先问下面几个问题。

  • 只用 prompt 是否足够?
  • 是否需要最新外部知识,因此 RAG 更合适?
  • 结果格式、语气、分类标准是否必须非常一致地维持?

特别会考虑微调的情况如下。

  • 特定格式的输出经常重复出现
  • 领域术语和表达方式非常重要
  • 分类或抽取标准强烈连接到内部政策
  • 只靠 prompt 缺少稳定复现性

把这个列表再缩短,核心是下面两种情况。

  1. 结果的 格式一致性 很重要
  2. 结果的 判断标准 强烈连接到内部规则

微调不是万能的

这一点也要一起记住。

有了微调,并不意味着:

  • 自动反映最新事实
  • 自动消除幻觉
  • 自动解决安全问题

例如,最新公司公告或实时政策变化,可能比起微调,更适合用 RAG 或单独的数据连接处理。

因此,更稳妥的说明如下。

微调是提高特定反应倾向和任务适配性的方法,不是一次性解决最新性、事实性、安全性全部问题的方法。

在实务中必须先抓住这句话,才不会把 反应倾向调整、最新信息连接、依据提示、权限控制 混成同一个问题。实际上,后面三项是单独的设计问题。

需要微调的条件

把到这里为止的内容最短地整理如下。

  • prompt 改变 输入指示和上下文。
  • 微调把 模型的反应习惯和输出倾向 调得更符合目的。
  • RAG 处理 最新信息和外部依据连接 的问题。

必须区分这三者,才能根据 想改变什么 先选出合适选项。

非常简单地画出来

flowchart TD
  A["预训练基础模型"]
  B["任务或领域数据"]
  C["微调"]
  D["更符合目的的反应"]

  A --> C
  B --> C
  C --> D

这个图中要确认的结果是,微调不是 从头新建模型,而是把已经宽广学习过的基础模型,按当前任务标准进行调整的过程。

这张图的读法很简单。

  • 左侧的基础模型是 已经广泛学习的状态
  • 任务数据是 我们问题的标准
  • 结果是 更符合目的的反应

案例与示例

下面的图把本节的三个案例重新归到共同问题上:不是 是否让模型更聪明,而是 是否让模型更稳定地符合我们业务的格式和判断标准。

flowchart TD
  A["相同的微调问题"]
  B["内部路由<br/>标签边界是否稳定维持?"]
  C["医疗摘要<br/>领域术语是否一致维持?"]
  D["法律草稿<br/>输出结构是否稳定重复?"]

  A --> B
  A --> C
  A --> D

从这个图中要确认的是,微调的核心不是 无条件放入更多知识。在三个场景中,首先重要的都是 内部标签、领域术语、输出结构 这样的业务侧规则是否被更稳定地反映出来。

案例 1. 内部客服分类

即使一般模型可以大致分类咨询,也很容易觉得 只要大概分开,现场再由人看一遍不就可以了吗? 但在实际运营中,人首先会看咨询是否能按 我们公司的标签标准 稳定划分。例如,从外部一般标准看,取消 和 退款 可能可以相似处理,但在内部业务中,它们可能需要送到不同团队。如果这个边界摇晃,即使回答句子自然,路由本身也会错,处理时间会增加。

这里发生的变化,是从 是否大致相似地分类 的标准,移动到 是否稳定守住内部标签边界 的标准。这种情况下,比起把说明写得更长,更重要的是调整模型反应,让内部标签标准被更强地反映出来。因此,这个案例中要确认的结果是:相似咨询是否按内部标签标准更稳定地进入同一团队,以及需要人持续后处理来补洞的摇晃是否真的减少。

案例 2. 医疗文档摘要

即使一般摘要可以完成,在医疗文档中也容易觉得 只要缩短得好,不就是好摘要吗? 但在医疗文档中,人首先看的不是 是否缩短得好,而是 哪些术语必须保留,哪些表达必须以相同方式维持。例如,药物名、剂量、禁忌表达必须总是以相同方式保留;如果一般模型每次都用不同方式缩短,即使长度合适,实务质量也会大幅摇晃。严重时,同一处方内容在每次摘要中都被改成不同表达,审查者就不得不重新对照原文。

这里发生的变化,是从 是否很好地缩短长度 的标准,移动到 是否一致地维持领域核心术语和表达规则 的标准。在这种场景中,比起加入最新知识,更重要的是让领域文体和缩写规则被更稳定地反映。因此,这个案例中要确认的结果是:药物名、剂量、禁忌表达是否在每次摘要中以相同方式保留,以及审查者是否真的因为表达摇晃减少而少做原文对照。

案例 3. 法律草稿格式

当重要的不是单纯信息生成,而是文档格式和表达规则时,人容易先看 内容是否正确。只靠 prompt 也能在一定程度上引导格式,但如果每个草稿中的条款编号方式、但书语句、责任限制表达都不同,审查成本会迅速变大。例如,同一份合同草稿,有的回答从 第1条 开始,有的回答从 1. 开始,免责语句的位置也摇晃,那么在内容审查之前,就必须先重新做格式校正。

这里发生的变化,是从 事实内容是否正确 的标准,移动到 是否反复维持相同文体和输出结构 的标准。这种情况下,比起寻找新事实,更重要的是建立 总是相同的草稿习惯。因此,这个案例中要确认的结果是:条款编号、免责语句、但书表达位置是否不会在每次草稿中大幅摇晃,以及审查者的格式校正负担是否真的减少。

把三个案例从目的适应角度重新归在一起,可以整理如下。

情况 一般模型容易摇晃的部分 微调想进一步稳定的部分
内部客服分类 内部标签边界和路由标准 维持按团队划分的分类边界
医疗文档摘要 药物名、剂量、禁忌表达的一致性 维持领域术语和摘要格式
法律草稿格式 条款编号、但书、免责位置的重复性 文体和输出结构的可复现性

需要微调判断的场景

读完本节之后,即使还不知道 LoRA 或 PEFT 的细节,也可以先练习区分现在需要的是 prompt 调整、微调,还是 最新信息连接。如果同一咨询经常越过内部标签边界,被送到不同团队,就要看是否需要用微调更稳定地反映内部判断标准,而不是让说明写得更长。如果同一领域回答中语气和文体每次都有些摇晃,就要问是否需要持续的反应习惯适应,而不是每次都把文体规则很长地放进 prompt。最新公告和政策数值经常错时,可能应先看 RAG 或外部数据连接,而不是微调。如果输出格式大体正确,只是第一句话语气稍微需要调整,那么比起模型内部调整,prompt 设计是成本更低的选择。

这里重要的不是背诵 微调是更强的方法,而是先把 想改变什么 分成 输入指示、模型反应习惯、外部信息连接 来读。

这里经常混在一起的还有下面几点。

  • 容易把内部反应习惯调整和最新信息连接看成同一个问题。
  • 容易分不清 prompt 足够的场景和需要微调的场景。
  • 容易把微调感觉成 从头新建模型。

因此,微调是按目的定制的调整层 这句话应该成为实际选择标准。

练习

这个练习的目标不是执行代码,而是看同一个业务场景时,先区分应该在 prompt 调整、微调、RAG 中怀疑哪一个。微调不是让模型背下更多事实的选择,而是试图让反复出现的反应习惯和内部标准更稳定地贴合的选择。

看下面的咨询处理场景。

场景 摇晃的部分 先选择的选项
同一笔支付咨询,有一天被分为 refund_request,另一天被分为 cancel_status 内部标签边界 检查微调
回答格式正确,但经常弄错本月退款政策金额 最新政策信息 检查 RAG 或外部数据连接
输出格式大多正确,但第一句话语气稍硬 输入指示和文体 检查 prompt 调整
医疗摘要中,药物名、剂量、禁忌表达的保留方式每次不同 领域表达规则 检查微调

这里应该先检查微调的场景是第一和第四。两者都不是单个问题中的表达问题,而是多个输入中必须反复守住相同内部标准或表达规则的问题。

第二个场景是最新政策信息的问题。这种情况下,即使做了微调,也可能无法自动跟随训练时间点之后的变化,因此先检查 RAG 或外部数据连接更自然。

第三个场景比起改变模型内部习惯,更可能只靠调整输入指示解决。这时先想到微调之前,把 prompt 改得更短、更明确,成本和风险更低。

这个练习中要抓住的标准如下。

  • 如果内部标签边界反复摇晃,它是微调候选。
  • 如果最新事实或政策值错误,它是 RAG 或外部信息连接候选。
  • 如果只有一两句话的语气或格式摇晃,它是 prompt 调整候选。
  • 如果领域表达规则反复摇晃,它是微调候选。

也就是说,把微调理解为 让反应方式更贴合业务形态的力量,通常比理解为 创造新正确答案的力量 更稳妥。

微调也连接到 LLM 之前就广泛使用的迁移学习(transfer learning) 脉络。先建立大的基础模型,再用较小任务数据提高目的适配性的方式,已经在现代 NLP 和视觉领域反复出现。

因此,把微调理解为 建立大基础,之后按目的适应 这一脉络更广泛显现的结果,会比把它看成 LLM 时代突然出现的陌生发明更好。

检查清单

  • 能否把微调解释为 在通用基础之上叠加按目的定制调整的阶段?
  • 能否区分 prompt、微调、RAG 分别改变什么?
  • 是否准备好把高效调整说明读作 需要微调时如何降低其成本 的问题?

来源与参考资料