- 简介训练大型语言模型(LLMs)存在显著的内存挑战,主要是由于权重和优化器状态的增大。常见的内存减少方法,如低秩适应(LoRA),在每层中添加一个可训练的低秩矩阵到冻结的预训练权重中,从而减少可训练参数和优化器状态。然而,这种方法通常在预训练和微调阶段都表现不如使用全秩权重进行训练,因为它们将参数搜索限制在低秩子空间中并改变了训练动态,此外,可能需要全秩热启动。在这项工作中,我们提出了梯度低秩投影(GaLore)的训练策略,它允许完全参数学习,但比常见的低秩适应方法(如LoRA)更节省内存。我们的方法在优化器状态中减少了高达65.5%的内存使用,同时在使用高达19.7B个标记的C4数据集的LLaMA 1B和7B架构以及在GLUE任务上微调RoBERTa时,保持了效率和性能。我们的8位GaLore相比于BF16基线,进一步将优化器内存减少了高达82.5%,总训练内存减少了63.3%。值得注意的是,我们首次证明了在消费级GPU上(例如NVIDIA RTX 4090)无需模型并行、检查点或卸载策略即可对7B模型进行预训练的可行性。
- 图表
- 解决问题论文试图解决在训练大型语言模型(LLMs)时,由于权重和优化器状态的增大而导致的内存挑战。同时,常用的低秩适应方法(如LoRA)在预训练和微调阶段都表现不佳。
- 关键思路提出了Gradient Low-Rank Projection (GaLore)的训练策略,允许完全参数学习,但比常见的低秩适应方法更节省内存,通过在每个层中添加可训练的低秩矩阵来减少内存使用。
- 其它亮点实验表明,GaLore可以在不使用模型并行、检查点或卸载策略的情况下,在具有24GB内存的消费级GPU上预训练7B模型。此外,8位GaLore相对于BF16基线进一步减少了82.5%的优化器内存和63.3%的总训练内存。
- 在这个领域中,最近的相关研究包括使用低秩适应方法来减少内存使用的其他论文,如LoRA和其他低秩适应方法。
沙发等你来抢
去评论
评论
沙发等你来抢