方法论

Fine-tuning(微调)

为什么需要 Fine-tuning

通用大模型像一个"什么都会一点的通才"——它能写文章、翻译、编程、聊天,但在你公司的特定业务场景里,它的表现可能不够好:

  • 不懂你们的行业术语和内部缩写
  • 回答风格不符合品牌调性
  • 总是需要在 Prompt 里塞一大堆背景说明才能勉强达到效果
  • 某些特定任务(分类、提取、判断)准确率不够高

Fine-tuning 解决的就是这个问题:用你的数据,把通用模型训练成"你的专属模型"


什么是 Fine-tuning

一句话定义:Fine-tuning 是在已经训练好的大模型基础上,用特定领域或任务的数据继续训练,让模型在该场景下表现更好的技术。

类比:通用模型像一个刚毕业的大学生,什么基础都有但什么都不精。Fine-tuning 就是"岗前培训"——用你公司的业务案例、规范和流程来训练它,让它变成能直接上岗的员工。

Fine-tuning 和 Prompt Engineering 的区别:

维度Prompt EngineeringFine-tuning
方式在输入里给指令和示例用数据训练模型本身
改变的是模型看到的输入模型的参数权重
效果持续性每次都要写 Prompt一次训练,永久生效
成本零成本,随时调整需要训练资源和数据
适用场景快速迭代、轻量调整深度定制、高频任务

简单说:先试 Prompt Engineering,搞不定再上 Fine-tuning


Fine-tuning 的主要方式

全量微调(Full Fine-tuning)

用你的数据更新模型的全部参数。效果最好,但成本最高——需要大量 GPU 显存,通常只有大厂玩得起。

LoRA / QLoRA(参数高效微调)

只训练一小部分"适配层"参数,冻结原始模型不动。效果接近全量微调,但成本低很多——一张消费级显卡就能跑。

这是目前最常见的 Fine-tuning 方式。

RLHF(基于人类反馈的强化学习)

让人类对模型的回答打分排序,用强化学习让模型学会"人类觉得好的回答"。ChatGPT 之所以"对齐"了人类偏好,靠的就是 RLHF。


怎么做:什么时候用 Fine-tuning

适合 Fine-tuning 的场景

  • 特定领域的文本理解(医疗、法律、金融术语)
  • 特定格式的输出(总是按照某个模板、JSON schema 输出)
  • 风格统一(品牌语气、客服话术、专业术语使用习惯)
  • 高频任务需要更高准确率(分类、实体提取、情感判断)
  • 需要压缩模型体积(用大模型的 Fine-tuning 数据训练小模型)

不需要 Fine-tuning 的场景

  • 通用问答和对话——Prompt Engineering 就够了
  • 偶尔使用的任务——写好 Prompt 比训练模型划算
  • 数据量太少(少于几百条)——Fine-tuning 效果不一定好,还可能过拟合

常见坑

  • 数据质量比数量重要:100 条高质量数据 > 10000 条垃圾数据
  • 不是越调越好:过度 Fine-tuning 会导致模型"忘掉"通用能力(灾难性遗忘)
  • 需要评估体系:没有对比指标就不知道调得好不好
  • Fine-tuning 不能解决所有问题:如果 Prompt Engineering + RAG 能搞定,就不需要 Fine-tuning

Fine-tuning 的典型流程

1. 收集数据:准备"输入 → 期望输出"的配对数据
    ↓
2. 数据清洗:去重、去噪、格式统一
    ↓
3. 选择基座模型:根据任务复杂度和预算选择
    ↓
4. 训练:用 LoRA 或全量方式微调
    ↓
5. 评估:用测试集验证效果,和 Prompt Engineering 方案对比
    ↓
6. 部署:替换原模型或作为专用模型上线

记住这一句:Fine-tuning 是"用你的数据训练你的模型"——当 Prompt Engineering 搞不定时,它能让通用模型变成领域专家。

相关词条Prompt Engineering · Embedding · Token