LLM:模型微调经验
灵海之森 2024-10-17 10:01:01 阅读 65
微调大模型的经验总结
1. 数据集与样本质量
样本数量:
一般1万左右的高质量样本即可达到良好效果。对于简单任务,100-300条数据足够;中等难度任务需1000条以上;高难度任务需3000条甚至更多,可能达到10万条。
样本质量:
样本质量优先于数量,高质量样本更有效。需要重点关注样本的多样性和答案质量。
继续预训练:
当领域任务数据与预训练数据集差异较大时(如内部数据),需进行继续预训练,尤其是数据量较大时。
2. 超参数设置
学习率:
推荐范围:pre-train学习率的0.1倍左右。如pre-train为9e-5,则SFT设为9e-6。调整策略:若loss不收敛或震荡大则调低,若下降慢则调高。
warmup_ratio:
推荐范围:0.005-0.015。调整策略:学习率大时可增大warmup_ratio。
Epoch数:
推荐范围:2-10个epoch。若样本量少,可增加epoch数避免欠拟合;若样本量大,一般2个epoch即可。
3. 其他技巧
全参数SFT+LoRA结合:
前10%-30% step使用全参数SFT,后续step使用LoRA,既稳定又节省资源。
自动化测试与反馈:
建立基线,使用自动化工具如G-Eval进行测试,及时发现问题并改进。
自己的经验
数据集划分为6:3:1,使用LSH过滤掉重复数据,要确保数据的多样性和高质量。
全量比lora要好,lora初始学习率为1e-4,观察训练loss,不下降就增大学习率,验证集loss飞起就减少学习率。
warmup_ratio 可以0.1或者0.01,不影响最终收敛。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。