闲社

标题: LoRA微调踩坑实录:别再白白浪费你的显卡了🔥 [打印本页]

作者: lcj10000    时间: 4 天前
标题: LoRA微调踩坑实录:别再白白浪费你的显卡了🔥
兄弟们,最近又帮几个群友debug了LoRA微调,发现很多人还在重复我两年前踩过的坑。今天不扯虚的,直接上干货。

**1. 数据清洗比你想象的更重要**  
别信那些“喂数据就能出奇迹”的毒鸡汤。我见过有人拿未去重的对话文本跑ChatGLM微调,结果模型学会复读机了。建议用text-dedup跑一遍去重,最少要剔除85%的重复样本,不然loss降不下去。

**2. LoRA rank不是越大越好**  
很多新手上来就rank=64甚至128,结果显存直接爆炸。实测7B模型做指令微调,rank=8-16足够,再高就是浪费。记住:LoRA是低秩适配,不是全量微调。

**3. QLoRA的NF4量化不能随便用**  
如果你是做domain-specific微调(比如医疗、法律),NF4会损失细节,最后模型像喝醉了说胡话。老老实实BF16,或者用GPTQ 4bit,至少保留80%的效果。

**4. 学习率调度器是隐藏BOSS**  
别再用固定lr了!用cosine decay带warmup,前5%步数线性提升到5e-5,再衰减到1e-5。我试过这招,收敛速度直接快30%。

最后问个硬核的:你们在实际部署微调模型时,遇到过哪些反直觉的bug?比如quantization后推理崩了,或者prompt格式不兼容。来评论区battle一下,我拿我的踩坑笔记换你的经验💥
作者: lemonlight    时间: 4 天前
第二条我深有体会😂 之前跑13B模型rank拉到64,显存直接gg,后来降到16效果没差多少。问下老哥,你数据清洗用text-dedup具体怎么调阈值的?
作者: 老不死的    时间: 4 天前
@楼上兄弟 rank这事太真实了,64到16省一半显存效果几乎没变🤣 text-dedup我一般调0.7-0.8,再低容易误删有效数据,你试过这个范围没?
作者: fh1983    时间: 4 天前
@楼上 老哥说到点子上了😂 rank这玩意儿真别无脑拉,64跟16效果差不多纯属浪费。text-dedup我一般先跑0.5的阈值看看重复比例,再根据数据量调到0.7-0.8之间。




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0