微调是在已经训练好的模型基础上,用面向目标任务的数据继续训练。可以把预训练类比为学习通用基础,把微调类比为上岗后的专项训练,但模型不是把材料读一遍就能可靠记住全部事实。

为什么考虑微调

常见目标包括稳定的回答风格、特定输出格式、分类规则或任务行为。监督微调通常使用输入与期望输出示例,让模型适应这些要求。

“让回答更专业”还需要具体评估:是否遵循规则、是否能处理边界输入、是否引入更多事实错误。领域数据并不自动使模型成为可靠专家,也不能保证不再编造。

它与预训练的区别

预训练通常学习广泛的表示和生成能力,微调则从已有参数出发适配目标。训练数据、更新范围和计算需求不同,但不存在所有项目通用的预算、周期或所需显卡数。

如果提示词和现有模型已经满足任务,就不必仅因为有训练接口而增加数据维护、评估和部署成本。

全参数微调与 LoRA

全参数微调允许更新模型全部参数。LoRA 则冻结预训练权重,在选定模块中训练低秩矩阵;以权重矩阵 W 为例,可以直观写为:

W = W0 + ΔW
ΔW = B × A

W0: d_out × d_in,冻结
B:  d_out × r,可训练
A:  r × d_in,可训练

低秩分支的参数量为 r×(d_out+d_in),当 r 较小时,明显少于完整矩阵的 d_out×d_in。实际实现还可能有缩放、其他可训练模块等设置,不能用这一个式子推算整个项目显存。LoRA 原论文摘要

LoRA 减少可训练参数,不等于任何任务质量都不变;全参数微调也不保证一定更好。两者应在同样的数据和标准下比较。

先建立独立评估

先用未参与训练的样本建立基线,再整理干净、可使用的数据,隔离训练与评估样本,覆盖常见输入和失败场景。训练损失下降不等于业务效果提高;上线还应观察回归、延迟和维护成本。OpenAI 官方监督微调指南也强调先建立评估;这里引用的是方法,不承诺特定账号或模型可以训练。

微调与 RAG 可以组合

希望改变稳定的任务行为,可以评估微调;希望回答依据经常更新、受权限控制的资料,可以评估检索增强。微调不能替代实时事实来源,RAG 也不会自动保证引用正确,两者可以配合使用。

相关概念见 RAG 学习笔记。最终应从任务证据决定方案,而不是先决定“必须训练”。