关于微调的模型(qwen,GLM4)的一些感想

最近,我深入研究了用 LoRA 和 QLoRA 进行指令微调,经过几次实验,收获颇丰。我把一些发现和大家分享,希望能对你们有所帮助。

  1. LoRA 的秩设置:如果你觉得秩越高模型就会越好,那你错了。高秩会导致过拟合,在大多数情况下,较低的秩(r=8/16)就足够了。

  2. Dropout 并不万能:很多人认为在 LoRA 适配器中添加 dropout 能防止过拟合,但事实证明,这并不有效,反而可能会拖累性能。

  3. 适配器的位置:在模型的所有线性层中添加 LoRA 适配器,能带来最好的性能提升。

  4. 学习率计划:调整学习率非常关键。恒定的学习率计划和较短的预热期(例如,迭代次数的 2%-5%)效果最佳。余弦衰减的学习率计划并没有显著提高性能,有时还会加重过拟合。

  5. 权重衰减的作用:添加小的权重衰减(例如 1e-4),有助于防止过拟合,让模型更加稳定。

  6. 训练周期的选择:两个训练周期通常效果最好,但超过两个周期(例如三个周期)几乎总是导致过拟合。

  7. 批大小的重要性:批大小决定了训练的稳定性。足够大的批大小(64 或 128)才能确保训练稳定。如果 GPU 内存不足,可以使用梯度累积。小批大小(8 或 16)会导致训练曲线混乱,甚至阻止模型收敛。

  8. 消费级 GPU 的局限:在消费级 GPU(如 3090)上,即使是使用较小的语言模型,使用 LoRA 进行微调也并不容易。如果你的训练数据集中的数据context过长,你很有可能会爆显存。

  9. 内存管理的挑战:我不确定其他软件包(如 LitGPT)是否能更好地管理内存,但在 4090 GPU 上用 bfloat16 格式对 7B(8B,9B) 模型进行 LoRA 微调并非易事,这确实出乎我的意料。

  10. CompShare平台白嫖算力:Compshare平台目前提供免费的试用。注册和实名完成后可以获得20元的余额。这个平台4090的价格为2.6元每小时,有独立的ip,自动加速github和huggingface(适合小白)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值