跳转至

大模型微调介绍

1. 什么是大模型微调

微调(Fine-tuning)是指在一个预训练好的大语言模型基础上,用特定领域或任务的数据继续训练,让模型学会新的知识或行为模式。

预训练(Pre-training)让模型学会"通用语言能力",微调则让模型学会"做你的特定任务"。打个比方:

  • 预训练 = 大学通识教育(理解语言、常识、推理)
  • 微调 = 入职后的岗位培训(学会公司的业务流程和规范)

2. 为什么需要微调

虽然 GPT-4、Claude 这类通用大模型已经很强,但在以下场景下,微调仍然不可替代:

场景 说明
领域专业化 医疗、法律、金融等垂直领域,需要专业术语和准确性
特定输出格式 让模型稳定输出 JSON、特定 XML 结构、固定风格
私有知识 企业内部文档、产品知识,不能上传给第三方 API
风格定制 客服话术、品牌语气、人设角色扮演
降低成本 用小模型微调达到大模型的效果,推理成本更低
数据安全 完全在本地运行,敏感数据不出私有网络

3. 微调 vs Prompt vs RAG

这三种是定制 LLM 行为的主要手段,各有适用场景:

维度 Prompt 工程 RAG 微调
修改对象 输入提示词 检索外挂知识 模型权重
数据规模 几个示例 大量文档 几百到几万条样本
训练成本 低(仅向量化) 高(需要 GPU)
推理成本 中(提示词长) 中(拼接上下文) 低(无额外开销)
知识更新 改提示即可 改文档库即可 需重新训练
适合场景 通用任务、原型 知识问答、文档查询 风格、格式、私有任务

经验法则: 先 Prompt → 不行试 RAG → 还不行再考虑微调。

4. 微调的主要类型

按训练方式分

全参数微调(Full Fine-tuning) - 更新模型的所有参数 - 效果最好,但显存需求大(7B 模型约需 80GB) - 训练数据少时容易过拟合

参数高效微调(PEFT, Parameter-Efficient Fine-Tuning) - 只更新一小部分参数(通常 < 1%) - 代表方法:LoRAQLoRAPrefix TuningAdapter - 显存占用大幅降低,效果接近全量微调

按训练目标分

SFT(Supervised Fine-Tuning,监督微调) - 用 (指令, 期望回答) 数据对训练 - 最常见的微调方式

RLHF(Reinforcement Learning from Human Feedback) - 用人类反馈强化学习对齐人类偏好 - 复杂度高,资源需求大

DPO(Direct Preference Optimization) - RLHF 的简化版,直接用偏好数据训练 - 效果接近 RLHF,实现简单很多

5. 微调的完整流程

一次完整的微调通常包含以下步骤:

1. 明确目标       → 解决什么问题?指标是什么?
2. 选择基座模型   → Llama 3、Qwen 2.5、ChatGLM 等
3. 准备数据集     → 收集、清洗、格式化
4. 选择微调方法   → 全量/LoRA/QLoRA
5. 配置训练       → 超参数、batch size、学习率
6. 启动训练       → 监控 loss、显存
7. 评估模型       → 测试集指标、人工评估
8. 部署上线       → 合并权重、量化、推理服务

6. 主流微调框架

入门可以从这几个框架挑选:

框架 特点 适合人群
HuggingFace Transformers + PEFT 最灵活、社区最大 想了解原理的开发者
TRL HuggingFace 出品,专注 SFT/DPO/PPO 做对齐训练
LLaMA-Factory 中文友好、配置文件驱动、零代码 新手快速上手
Unsloth 训练速度快 2 倍、显存省 60% 资源紧张
Axolotl 配置文件驱动、支持模型多 工程化训练

本系列教程主要使用 HuggingFace Transformers + PEFT + TRL 组合,这是最灵活、最能学到原理的方式。

7. 硬件需求参考

不同规模模型 + 不同方法的最低显存(仅供参考):

模型规模 全量微调 LoRA QLoRA (4bit)
1.5B ~24GB ~8GB ~4GB
7B ~80GB ~24GB ~10GB
13B ~160GB ~36GB ~16GB
70B ~1TB+ ~160GB ~48GB

如果只有一张消费级显卡(如 RTX 4090 24GB),最常见的方案是:7B 模型 + QLoRA

8. 学习路径建议

本系列教程的推荐阅读顺序:

  1. 本文:微调介绍 (了解全貌)
  2. 环境准备 (搭好工具链)
  3. 数据集准备与处理 (没有数据等于零)
  4. LoRA 微调 (从最常用的方法入手)
  5. QLoRA 微调 (消费级显卡友好版)
  6. 指令微调(SFT) (对话模型的核心)
  7. DPO 偏好优化 (让模型更"听话")
  8. 模型评估 (怎么判断微调效果好不好)
  9. 模型部署 (把微调成果用起来)
  10. 全参数微调 (进阶,资源充足再玩)

总结

  • 微调是在预训练模型基础上用专属数据继续训练,让模型学会特定任务
  • 相比 Prompt 和 RAG,微调适合需要稳定风格、私有知识、低推理成本的场景
  • LoRA、QLoRA 是消费级显卡上最实用的微调方法
  • SFT 是入门起点,DPO 进一步对齐人类偏好
  • 推荐工具链:HuggingFace Transformers + PEFT + TRL

评论