随着大型预训练模型规模的不断扩大,在有限内存预算下进行微调变得愈加困难。低秩适配(LoRA)作为当前最广泛采用的参数高效微调(PEFT)方法,通过仅优化低秩适配矩阵来缓解这一挑战,从而大幅减少可训练参数的数量。然而,随着参数开销的显著降低,反向传播过程中保留的激活值成为LoRA微调中的主要内存瓶颈。
为了解决这一问题,我们提出了CARE-LoRA,这是一种数据感知的压缩激活重构框架。CARE-LoRA通过利用LoRA的固有投影结构,将完整的输入激活替换为由LoRA分支自然生成的低秩压缩激活。它在前向传播过程中计算一个轻量级的重构矩阵,额外的计算成本微乎其微,该矩阵在反向传播中用于重构梯度信号,从而确保LoRA矩阵的完全可训练性。广泛的实验表明,CARE-LoRA在显著减少整体内存占用的同时,与标准LoRA及其代表性变体相比,达到了竞争甚至更优的性能。
我们的代码已公开发布,地址为 CARE-LoRA GitHub。
博主点评: CARE-LoRA通过创新的激活压缩与重构方法,有效解决了LoRA在微调过程中面临的内存瓶颈问题,为大规模模型的高效训练开辟了新的思路。该方法不仅节省了内存,还在性能上与传统方法持平甚至更优,值得深入研究和应用。