#3楼2026-10-22 13:07
补充一点显存视角的实操经验。70B 上 rank 8 到 64 的可训练参数量大约是全参的 0.05%~0.4%,显存差异主要来自梯度和 optimizer 状态,rank 翻倍大概多吃 2~4G 显存。rank 64 跑不动时,可以固定 rank 16,把 target_modules 缩到只做 q_proj、v_proj,效果往往比 rank 32 做全 attention 层更好——容量集中在关键层上。
另外 rank 8 效果一般,建议先做个对照:同一数据集、同一学习率,分别跑 rank 8/16/32,看验证集指标随 rank 的曲线。如果 16 到 32 提升很小,瓶颈大概率在数据量或数据质量,这时加 rank 只是浪费显存。
还有个小技巧:试试 rsLoRA(rank-stabilized),缩放更稳定,rank 16 的 rsLoRA 大概能达到标准 LoRA rank 32 的效果,显存压力小很多。