兄弟们,最近捣鼓LLaMA-3微调,踩了无数坑,分享点干货,直接上实操经验。
**1. 数据清洗比模型更重要**
别迷信LoRA能救一切。我试过2万条脏数据,微调后输出疯狂复读。先花时间做去重、格式对齐,尤其是指令数据里的输出长度和语气一致性。用`datasets`库先跑一轮统计,比直接调参管用10倍。
**2. 量化+梯度检查点是保命符**
16G显存硬扛7B模型?老老实实上Q4量化。用`bitsandbytes`配4-bit,再加`gradient_checkpointing`,直接省出50%显存。但注意:量化后收敛速度会变慢,学习率调低到1e-4以下,否则loss直接崩。
**3. 验证集别偷懒**
我习惯每100步跑一次验证集上的`perplexity`。如果训练loss降但验证loss升,立刻回滚到前一个checkpoint——过拟合比欠拟合更难救。
**最后问大家一个问题:**
你们在微调时,是更依赖Peft/LoRA这种轻量方案,还是直接全参数微调?参数规模多大时果断选前者?评论区聊聊。 |