5.9 PEFT 全景与选型:你到底该不该微调
一家人,都叫 PEFT
LoRA 不是石头缝里蹦出来的。它属于一个更大的家族:PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)——冻结绝大部分参数,只训一小撮,这个家族的所有成员都在回答同一个问题:那「一小撮」应该长什么样、放在哪里。
四种主要思路,各有各的贴法:
| 方法 | 训什么 | 贴在哪 | 为什么没成为主流 |
|---|---|---|---|
| Adapter(2019) | 插进去的小瓶颈层 | 每层中间,串在主路上 | 推理时永远多几层计算,延迟下不去 |
| Prefix / Prompt Tuning(2021) | 一串「虚拟 token」的向量 | 拼在输入前面 | 占用上下文,而且优化不稳定 |
| (IA)³(2022) | 几个缩放向量 | 乘在激活值上 | 参数极少(比 LoRA 还少),但表达力有限 |
| LoRA(2021) | 低秩矩阵 | 与原权 重并联 | ——它赢了 |
LoRA 赢在哪?看表格最右一列就明白了:它是唯一一个既不加计算、又不占上下文的方案。因为便利贴是并联在原权重旁边、而不是串在主路上,训完可以直接加回去合成一个新矩阵,推理时和原模型一模一样。竞争对手要么让每次推理都变慢,要么吃掉你本就紧张的上下文窗口。
这张表是 2026 年的工业界现状快照,不是技术优劣的终审判决。Prompt tuning 在超大模型上、单一底座服务海量任务时仍有独特优势(每个任务只存几千个数字);Adapter 的思路在多模态适配里还活跃着。「LoRA 赢了」的准确说法是:在「单卡微调开源大模型」这个最常见的场景里,它的性价比目前没有对手。
但更值钱的问题在前面
讲完怎么微调,该讲一件更重要的事了——大多数想微调的人,其实不需要微调。
这不是唱反调。这是工程实践里反复出现的一幕:团队花两周攒数据、 调参、训出一版 LoRA,上线后发现效果还不如把提示词重写一遍。
原因几乎总是同一个:他们要解决的问题,根本不在微调能解决的范畴里。
记住这条分界线:
微调改的是「怎么说」,不是「知道什么」。
- 想让模型只输出 JSON、用客服口吻说话、遵守公司的行文规范、在你的领域里用对术语——这些是「怎么说」,微调很在行。
- 想让模型知道你公司的报销标准、上周的销售数据、某份内部合同的条款——这些是「知道什么」,微调很吃力,而且会帮倒忙。
第三点值得展开:2024 年的一项实证研究发现,在模型没见过的新知识上做微调,反而会让它更爱编。直觉上说得通——你逼它把一堆它并不「理解」的事实背下来,同时也就教会了它「对不确定的事也要自信地说出来」这个坏习惯。
要让模型知道新东西,正确答案是给它外挂一个知识库,让它现查现答——这正是本教程中篇《给 AI 接上你的知识》整整八章在讲的事。
四个问题,定你的路线
把上面的判断做成一道阶梯,你就有了一个可操作的决策流程:
请至少走三遍:
路线 ①:默认配置(补充事实 / 几百条 / 经常变 / 一张卡)。 看它把你按在第 2 级 RAG 上——哪怕你有卡、有数据、有微调的全部条件,只要目标是「补事实」,检索就是更对的答案。这是整道阶梯上最重要的一条规则。
路线 ②:把第 ① 题改成「固定格式或语气」。 现在跳到第 3 级 LoRA/QLoRA 了。同样的数据、同样的硬件,仅仅因为目标从「知道什么」换成了「怎么说」,推荐就完全不同。决定路线的是你的目标,不是你的资源。
路线 ③:再把第 ② 题改成「没有 / 几十条」。 又被打回第 1 级 提示工程。几十条示 范喂不饱任何微调,但正好够当 few-shot 例子——而且你为提示词攒的这些好样本,将来就是微调的训练数据。这条路没有白走的。
真要微调,先记三件事
一、数据质量远比数量重要。 LIMA(2023)用 1000 条精挑细选的示范,就达到了远超同规模「几十万条粗糙数据」的效果。原因回到 5.1 节:能力全在基座里,SFT 只是唤醒,不是灌输——那就更该给它看几百条精品,而不是几十万条噪音。你花在清洗数据上的每一小时,都比花在调超参上的更值钱。
二、先建评测集,再动手训。 这是最常被跳过、也最致命的一步。没有评测集,你唯一的判断依据就是「我看了几个例子,感觉变好了」——而这恰恰是最不可靠的信号(7.2 节讲过人对流畅文本的判断有多容易被骗)。怎么从零造一把尺子,7.4 节有完整流程;先记住一条:哪怕只有 50 条固定的测试样例、手工判分,也远胜于凭感觉。
三、小心灾难性遗忘。 在窄数据上训得太狠,模型会「专精」到丢掉通用能力:客服话术学会了,数学能力掉了一截。防守手段是训练数据里掺一些通用样本、控制训练轮数(通常 1~3 个 epoch 就够)、以及——还是那句——用评测集盯着,不只测你的目标任务,也测几项通用能力。
它是经验法则,不是流程规范。有几种情况值得直接跳级:需要严格的延迟预算(提示词太长会拖慢首字响应,微调能把长提示「压进」参数里);需要在离线/内网环境部署小模型;或者你要的输出格式极其严苛、提示词怎么写都有几个百分点的漏网。阶梯的价值不是禁止跳级,而是逼你先说清楚为什么要跳。
小结
- PEFT 是一个家族:Adapter(串联,加延迟)、Prefix/Prompt(占上下文)、(IA)³(只能缩放)、LoRA(并联,可合并)——LoRA 赢在既不加计算也不占上下文。
- 最重要的分界线:微调改的是「怎么说」,不是「知道什么」。要补事实请用 RAG,在新知识上微调反而会加重幻觉(2024 年实证)。
- 决策阶梯:提示工程 → RAG → LoRA/QLoRA → 全参微调,永远从最便宜的一级开始,确认不够用了再往上爬。
- 真要微调:数据质量 ≫ 数量(LIMA 用 1000 条)、先建评测集再动手、警惕灾难性遗忘。
延伸阅读
- Parameter-Efficient Transfer Learning for NLP (Houlsby et al., 2019)——Adapter,PEFT 家族的开山之作。
- The Power of Scale for Parameter-Efficient Prompt Tuning (Lester et al., 2021)——prompt tuning 与「模型越大越好用」的规模效应。
- LIMA: Less Is More for Alignment (2023)——1000 条精选数据的对齐实验。
- Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations? (Gekhman et al., 2024)——「微调灌知识会加重幻觉」的对照实验。
- 想给模型接上真正的知识库?直接去中篇 · 给 AI 接上你的知识(RAG)。
- 下一节 5.10 训练数据是怎么造出来的:决定要微调了——那几千条数据本身从哪来?