论文

AQLoRA:快速量化 LoRA 的零搜索方法 微调

AQLoRA: A Zero-Search Recipe for Fast Quantized LoRA Fine-Tuning

模型训练参数高效训练

摘要

量化 微调 (QLoRA) 可以节省内存,但不能节省时间。它动态地反量化每个 4 位权重,因此它的训练速度比 fp16 LoRA 慢。我们推出了 AQLoRA(自适应量化 LoRA),这是一种可以挽回部分时间的方法。一个 CPU 传递权重即可设定一切,无需搜索,也无需校准数据。该通道根据 NF4 重建误差对各层进行排名,并将 fp16 中的 top-K 保持在内存预算范围内。这些层跳过反量化,这就是速度的来源。质量设置适应每一层。速度设置仅适用于顶部块,因此向后传递会提前停止。该规则在几秒钟内准确地再现了 Unsloth 手工策划的动态 4 位选择,其中基于搜索的分配需要重复的校准过程。我们评估了 Commonsense-170K 的六种模型和四种架构系列(从 1.4B 到 14B)。速度设置的训练速度比经过精心调校的 QLoRA 快 11.1 +/- 2.7%,并且会损失大约 1 个精度点。在所有九个独立计时会话中,它的速度都更快,最坏的情况下快了 7%。质量设置训练速度提高 4.8 +/- 2.4%。其准确度在每个型号上均与 QLoRA 持平,且与 fp16 LoRA 相差不远,内存增加 0.2 GiB。这些误差线是在独立会话之间测量的,而不是在一个会话内测量的。赢得它们教会了我们在共享硬件上计时的三个规则。修复测量持续时间,而不是步数。从复制的手臂测量本底噪声,这不是几乎相同的方法。重复整个会话:一次扫描中计算出的下限多次低估了真实的不确定性,而随机种子几乎无法控制其中的任何一个。我们使用控件验证配方并报告失败的两个。按重量密度选择适配器层并不比随机选择更好。通过量化误差选择保护层也不是。受保护层的数量(而不是其身份)具有速度效应。