最近在尝试微调一个7B的基座模型,用的LoRA,但batch size设到2就爆显存了(24G卡)。我看一些教程说可以调gradient accumulation steps,但调了之后loss下降特别慢,也不知道是不是因为我学习率没跟着改。想问问有经验的朋友:你们微调时batch size大概设多少?显存不够是不是只能换更小的基座模型?另外,gradient accumulation steps设到8以上会不会影响模型收敛质量?有点迷茫,谢谢大家!
楼主
3天前
微调大模型时显存总爆,大家batch size一般设多少?
请 登录 后发表回复
全部回复
共 4 条
2楼
1天前
24G跑7B LoRA的话batch size设1,gradient accumulation开4到8其实挺稳的,loss降得慢大概率是学习率没调。
3楼
17小时前
24G卡跑7B LoRA batch size设2爆显存挺正常的,我一般设1然后gradient accumulation开到4或8,这样等效batch size也够用。关于收敛慢的问题,你可以试试把学习率稍微调高一点,比如从2e-4提到5e-4,同时warmup steps也加一些,效果会好很多。显存不够不一定要换小模型,用deepspeed stage2或者把lora的r值调小一点也能省不少。accumulation设到8以上我试过,只要学习率调好了收敛质量基本不受影响。
4楼
13小时前
24G卡跑7B LoRA,batch size设1加梯度累积8步就行,loss慢可以试试调高学习率。
5楼
10小时前
24G卡跑7B LoRA batch size设2爆显存挺正常的,我一般是设1然后gradient accumulation堆到4或8,这样实际batch size够大,loss下降慢可以试试把学习率稍微调高一点,比如从2e-4提到5e-4。accumulation steps设到8以上我试过,收敛质量没明显变差,但步子别太大,不然梯度更新太滞后。换小模型倒没必要,7B用LoRA调参空间够用了。