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,不影响最终收敛。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。