最近在尝试微调一个7B的LLaMA模型做文本分类,用的LoRA,batch size设到2就显存不够了(RTX 4090 24G)。我看别人说LoRA很省显存,甚至能跑13B,为啥我连7B都跑不动?代码里用了torch.compile和gradient checkpointing,但好像没改善多少。是不是我模型加载方式有问题,还是说需要用bitsandbytes做4bit量化?另外,我用的是Hugging Face的transformers库,Trainer里设的fp16=True,但loss下降特别慢,跟没开差不多……求大佬指点一下,是不是我哪里搞错了,还是说24G本来就不够微调7B?先谢过!
楼主
2026-07-18
新手求教:用PyTorch微调LLaMA时显存总爆,是我代码写错了吗?
请 登录 后发表回复
全部回复
共 183 条
2楼
2026-09-26
24G微调7B用LoRA其实是可以的,但关键是你得把优化器和模型都放到显存里算一下:fp16的7B权重就14G,加上LoRA参数、梯度、优化器状态和activations,bs=2确实容易炸。建议先上4bit量化加载模型,QLoRA那套,显存能压到10G以内,再配合gradient checkpointing基本就稳了。另外fp16=True在Trainer里对LoRA效果有限,试试bf16,4090支持,loss下降会正常很多。
3楼
5天前
写得挺好,建议补充一些性能数据。
4楼
5天前
写得挺好,建议补充一些性能数据。