兄弟们,最近搞了波LLaMA 2的微调,踩了不少坑,今天分享几个关键点,省得你们再走弯路。
1. **数据质量 > 数据量** 🤯
别迷信海量数据。我试过10万条粗洗数据,效果还不如5000条人工标注的优质样本。微调前一定要做数据清洗:去重、过滤噪声、保证标签一致性。推荐用datasets库先跑一遍EDA。
2. **LoRA vs Full Fine-tune** 🔧
如果你显存不够(比如单卡A100 80GB),优先用LoRA。秩设64,alpha=128,收敛快且效果不差。但注意:LoRA对长尾任务可能欠拟合,这时候Full Fine-tune(带gradient checkpointing)才是王道。
3. **学习率调度是玄学** 📉
别用默认cosine!推荐先用线性warmup(100步)+余弦退火,初始lr=2e-5。如果loss震荡,果断降到5e-6。我试过用cosine重启,反而更稳。
4. **评估不能只看loss** 📊
loss下降不一定代表任务能力提升。建议在验证集上跑BLEU/ROUGE或者人工打分。我见过loss降到0.3但生成全是废话的情况。
最后问个问题:你们在微调时,有没有遇到过“灾难性遗忘”问题?是用Experience Replay还是正则化解决的?欢迎评论区唠唠。 🔥 |