给笔记本外接一个扩展坞,不换电脑就能多出网口、多接一块屏——适配器对大模型做的就是这个:在模型内部塞进几个小模块,原参数冻结不动,只训练新塞进来的部分。智谱清言、DeepSeek 的不少开源版本支持这种练法,本文用桌面上的扩展坞把它讲清。
小模块插在大模型哪里
小模块的位置很有讲究:它被插在模型的主干层之间,数据流经过时先被主干处理一遍,再拐进小模块加一道工序,两路结果合起来继续往下走。训练时主干的参数全部封存,误差信号只调小模块里的参数。参数占比常常只有原模型的百分之一二,一张消费级显卡就能带起来。
塞几个小模块、插在哪几层之间,这些选择没有放之四海皆准的答案,通常按任务试出来:有的场景插在靠近输入的位置就够,有的要穿透大部分层。参数虽小,位置和数量的组合仍然是一门手艺,不是套模板就能完工的活。
插拔的好处是实实在在的:同一套底座模型可以配不同的小模块,要法语腔就插法语模块,要代码风就插代码模块,互不污染,还能随时卸掉恢复原状。这对需要频繁换场景的团队意味着底座训练一次,后面全靠加模块复用。
插哪儿、占比多少、代价落在哪,三件事一起看。
| 关注点 | 适配器怎么安排 | 换来的好处 | 代价 |
|---|---|---|---|
| 插在哪 | 主干层之间,数据流拐进去加一道工序 | 主干参数全部封存,误差信号只调小模块 | 插错位置反而拖慢整体 |
| 参数占比 | 常见为原模型的百分之一二 | 一张消费级显卡就能带起来 | 推理每一步都背着这点额外开销 |
| 换场景 | 一个底座配多套模块,拔掉恢复原状 | 底座训一次,后面全靠加模块复用 | 同时插太多,任务之间会互相打架 |
| 能力边界 | 只在已有能力上做偏移 | 不动底座,通用能力不受损 | 补不了底座缺失的常识 |
外接扩展坞:不动主机换能力
桌面上的扩展坞这个比方很贴:主机还是那台主机,系统不用重装,想要多屏就插多屏坞,想要读卡就换读卡坞,拔下来主机恢复原样。适配器就是模型内部的坞:底座的通用能力不受损,新本领全记在小模块上。把坞拔了塞包里,底座模型也能直接分享给别人用,不夹带私货。
扩展坞比方还能再推一步:坞可以随时升级换代,底座还是那台。小模块也一样——场景需求变了,重新训一个小模块换上,底座分毫未动,这是可替换性带来的长期红利。
代价也有对应:坞带不动主机本身的短板,小模块也补不了底座缺失的常识——底座没学过的语言,插模块也长不出流利表达,它只是在已有能力上做偏移。什么是继续预训练?给底模安排再读书那篇讲的回炉路线,才是补底子的路子;要动筋骨,则是什么是全量微调?所有参数都动的训练那篇讲的全身训练。
适配器速查表
- 做法:主干冻结,只训插入的小模块
- 参数占比:常见为原模型的百分之一二
- 优势:可插拔、可复用、不污染底座
- 边界:补不了底座缺失的底层能力
类比失效的地方:坞不是万能的
扩展坞类比有一处对不上:坞与主机的接口是标准件,换坞零风险;小模块与底座的配合却要重新学习,插哪儿、插多大、训多久都得试,插错位置反而拖慢整体。另一处:坞是纯外设,小模块却在数据流内部掺了一脚,推理时每一步都背着这点额外开销。
还有一处常被忽略:多个小模块同时插,任务之间会互相打架,跟多个坞抢带宽一个道理。什么时候不该微调?先想清楚再动手那篇讲的前三问,放在决定要不要加模块时同样适用:能用提示词解决的,连坞都别买。
关于适配器的三个常问问题
- 小模块会让模型变慢吗?:会有一点点额外开销,参数占比小到百分之一二时,推理速度的影响通常可以忽略。
- 它能替代全量微调吗?:任务差距大、材料厚的场面替代不了;差距适中、材料有限的场面,它常常更划算。
- 底座模型能同时配几个小模块?:可以配多套分开用,但同时插太多会互相干扰,实践中多是一个场景配一套。
小模块的意义不在神奇,而在可换可卸:底座训一次,场景随便换,试错成本压到最低。该记住的边界是,它只做能力偏移,不补底层短板——底座差的老本,模块加得再多也补不回来。


