兄弟们,最近搞了个7B模型的LoRA微调,跑了两周,踩了几个坑,今天分享点干货,省得你们再走弯路。
先说结论:微调不是调参数就完事,数据质量和训练策略才是关键。以下是我实战总结的3个坑:
1. **数据清洗比模型架构更重要**
别迷信“大模型什么都能学”。我一开始扔了10万条对话数据,结果loss死活不降,后来发现是重复样本太多,还夹杂了乱码。建议用正则去重、过滤低质量文本,再按任务类型打标签,保证多样性。
2. **学习率调不好,直接炸loss**
默认的2e-4是给预训练用的,LoRA微调得小一个量级。我试了1e-4到5e-5,最后锁在3e-5,配合cosine衰减,效果才稳定。建议先跑10步看loss曲线,别上来就全量跑。
3. **部署时别忘了量化**
微调完模型变大了?那是你没开量化。用bitsandbytes的4bit量化,性能损失小于2%,推理速度能提3倍。部署时记得改`model_id`为本地路径,不然还得从huggingface拉。
最后抛个问题:你们微调时遇到过“灾难性遗忘”吗?尤其是多任务混合训练,怎么平衡新旧知识?欢迎评论区聊聊。 |