news 2026/5/7 13:56:03

别把 QLoRA 当成 LoRA 的自动升级:我在 RTX 3090 上把同一个 0.6B 模型按全参、LoRA、QLoRA 跑了一遍,真正省掉的是这两层内存

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别把 QLoRA 当成 LoRA 的自动升级:我在 RTX 3090 上把同一个 0.6B 模型按全参、LoRA、QLoRA 跑了一遍,真正省掉的是这两层内存

别把 QLoRA 当成 LoRA 的自动升级:我在 RTX 3090 上把同一个 0.6B 模型按全参、LoRA、QLoRA 跑了一遍,真正省掉的是这两层内存

很多人第一次做大模型微调,会把 LoRA 和 QLoRA 理解成一条顺滑升级链:先学 LoRA,不够省显存时再“切到 4bit 的 LoRA”。可一到项目里,问题马上就会问歪。比如同样都只训练 adapter,为什么 LoRA 和 QLoRA 的显存差距还能这么大?再比如明明上了 4bit,为什么训练时显存没有直接变成四分之一?

我在一张 RTX 3090 上,把同一个Qwen/Qwen3-0.6B模型按全参数 BF16、LoRA + BF16 底座、QLoRA + 4bit 底座三种方式各跑了一次最小单步训练。结果很直接:LoRA 主要省的是“训练态内存”,QLoRA 额外省的是“底座权重加载内存”;但激活、临时 buffer、LoRA 自己的参数和一部分训练开销,并不会因为你把底座量化到 4bit 就一起线性缩小。

如果你最近正准备在 24GB 显存上做 SFT,或者你已经在 LLaMA-Factory / PEFT / TRL 的参数堆里看花了眼,这篇文章最值得你带走的不是“哪个更高级”,而是下面这句话:LoRA 和 QLoRA 省的不是同一层成本,问错成本层,选型就会错。

1. 先把定义掰直:LoRA 省的是可训练层,QLoRA 省的是底座权重<

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!