兄弟们,最近模型微调卷得飞起,我也折腾了LLaMA系列一阵子,分享点干货。
先说坑:**显存不够别硬扛**。很多人一上来就全参数微调,结果OOM哭爹喊娘。推荐LoRA或QLoRA,4-bit量化+低秩适配,12G显存也能跑7B模型。我常用peft库,配置rank=8,target_modules设成q_proj和v_proj,效果和全量差不多,但省一半显存。
**数据质量比数量重要**。别贪多,500条高质量对话样本远胜5万条垃圾。格式用Alpaca那种指令-输入-输出结构,清洗掉重复和错误。跑之前先做数据增强:同义词替换、回译,但别改原意。
**训练参数别瞎调**。学习率设1e-4到5e-5,batch size根据显存调,梯度累积步数4-8。用cosine调度器,warmup 10%步数。注意loss曲线:如果震荡大,降低学习率;如果收敛慢,加大batch size。
部署时用vLLM加速推理,吞吐量翻倍。模型合并后记得转成GGUF格式,方便本地跑。
最后问一句:**你们微调时遇到最头秃的bug是什么?** 我先说:数据集编码问题让我查了三天,结果是BOM头没去掉 😂 |