QLoRA量化 LLM 的高效微调
QLoRA 是华盛顿大学提出的一种有效的微调方法,可以减少内存使用量,足以在单个 48GB GPU 上微调 65B 参数模型,同时保留完整的 16 位微调任务性能。QLoRA 通过冻结的 4 位量化预训练语言模型将梯度反向传播到低阶适配器 (LoRA)。
项目团队同时还发布了一个命名为 Guanaco(原驼)的大语言模型,在 Vicuna 基准测试中优于所有以前公开发布的模型,达到 ChatGPT 性能水平的 99.3%,同时只需要在单个 GPU 上进行 24 小时的微调。
QLoRA 引入了许多创新来节省内存而不牺牲性能:
- (a) 4 位 NormalFloat (NF4),一种新的数据类型,理论上是正态分布权重的最佳信息
- (b) 双量化,通过量化量化常数来减少平均内存占用,以及
- (c) 分页优化器来管理内存峰值。使用 QLoRA 对 1,000 多个模型进行微调,提供跨 8 个指令数据集、多种模型类型(LLaMA、T5)和无法通过常规微调运行的模型规模(例如 33B 和65B参数模型)。
结果表明,即使使用比以前的 SoTA 更小的模型,QLoRA 在小型高质量数据集上进行微调也会产生最先进的结果。项目团队提供了基于人类和 GPT-4 评估的聊天机器人性能的详细分析,表明 GPT-4 评估是人类评估的廉价且合理的替代方案。此外,还发现当前的聊天机器人基准测试无法准确评估聊天机器人的性能水平。
所有模型和代码已发布,包括用于 4 位训练的 CUDA 内核。
评论