降低学习率比任何其他尝试都更好地修复了我的Qlora微调问题
摘要
一位用户发现,将学习率从2e-4降低到1e-4显著改善了Llama 3.1 8B在小型数据集(8k样本)上的QLoRA微调效果,防止了过拟合,并获得了更好的评估结果。
一直在用Qlora对llama 3.1 8b进行微调,用于一个分类任务,大约用了8k样本。有一段时间评估结果很差,我一直以为是数据有问题。尝试了清洗数据集、换不同的提示模板、调整rank和alpha,但没什么变化。后来把学习率从2e-4降到1e-4,并将轮次从3增加到5。在Hyperai上租的5090上跑了,因为我们实验室的机器一直有人用。结果完全不同。同样的数据,其他一切都没变。当数据集这么小时,2e-4实在太激进了。模型在第一个轮次就过拟合,然后在剩余的训练中原地打转。降低学习率给了它更多收敛空间,而不会过度偏离所有东西。另外,我还删掉了大约三分之一的数据集,主要是错误标注和模糊样本。数据少了,评估结果反而更好——是的,人人都这么说,但亲眼看到数字时感受不同,哈哈。2e-4到处是默认值,但我觉得它在数据集小于某个规模时效果不好。
相似文章
在样本量低于1万时,qlora的默认学习率2e-4是错误的,却没有人讨论[D]
作者认为,对于样本量低于1万的数据集,QLoRA微调中常用的2e-4学习率过高,会导致过拟合和评估效果不佳,并建议使用更低的学习率,如1e-4。
AQLoRA:一种快速量化LoRA微调的零搜索方案
AQLoRA是一种零搜索方法,通过自适应地将高NF4重构误差的层保持为fp16格式,加速量化LoRA微调,实现最高11%的训练速度提升,且精度损失极小。
Hybrid-LoRA:桥接全微调与低秩适应的后训练方法
Hybrid-LoRA提出了一种框架,选择性地对一小部分模块进行全微调,同时对其他模块使用LoRA,在显著降低计算成本的同时实现了接近全微调的性能。实验表明,与现有参数高效基线方法相比,性能提升高达5.65%。
单一学习率不够:LoRA微调的自适应各向异性学习率
本文提出了一种用于LoRA微调的自适应各向异性学习率模型,以解决模块内异质性问题,提升性能并在各基准测试中提高秩容量利用率。
@jbhuang0604: LoRA, low-rank adaptation, is arguably the most popular parameter-efficient fine-tuning method for LLMs. But how does i…
LoRA(低秩适配)是LLM最流行的参数高效微调方法,视频介绍了LoRA及其变体(LoRA+、QLoRA、VeRA、DoRA)的工作原理。