兄弟们,微调这事儿看着简单,翻车率其实挺高的。我最近折腾LoRA微调7B模型,踩了几个坑,跟你们聊聊。
先说数据配比。很多人一股脑堆领域数据,结果模型过拟合,回答千篇一律。我试过纯代码数据微调后,模型连“今天天气不错”都回成函数调用。建议配比:70%领域数据 + 20%通用指令 + 10%负样本,能缓解这个问题。
再讲学习率。别信默认值,得按数据量调。我跑1k条数据时,lr设5e-4直接炸loss,降到2e-4才稳。另外batch size别贪大,8-16就行,显存不够就梯度累积。
部署时注意量化。微调完的模型如果直接用FP16跑,显存占用感人。用GPTQ或AWQ量化到4bit,推理速度能提2倍,精度损失不大,我实测BLEU掉了不到1个点。
最后问个问题:你们做长文本微调时,怎么处理截断策略?我试过滑动窗口,但效果不太稳,有没有更好的方案?欢迎在楼下聊聊。 |