微调是什么:定义与全景

01-决策与选型 入门≈ 15 分钟 #微调#全景#基础概念 reviewed
我的状态:

一句话定义

微调(Fine-tuning)是在预训练大模型的权重基础上,用自己的领域数据继续做梯度下降,让模型的行为、输出格式或知识分布向目标任务偏移的过程。

为什么重要

预训练模型是「通才」:什么都会一点,但不一定按你要求的格式、风格、流程回答业务问题。微调是把通才变成专才的核心手段:让输出格式稳定可控、让语气贴合品牌、把私有领域的话术与流程写进模型,并常常能用一个更小的模型达到大模型的业务效果,从而显著降低推理成本与延迟。2023 年后开源模型生态成熟,微调门槛已降到「一张消费级显卡 + 数千条数据」,成为 AI 应用工程师的必备技能。

前置知识

不要求深度学习科研背景,但需要以下常识(不在本库讲解范围,需自行补足):知道神经网络由权重矩阵组成;知道「训练 = 用梯度下降反复更新权重以降低损失」;会用 Python 与命令行;了解 Transformer 是当前大模型的主流架构。

核心概念

  • 预训练(Pre-training):在海量无标注文本上学习语言规律,产出基座模型(Base Model)。
  • 基座模型 vs 指令模型:Base 只会续写文本;Instruct/Chat 模型经过指令微调,会听指令、按角色对话。
  • 全参微调(Full Fine-tuning):更新全部权重,上限高但显存开销巨大。
  • 参数高效微调(PEFT):冻结原权重,只训练少量新增或选中的参数,LoRA 是当前事实标准。
  • 指令微调(Instruction Tuning / SFT):用「指令-回答」对训练模型执行指令,是当前对话模型微调的主流形态。

原理与机制

训练目标在数学形式上与预训练一致:给定输入 x(含指令与上文),最大化目标输出 y 的条件似然,损失为交叉熵:

L(θ) = −(1/N) · Σ log pθ(yi | xi)

训练即沿负梯度方向迭代更新参数:θ ← θ − η·∇L(θ),η 为学习率。微调与预训练的区别只在三点:数据分布(领域数据 vs 全网语料)、数据量(千条级 vs 万亿 token)、步数(数百步 vs 百万步)。分布小而偏,因此微调的两大固有风险是过拟合与灾难性遗忘(见 kp-020)。

图示

预训练(全网语料) ──► 基座权重 W₀          全参: 更新全部 W₀
                        │                 PEFT: 冻结 W₀, 只训新增小参数
领域数据(千条级) ──► 微调训练循环            QLoRA: W₀ 存成 4-bit 再加 LoRA
                        ▼
                 领域模型 W₀+ΔW

直观类比

预训练像通识教育,微调像岗前培训:员工已经有学习能力(通用语言能力),你只需用本岗位的真实案例教他「怎么干活、按什么格式汇报」,而不是从认字开始教。

实例或案例

某电商客服团队用 3000 条历史优质会话微调一个 7B 开源模型:输入为用户问题加订单上下文,输出为标准话术。微调后格式遵从率从提示工程的约 60% 升到 95% 以上,语气统一,并用 7B 本地模型替代了原先调用的 70B 级 API,单次回答成本下降约一个数量级。

常见误区

  • 误区一:微调是注入新知识的首选方式。 频繁更新的事实性知识更适合 RAG 检索注入;微调擅长固化格式、风格与流程,用它灌知识又贵又不稳。
  • 误区二:微调需要海量数据。 改格式、改风格类任务几百到两千条高质量样本往往够用;质量远比数量重要。
  • 误区三:微调后模型一定更强。 数据差或超参错会让模型明显变笨,典型翻车见 kp-030。

与其他知识点的关系

kp-002 给出「什么时候才该微调」的决策框架;kp-003 是方法全景图;kp-021 是端到端实操流程;kp-031 补充这一范式的历史由来。

延伸阅读

Ouyang et al. 2022《Training language models to follow instructions with human feedback》(InstructGPT,现代指令微调范式的奠基论文)。

自测题

  1. 微调与预训练在数学目标上的区别是什么?

答:目标形式相同(最大化条件似然),区别在数据分布、数据量与训练步数——微调是小数据、小步幅、领域化的继续训练。

  1. 「让模型掌握公司产品知识库中频繁更新的内容」应首选微调吗?

答:不应首选。动态事实知识适合 RAG 检索注入;微调适合固化格式、风格与流程类行为。

  1. 全参微调与 PEFT 的本质区别是什么?

答:是否更新基座原有权重。全参更新全部权重;PEFT 冻结原权重,只训练少量新增参数(如 LoRA 的低秩矩阵)。

相关知识点