模型微调导读
> **本章阅读时间**:约1小时(共5篇)
模型微调导读:什么时候需要微调,怎么微调
本章阅读时间:约1小时(共5篇)
你有没有遇到过这样的情况:System Prompt 写了几百个字、few-shot 示例放了十几个,但模型输出还是不稳定,某个特定格式时对时错,某种行业语气怎么都调不准——这时候才需要微调。
微调是什么,从一个比喻说起
预训练好比大学通识教育:模型在互联网海量文本上学习了语言的规律、世界的知识、逻辑的推理方式。但这只是通识,不是某个公司的客服规范,不是某家医院的诊断术语,也不是某种特定的代码风格。
微调好比岗前培训:新员工入职后不需要重新学数学、重新学语言,只需要花几周时间适应公司流程、学习岗位规范。同样地,微调不是让模型从头学语言,只是在预训练的基础上,用少量高质量的任务数据,调整模型的特定行为。
这是微调为何高效的根本原因:模型早就掌握了通用能力,微调只是"调整姿态"。
先搞清楚:微调 vs RAG 怎么选
这是本章最重要的决策框架,请先看清楚再决定要不要微调。
RAG 解决的是"模型不知道"的问题:知识库里有新产品信息、最新政策文档、私有数据,这些内容每次更新不需要重新训练模型,检索即可。
微调解决的是"模型知道但行为不对"的问题:模型懂中文,但不懂你们公司的客服语气;模型会写 JSON,但不能保证每次都输出你要求的特定格式。
两者可以叠加:先微调让模型行为稳定,再加 RAG 补充外部知识,往往比单独用任何一种效果都好。
什么时候需要微调
以下几种情况,Prompt + RAG 解决不了,微调才是正解:
稳定的输出格式保证不了。JSON 输出有嵌套字段,要求每次严格符合 schema,few-shot 示例能做到 85%,剩下 15% 会出错。生产环境里这 15% 是真实故障,微调后可以压到 1% 以下。
特定的语言风格或品牌语气。公司有一套特定的客服措辞,用 Prompt 描述很难完全传达,但用真实对话示例训练,模型能学到那种"感觉"。
System Prompt 太长,成本太高。3000 token 的 System Prompt 每次都要带,成本高延迟也有影响。把这些规则"烧"进模型,System Prompt 可以缩短,每次调用成本直接下降。
领域行为需要内化,不是查找。某些专业知识不是"查一下"就能用好的,需要模型真正理解领域逻辑。这种情况 RAG 提供了文档,但模型用那些文档推理的质量不够,微调让模型真正"懂"这个领域。
什么时候不需要微调
大多数情况下不需要。先把 Prompt 优化到没有明显改进空间,再考虑微调。很多时候 Prompt 工程就够了。
数据少于 50 条时谨慎。少量数据的微调很容易过拟合——在训练数据上表现完美,遇到略微不同的新输入就出错。效果可能反而不如写得好的 few-shot Prompt。
知识会频繁更新时不合适。基础模型升级后微调版本不能迁移,需要重新训练。知识更新频繁的场景维护成本太高。
微调的成本结构
微调不是免费的,上手前先搞清楚要花多少:
数据准备是最大的成本,也是最容易低估的。每条高质量训练样本都需要人工设计或审核。50 条精心制作的数据可能要两天时间,但质量差的数据微调出来的模型可能比基础模型还差。
训练计算成本:OpenAI Fine-tuning API,100 条数据大约花 5 美元;自建训练环境,一次实验需要几小时到一天的 GPU 时间。这是一次性投入。
| 方式 | 数据量 | 估算成本 | 适合场景 |
|---|---|---|---|
| OpenAI Fine-tuning API | 50-1000条 | $5-50/次 | 快速验证,不想管基础设施 |
| LoRA(自建) | 100-10000条 | 每次训练1-8元(AutoDL) | 开源模型,数据保密 |
| QLoRA(自建) | 100-10000条 | 每次训练0.5-5元 | 显存受限,消费级GPU |
维护成本:模型升级后,微调版本不能直接迁移,需要重新训练。这个长期成本很多团队低估了。
GPU 要求:
| 方案 | 最低配置 | 推荐配置 | 云端选择 |
|---|---|---|---|
| LoRA微调7B | RTX 3090 (24GB) | A100 40GB | AutoDL约2元/小时 |
| QLoRA微调7B | RTX 3060 (12GB) | RTX 3090 | AutoDL约1.5元/小时 |
| QLoRA微调13B | RTX 3090 (24GB) | A100 40GB | AutoDL约6元/小时 |
本章内容
| 文章 | 核心内容 | 阅读时间 |
|---|---|---|
| 01.微调入门 | 什么时候需要微调?三种方法对比,OpenAI API实战 | 约15分钟 |
| 02.LoRA原理与实战 | 用最少参数微调大模型,低秩矩阵分解原理 | 约18分钟 |
| 03.QLoRA | 在消费级GPU上微调LLM,4-bit量化+LoRA | 约12分钟 |
| 04.数据集准备 | 微调数据的格式、质量和数量,生成合成数据 | 约12分钟 |
| 05.微调效果评估与部署 | 怎么知道微调效果好不好?三层评估体系 | 约10分钟 |
工具链
pip install transformers datasets peft trl accelerate bitsandbytes
学习建议
如果你是第一次接触微调,建议按顺序读。先读 01 了解整体框架和决策逻辑,再读 02-03 了解技术实现,04-05 是工程实践。
如果已经有一定基础,可以从 02(LoRA)直接开始,再按需读其他篇。
如果你的需求很简单(比如只是想用 OpenAI Fine-tuning API),读 01 就够了,可以跳过 02-03 的底层实现。