微调知识干货笔记:为什么 & 是什么

2026-10-01 · 大模型 · 阅读 18 · 访客 10

一句话理解:预训练 = 通识教育;微调 = 职业培训;RAG = 外挂知识库 + 开卷考试;提示工程 = 提问技巧。 核心结论:微调不是让模型变聪明,而是让预训练模型改行为、改格式、改风格、注入有限领域模式,并对齐偏好。


1. 为什么需要微调?

1.1 预训练模型与领域专家的三个差距

差距表现微调能做什么
知识差距不懂领域术语、流程、规范、案例注入有限的领域模式、术语和表达习惯;大量事实与更新知识优先用 RAG
行为差距回答格式、语气、角色不符合要求学会固定格式、风格、角色设定
对齐差距指令遵循差、拒答策略不对、偏好不符通过 SFT / DPO 等对齐人类偏好

1.2 提示工程、RAG、微调的边界

  • 提示工程:不改变模型权重,快速试错,但长提示成本高、稳定性差。
  • RAG:外挂知识库,适合知识频繁更新、需要溯源,但依赖检索质量,不改变模型行为与风格。
  • 微调:直接改变模型参数,让领域行为“长在模型里”,适合格式、风格、任务和偏好对齐。

1.3 微调的核心价值

  • 改变行为:格式、语气、术语、角色。
  • 注入有限领域模式:领域表达、推理套路、常见流程。
  • 提升特定任务:分类、抽取、摘要、问答、代码等。
  • 私有化 / 低成本:小模型 + LoRA,本地部署。
  • 偏好对齐:更符合专家回答习惯。

2. 微调是什么?

定义:在预训练模型基础上,用领域 / 任务数据继续训练,更新部分或全部参数,使模型适配下游领域或任务。 它不是从零训练,也不是往数据库里写知识。

2.1 预训练 vs 微调

维度预训练微调
数据海量无标注文本领域 / 任务标注数据
目标学语言、世界知识学任务、领域行为、偏好
成本极高低到中
参数量全部全部或少量
结果通才基座领域专才 / 任务专家

2.2 训练-推理一致性

微调时使用的 chat template、system prompt、输出格式,必须与推理时保持一致。这是初学者最容易犯的错误之一。


3. 微调分类

3.1 按参数更新方式

  • 全参微调:更新所有参数,效果好,成本高,易灾难性遗忘。
  • PEFT 参数高效微调:
    • LoRA:冻结原权重,训练低秩矩阵。
    • QLoRA:4-bit 量化 + LoRA,省显存。
    • Adapter:插入小型适配层。
    • Prefix / P-Tuning:训练前缀向量。

3.2 按训练信号 / 目标

  • SFT 监督微调:指令微调,输入 - 输出对。
  • 领域适应:继续预训练 / 无监督,学领域语料。
  • 偏好对齐:RLHF、DPO、ORPO,学人类偏好。
  • 蒸馏:知识迁移技术,可与 SFT、偏好对齐组合使用,不是与它们并列的同一维度分类。

3.3 按数据

  • 监督微调
  • 无监督领域适应
  • 自监督

4. 核心机制与关键概念

4.1 损失函数与梯度下降

微调通常用交叉熵损失,预测下一个 token,通过梯度下降更新参数。

4.2 灾难性遗忘

微调后,模型旧能力下降。

缓解:混入通用数据、低学习率、LoRA、早停、经验回放。

4.3 过拟合

训练集表现好,验证集 / 新问题表现差。

缓解:增加数据、早停、正则化、Dropout、降低训练轮数。

4.4 LoRA 核心公式

\[ h = Wx + \frac{\alpha}{r}BAx \]

  • \(W\):冻结的原模型权重。
  • \(A, B\):可训练的低秩矩阵。
  • \(\alpha/r\):缩放因子。
  • 参数量极少,训练快,显存低。

4.5 QLoRA

  • 4-bit 量化原模型 + LoRA。
  • 进一步降低显存,消费级 GPU 可跑。
  • 适合 Qwen 0.5B / 0.6B 这类小模型。

4.6 数据格式

  • 常用 JSONL。
  • 字段:instruction / output,或 system / user / assistant。
  • 必须使用对应模型的 chat template。

4.7 关键训练配置

  • LoRA:rank / alpha / dropout。
  • 优化:学习率、epoch、batch size、梯度累积。
  • 防过拟合:早停、检查点选择。
  • 数据划分:训练 / 验证 / 测试。
  • 通用数据配比:建议混入 5% - 20% 通用指令数据,缓解灾难性遗忘。

4.8 评估体系

  • 基线对比:微调前 vs 微调后。
  • 领域测试集:未参与训练的代表性问题。
  • 通用能力回归:防止变“偏科”。
  • LLM as Judge:强模型盲评,但需注意偏见,最好结合人工抽查。
  • 指标:准确率、格式合规率、人工偏好、通用能力回归。

4.9 部署与迭代

  • LoRA 合并、量化推理。
  • vLLM / Ollama 等部署。
  • 持续迭代:数据 → 训练 → 评估 → 部署 → 反馈。

4.10 安全与合规

  • 领域免责声明。
  • 有害输出过滤。
  • 隐私与数据合规。
  • 医疗、法律、金融等领域尤其重要。

5. 什么时候该微调?

默认决策顺序:提示工程 → RAG → 微调。 但这不是绝对:任务明确、格式固定、数据充足时可直接微调;知识更新频繁优先 RAG;风格 / 格式问题优先微调。

适合微调

  • 固定格式 / 风格 / 角色。
  • 领域术语频繁、流程固定。
  • 任务专用,如抽取、分类、摘要。
  • 有高质量标注数据。
  • 需要私有化、低成本推理。

不适合微调

  • 知识频繁更新 → 用 RAG。
  • 需要精确溯源 → 用 RAG。
  • 数据很少 → 先提示工程。
  • 想大幅提升通用推理 → 换更大模型。

6. 微调 vs RAG vs 提示工程

维度提示工程RAG微调
改变权重否否是
知识更新差好差
行为 / 风格弱弱强
溯源无强弱
成本低中中高
适合快速试知识问答领域专家行为

7. Qwen 0.5B / 0.6B 专项

  • 容量有限:适合窄领域、单轮、格式化任务。
  • 数据质量 > 数量:1k - 5k 高质量样本可能见效,但取决于任务复杂度。
  • 方法首选:LoRA / QLoRA。
  • 风险:容易过拟合、灾难性遗忘。
  • 缓解:混通用数据、早停、低学习率。
  • 别期望:复杂推理、长程对话、大量新知识可靠注入。
  • 注意:
    • Qwen2.5-0.5B-Instruct 与 Qwen3-0.6B 的 chat template 不同。
    • Qwen3 有 thinking 模式,微调时需决定是否保留、是否训练思考过程。
    • LoRA target modules 通常包括 q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj。
    • Qwen 小模型对系统提示敏感,领域专家设定最好写入训练数据。
    • 建议保留 5% - 20% 通用指令数据。

8. 常见误区

  1. 微调 = 知识库:错。微调改行为,RAG 管知识。
  2. 数据越多越好:错。质量、多样性、准确性更重要。
  3. 全参一定优于 LoRA:不一定。小模型 + LoRA 性价比极高。
  4. 一次微调解决所有问题:错。需要迭代评估。
  5. 只训练不评估:错。必须 A/B、人工、LLM Judge。
  6. 忽略通用能力回归:微调后可能变“偏科”。
  7. 忽略训练-推理一致性:chat template、system prompt、输出格式必须对齐。
  8. 忽略安全合规:领域专家模型必须考虑免责声明、有害输出过滤和隐私合规。

9. 一页速记

  • 为什么:补有限知识、改行为、对齐偏好。
  • 是什么:用领域数据继续训练,更新部分 / 全部参数。
  • 怎么做:目标 → 数据 → 基座 → PEFT → 训练 → 评估 → 迭代 → 部署。
  • 小模型:窄领域、高质量数据、LoRA / QLoRA、早停、混通用数据。
  • 不能做:实时知识、精确溯源、复杂推理、通用能力大幅提升。
  • 一句话总结:微调不是教模型变聪明,而是让它从通才变成你领域的专才。