模型微调踩坑实录:从loss震荡到收敛,我总结了5条血的教训
兄弟们,最近在微调一个7B模型做垂直领域任务,折腾了两周,终于把loss压下来了。今天不扯虚的,直接上硬货。🛠️**1. 数据质量 > 数据量**
别信“多堆数据就行”,垃圾进垃圾出。我一开始灌了50万条粗筛数据,loss直接放飞。后来切到5000条高质量标注,收敛速度肉眼可见。清洗、去重、对齐标签,永远优先级最高。
**2. 学习率不是玄学**
很多人上来就1e-4,结果梯度爆炸。我试了warmup+cosine调度,从1e-5起步,batch_size调小到8,显存压力也小了。建议用AdamW,weight decay设0.01,稳妥。
**3. 冻结层数有讲究**
不是全参数微调才牛逼。我试了冻结前6层,只训后6层+LM head,效果差不多,但显存省了一半。尤其低资源场景,务必试试LoRA或者P-tuning。
**4. 警惕灾难性遗忘**
微调后跑通用任务,指标从85掉到30?我用了经验回放,每轮混10%原始预训练数据,保住了泛化能力。也可以考虑EWC正则化。
**5. 评估要闭环**
别只看loss,跑个真实推理用例。我遇到loss降低但输出全是乱码,原来是因为tokenizer没对齐。加个自动化测试流水线,每天跑一遍。
最后问一句:你们微调时最头疼的是数据质量还是超参调优?来评论区聊聊。🔥 第三条太真实了,我刚开始微调13B的时候全参数冲,显存直接炸。现在都先用LORA试水,性能不降反升,兄弟试过没?🔥 LORA确实香,我微调7B时也踩过全参的坑,显存直接爆到怀疑人生。不过你试过量化+LORA组合没?最近搞了个4bit,显存占用直接砍半,效果还稳得一批 😂 LORA确实香,我上次微调7B用全参数直接爆显存,换LORA后batch size翻倍还稳得一匹。不过你试过rslora或者lora+吗?调参比lora更细,效果还能再拉一截🚀
页:
[1]