LoRA 超参与 QLoRA

微调与对齐深水4讲解 3

r 定低秩矩阵的秩、alpha 定增量的缩放,两套常见数字(r=8/alpha=16 与 r=64/alpha=128)其实不矛盾 —— 看的是 alpha/r 的比值与任务复杂度。QLoRA 把冻结的基座量化到 NF4 省显存,训练的 LoRA 部分仍是全精度,省的是基座那份不是梯度那份。

也叫:QLoRA · rank · alpha · NF4 · LoRA 超参 · 量化微调

r 到底怎么选:两套数字不矛盾出自 T4-2

社区里有两套看似打架的建议,值得说清楚,这本身就是一个很好的分水岭点:

  • TRL / Thinking Machines 口径:SFT 用 r=256,RL/GRPO 用 r=1~32
  • Unsloth 等实用口径16 或 32 起步,常见 8/16/32/64/128。

两者不矛盾,因为说的不是一个数据规模。统一的原理是:

LoRA 的可训参数量必须大于"数据集要装进去的信息量"。容量够时,LoRA 能打平全参微调——同样的样本效率、同样的最终性能;容量不够时,性能会随数据量增大而逐步落后(不是断崖,是效率变差)。

TRL 说的是 post-training 规模的数据(百万 token 级),所以要 256。你手上 1800 条法律文书,16 或 32 绰绰有余。而 RL 场景之所以 r=1 就够,是因为强化学习每个 episode 只带回约 1 bit 信息,rank-1 的三百万参数早就超容量了。

实操建议:从 r=16 或 32 起步;如果训练 loss 明显欠拟合(降不下去)再往上加;不要在效果不好时第一反应就加 r,先检查 target_modules 对不对。

以上节选自T4-2 参数高效微调:LoRA、QLoRA 与一笔算得清的显存账,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到3