大模型微调用上 LoRA 之后,第一个要定的参数就是秩。一句话结论:改动小就选小秩,改动大就选大秩。LoRA 的秩取大取小差在哪,本质是在问这次微调要给模型动多深的手术。秩小,训练快、省显存,但能表达的变化有限;秩大,表达能力强,但参数多、容易过拟合。先把这句话记住,再来看细节。
结论先说:按改动幅度选秩
选秩之前先问自己:这次微调要改的是表层习惯还是深层能力。只是换个输出格式、统一一下语气,小秩就够,这类改动不需要多少表达空间。要教一个新领域的知识、改变推理方式,才需要考虑大秩,因为模型要腾出位置装新东西。多数日常微调落在第一类,八到三十二的秩已经够用。
还有个反直觉的经验:秩不是越大效果越好。数据量没跟上时,大秩会把训练数据背下来,测试集上反而更差。开源数据集挑选时如果只拿到几千条样本,优先小秩加多轮训练,而不是一步跨到大秩。
秩大秩小改变的是什么
LoRA 的做法是在原权重旁边挂一对低秩矩阵,训练时只更新这对小矩阵。秩就是这对矩阵的中间维度,它决定了附加变化的表达上限。秩为八,意味着这次微调的调整被压进一个很窄的通道;秩为六十四,通道宽一些,能容纳更复杂的变化模式。
可以把它理解成调音台的推子数量。推子少,只能粗调几项;推子多,能分别细调。但推子多不等于调得好,音质还取决于节目源本身,也就是训练数据的质量。微调框架里改秩只是一行配置,真正花时间的永远是数据准备。
显存和速度上的差别
小秩的优势是实打实的。可训练参数量随秩线性增长,秩翻倍,优化器状态和梯度占用的显存也跟着涨。训练速度上,小秩每步的计算量更小,同样硬件能开更大批次。对只有一张消费级显卡的团队,小秩往往是把实验跑起来和跑不起来的区别。
大秩的代价不止显存。参数多意味着需要更多数据才能喂饱,训练时间拉长,过拟合风险上升。实测对比里,同数据规模下,中等秩的效果常常不输大秩,差别在更难的定制任务上才显现。知识进屋的两种装修那套思路也适用:能用轻办法解决的,别急着上重办法。
怎么给自己的任务定档
实操上分三步。第一步看数据量:几千条以内,秩控制在三十二以内;几万条以上,再考虑往上加。第二步做对照实验:同一批数据,用八、十六、三十二三个秩各跑一轮,比较测试集分数,选边际回报开始变平的那个点。第三步看稳定性:大秩跑出来如果训练曲线抖得厉害,说明数据量撑不住,退一档。
把几个常用秩档位摊开,差别落在改动类型、数据量和风险上。
| 秩档位 | 适合的改动 | 数据量参考 | 显存与风险 |
|---|---|---|---|
| 八 | 换输出格式、统一语气这类表层习惯 | 几千条以内 | 优化器状态与梯度占用最小,同硬件能开更大批次;表达空间窄 |
| 十六 | 日常微调的中档,改动幅度不大 | 几千条以内 | 显存随秩线性增长,仍属轻量 |
| 三十二 | 日常微调的上限,多数任务到此够用 | 几千条以内可控,几万条以上再往上加 | 同数据规模下效果常不输大秩,需盯训练曲线 |
| 六十四 | 新领域知识、改变推理方式、领域迁移这类硬任务 | 需要更多数据才喂得饱 | 参数多、训练时间拉长,过拟合风险上升 |
对照实验要控变量。固定学习率、训练轮数、数据顺序,只改秩,否则分数差异说不清是谁的功劳。实验记录要把每次的配置、随机种子、测试集版本都写下来,复现和对比都靠它。专属测试集的做法在这时候就派上了用场,没有稳定的尺子,对照实验只是互相打架的几个数字。
日常工具的经验也可以参考:DeepSeek 和 Kimi 放出的适配器实践中,社区复现用得最多的还是中小秩,大秩案例多出现在领域迁移这类硬任务上。如果对照实验做下来差别都不大,就取小的那个,省下的显存可以多跑几轮。改模型还是改问法的路线判断,可以对照续训与微调的区别一起想。
速查表:表层改动用小秩,深层能力用大秩;数据少时秩不超过三十二;对照实验控变量、只改秩。省下的显存,比多出来的参数值钱。
关于 LoRA 秩的三个常问问题
- 秩选大了还能回头吗?能,重新初始化适配器再训即可,之前的大秩实验当预筛选,不算浪费。
- 不同层要用不同秩吗?可以,注意力层和大秩需求高的层分开配,但新手建议先全层统一,减少变量。
- 秩小效果一定差吗?不一定,表层改动小秩常常够用,数据量小时小秩反而更稳。


