[NeurIPS 2023] QLoRA: Efficient Finetuning of Quantized LLMs
2026/7/23 18:10:40 网站建设 项目流程

Contents

  • Introduction
  • Method
    • NormalFloat Quantization (NF4)
    • LoRA Fine-tuning
  • Experiments
    • Memory Footprint
    • QLoRA vs. Standard Finetuning
  • References

Introduction

  • 作者提出了4-bit PEFT 方法 QLoRA,通过将权重量化到 4-bit (NF4 weight only quantization),进一步降低了 PEFT 的内存开销,能将微调 65B LLM 的显存开销从 >780GB 降低到 <48GB
  • 不足:QLoRA 仅仅是将原始权重量化到了 4-bit,但新增的 LoRA 权重仍然是 16-bit,无法和原始量化权重合并到一起;此外,NF4 的数据格式没有硬件支持,量化对训练时间没有节省,主要目标是节省训练显存

Method

NormalFloat Quantization (NF4)

  • 4-bit NormalFloat Quantization (NF4). QLoRA 提出了新的 non-uniform 标量量化器,定义为NF4格式. NF4 基于Quantile Quantization,目标是通过分析待量化输入分布的分位数,保证 quantization grid 中的每个 bin 都分配到相同数量的待量化值。作者假设权重服从高斯分布(当然其实这种假设并不成立,后续的工作例如 HIGGS 会先用归一化 + RHT 强制分布服从标准高斯分布),可以由高斯分布的 CDF 推导出最优的量化格点
    其中,Q X ( ⋅ ) Q_X(\cdot)QX()为标准高斯分布的 quantile function. 我们可以根据 quantile function 等距离切分出2 k + 1 2^k+12k+1个 quantiles,取相邻 quantiles 的中点可以得到2 k 2^k2k个量化格点。为了保证量化格点覆盖 0,正数部分 (包含正数 0) 取2 k − 1 + 1 2^{k-1}+12k1+1个格点,负数部分 (包含负数 0) 取2 k − 1 2^{k-1}2k1个格点,最后正负数格点合并去掉一个 0 后得到最终的量化格点,所以 NF4 正负轴的数值分布并不是对称的。这些格点归一化到[ − 1 , 1 ] [-1,1][1,1]后即为 NF4。量化时将权重也先归一化到[ − 1 , 1 ] [-1,1][1,1]再量化即可:
[-1.0,-0.6961928009986877,-0.5250730514526367,-0.39491748809814453,-0.28444138169288635,-0.18477343022823334,-0.09105003625154495,0.0,0.07958029955625534,0.16093020141124725,0.24611230194568634,0.33791524171829224,0.44070982933044434,0.5626170039176941,0.7229568362236023,1.0]
  • Double Quantization. QLoRA 中权重用 NF4 格式量化 (g64),NF4 的量化参数c 2 c_2c2使用 FP8 进一步量化(g256). 由于c 2 > 0 c_2>0c2>0,量化前可以先对c 2 c_2c2减去均值再做对称量化:

LoRA Fine-tuning

  • Default LoRA hyperparameters do not match 16-bit performance. 作者发现按照惯例只将 LoRA 用在 query and value attention projection matrices 上并不能 match 全精度微调,将 LoRA 用在所有线性层上才能 match 全精度微调

Experiments

Memory Footprint

QLoRA vs. Standard Finetuning

  • 4-bit NormalFloat yields better performance than 4-bit Floating Point.
  • k-bit QLORA matches 16-bit full finetuning and 16-bit LoRA performance.

References

  • Dettmers, Tim, et al. “Qlora: Efficient finetuning of quantized llms.” arXiv preprint arXiv:2305.14314 (2023).
  • code: https://github.com/artidoro/qlora and https://github.com/TimDettmers/bitsandbytes

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询