Q-GaLore: Quantized GaLore with INT4 Projection and Layer-Adaptive Low-Rank Gradients
作者: Zhenyu Zhang, Ajay Jaiswal, Lu Yin, Shiwei Liu, Jiawei Zhao, Yuandong Tian, Zhangyang Wang
分类: cs.LG
发布日期: 2024-07-11
💡 一句话要点
提出Q-GaLore,结合量化与低秩投影,显著降低LLM训练的内存占用。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 量化训练 低秩适应 大语言模型 内存优化 自适应学习
📋 核心要点
- 现有GaLore方法依赖SVD进行低秩投影,计算开销大,且在微调场景下提升有限。
- Q-GaLore结合量化和低秩投影,自适应更新梯度子空间,并量化投影矩阵,降低内存占用。
- 实验表明,Q-GaLore在预训练和微调任务中均表现出色,显著降低内存消耗,并超越现有方法。
📝 摘要(中文)
大型语言模型(LLM)的训练由于参数众多和优化状态复杂,对内存需求巨大。GaLore通过将权重梯度投影到低秩子空间来减少内存使用,但依赖耗时的奇异值分解(SVD)操作来确定子空间,频繁的子空间更新导致显著的训练时间开销。此外,在更容易实现的微调场景中,GaLore相比LoRA在准确性和效率方面的改进甚微。为了解决这些限制,我们引入了Q-GaLore,一种通过结合量化和低秩投影来大幅减少内存使用的新方法,超越了GaLore的优势。我们的方法基于两个关键观察:(i)梯度子空间表现出不同的属性,一些层在训练早期收敛,而另一些层则经常变化;(ii)投影矩阵对低比特量化具有很强的鲁棒性。利用这些见解,Q-GaLore基于其收敛统计信息自适应地更新梯度子空间,在实现可比性能的同时显著减少了SVD操作的数量。我们将投影矩阵保持为INT4格式,权重保持为INT8格式,并结合随机舍入来捕获累积的梯度信息。这种方法仅使用低精度权重即可实现高精度训练轨迹。我们证明Q-GaLore以卓越的内存效率实现了极具竞争力的性能。在预训练阶段,Q-GaLore可以在单个具有16 GB内存的NVIDIA RTX 4060 Ti上从头开始训练LLaMA-7B模型。在微调阶段,与LoRA和GaLore相比,它将内存消耗降低了高达50%,同时在相同的内存成本下始终优于QLoRA。
🔬 方法详解
问题定义:现有的大型语言模型训练方法,如GaLore,虽然尝试通过低秩投影来降低内存占用,但仍然存在计算开销大(依赖SVD)和微调场景下提升不明显的问题。频繁的子空间更新导致训练时间增加,限制了其在资源受限环境下的应用。
核心思路:Q-GaLore的核心思路是结合量化和低秩投影,并根据梯度子空间的收敛情况自适应地更新子空间。通过量化投影矩阵到INT4格式,并使用INT8格式的权重,进一步降低内存占用。自适应更新策略减少了SVD操作的频率,从而降低了计算开销。
技术框架:Q-GaLore的整体框架包括以下几个主要模块:1) 梯度计算模块:计算模型权重的梯度。2) 低秩投影模块:将梯度投影到低秩子空间,使用INT4格式存储投影矩阵。3) 自适应更新模块:根据梯度子空间的收敛统计信息,动态调整子空间的更新频率。4) 量化模块:将权重和投影矩阵量化到INT8和INT4格式,并使用随机舍入来保留梯度信息。5) 模型更新模块:使用投影后的梯度更新模型权重。
关键创新:Q-GaLore的关键创新在于:1) 结合了量化和低秩投影,实现了更高的内存效率。2) 提出了自适应梯度子空间更新策略,减少了SVD操作的频率。3) 通过INT4量化投影矩阵,进一步降低了内存占用,同时保持了模型的性能。
关键设计:Q-GaLore的关键设计包括:1) 使用INT4格式存储投影矩阵,并采用随机舍入来减少量化误差。2) 设计了基于收敛统计信息的自适应更新策略,动态调整子空间的更新频率。3) 权重使用INT8格式,在精度和内存占用之间取得平衡。4) 具体的损失函数和网络结构与基础模型保持一致,主要关注优化策略的改进。
🖼️ 关键图片
📊 实验亮点
Q-GaLore在预训练LLaMA-7B模型时,仅需16GB内存的NVIDIA RTX 4060 Ti即可完成。在微调任务中,相比LoRA和GaLore,内存消耗降低高达50%,且在相同内存成本下,性能始终优于QLoRA。这些结果表明Q-GaLore在内存效率和性能方面具有显著优势。
🎯 应用场景
Q-GaLore适用于资源受限环境下的LLM训练和微调,例如在消费级GPU上训练大型模型。该方法可以降低训练成本,加速模型开发,并促进LLM在边缘设备上的部署。未来可应用于个性化推荐、智能助手、自然语言处理等领域。
📄 摘要(原文)
Training Large Language Models (LLMs) is memory-intensive due to the large number of parameters and associated optimization states. GaLore, a recent method, reduces memory usage by projecting weight gradients into a low-rank subspace without compromising performance. However, GaLore relies on time-consuming Singular Value Decomposition (SVD) operations to identify the subspace, and the frequent subspace updates lead to significant training time overhead. Moreover, GaLore offers minimal improvements in accuracy and efficiency compared to LoRA in more accessible fine-tuning scenarios. To address these limitations, we introduce Q-Galore, a novel approach that substantially reduces memory usage by combining quantization and low-rank projection, surpassing the benefits of GaLore. Our method is based on two key observations: (i) the gradient subspace exhibits diverse properties, with some layers converging early in training while others are subject to frequent changes; (ii) the projection matrices are highly resilient to low-bit quantization. Leveraging these insights, Q-GaLore adaptively updates the gradient subspace based on its convergence statistics, achieving comparable performance while significantly reducing the number of SVD operations. We maintain the projection matrices in INT4 format and weights in INT8 format, incorporating stochastic rounding to capture accumulated gradient information. This approach enables a high-precision training trajectory using only low-precision weights. We demonstrate that Q-GaLore achieves highly competitive performance with exceptional memory efficiency. At pre-training, Q-GaLore facilitates training a LLaMA-7B model from scratch on a single NVIDIA RTX 4060 Ti with only 16 GB memory. At fine-tuning, it reduces memory consumption by up to 50% compared to LoRA and GaLore, while consistently outperforming QLoRA at the same memory cost.