AI 文摘

LoRA的机制研究——学习的少,遗忘的也少





作者: 上堵吟 来源: 上堵吟

LoRA的机制研究——学习的少,遗忘的也少

1. 引言

随着自然语言处理(Natural Language Processing, NLP)的快速发展,越来越多的研究聚焦于大规模语言模型(Large Language Models, LLMs)的开发和应用。LLMs展现出了惊人的few-shot和zero-shot学习能力,在诸多NLP任务上取得了巨大成功。然而,要将预训练的LLMs适配到特定的下游任务,通常需要在目标领域的数据上进行微调(Fine-Tuning)。传统的全精度微调需要为每个下游任务训练和存储一个单独的模型副本,这对于参数量动辄数亿到数千亿的LLMs而言,无疑是一笔巨大的计算和存储开销。为此,学界提出了参数高效微调(Parameter-Efficient Fine-Tuning)的解决思路,旨在只微调原始模型的一小部分参数,从而最大限度降低存储和计算成本。

LoRA(Low-Rank Adaptation)是近年来广受关注的一种参数高效微调方法。不同于传统全精度微调对所有模型参数进行调整,LoRA仅为指定的权重矩阵学习一个低秩扰动。这种做法极大地减少了需要训练和存储的自由参数数量,在参数高效性方面具有显著优势。然而,既有文献对LoRA与全精度微调的性能差异缺乏系统的比较研究,二者在实际应用中的利弊权衡尚不明确。同时,学界对LoRA背后的作用机制也缺乏深入理解。为填补这一空白,Biderman等人开展了这项研究工作。

这篇题为《LoRA Learns Less and Forgets Less》的论文以编程和数学两个典型的LLM应用垂直领域为目标任务,系统考察了LoRA和全精度微调在不同数据规模下的性能表现。研究发现,尽管在多数设置中LoRA的适应性能不及全精度微调,但它展现出了一种独特的、有益的正则化效应。通过系统实证分析,论文加深了人们对LoRA的局限性和优势的认识,为后续研究提供了重要参考。本文的核心贡献包括:1)在编程和数学领域系统比较了LoRA和全精度微调的适应性能差异;2)揭示了LoRA在缓解灾难性遗忘方面的显著优势,证实了其较强的正则化效应;3)初步探究了LoRA性能差异的原因,发现与秩的关联;4)总结了LoRA微调的最佳实践建议。这些发现对于理解参数高效微调的本质局限和优化策略,以及指导实践应用都具有重要的学术价值和借鉴意义。

2. LoRA和全精度微调的性能比较

LoRA的核心思想是通过学习对指定权重矩阵的一个低秩扰动,实现参数高效微调。具体而言,对于某一层的权重矩阵W∈R^(d_out×d_in),LoRA用两个低秩矩阵A∈R^(d_out×r)和B∈R^(r×d_in)的乘积去近似对W的扰动,即ΔW=BA。微调时,只训练低秩矩阵A和B,而保持原始矩阵W固定。这里的秩r通常远小于d_in和d_out,因此LoRA能比全精度微调节省大量参数。与之相比,全精度微调需要对原始模型的所有参数进行调整,参数量和计算开销大幅上升。

为系统比较二者的性能差异,论文在编程和数学领域分别构建了两种不同规模的数据集:一是规模较小的指令微调数据集,包含约10万条人工标注的prompt-response pairs;二是规模较大的预训练语料,包含约100亿tokens的无标注文本。在每个领域,都分别在这两个数据集上对LoRA和全精度微调进行了充分训练,并在多个细分任务上进行了评估。

实验结果表明,在小规模指令微调数据集上,LoRA的性能与全精度微调相当,有时甚至还略有优势。作者猜测这可能是因为小规模数据更容易过拟合,而LoRA的参数高效特性起到了一定的正则化作用。然而,在大规模持续预训练设置下,LoRA的性能明显落后于全精度微调,在编程和数学领域的各项细分任务上,性能劣化幅度在3%到15%不等。分析表明,大规模语料提供了更充分的信息用于模型学习,但LoRA受限的参数容量可能无法充分吸收和利用这些信息,从而导致性能受限。这启示我们,LoRA在小样本数据稀缺场景下可能是一个不错的选择,但对于大规模语料,全精度微调可能仍是首选。

3. LoRA的正则化效果分析

尽管在适应目标任务方面,LoRA常常不及全精度微调,但研究发现,LoRA展现出了显著的正则化效应,在缓解灾难性遗忘方面具有独特优势。所谓灾难性遗忘,是指微调后的模型在适应新任务的同时,性能在原本擅长的任务上出现大幅下降,即一种过度适应目标领域而损害通用能力的现象。

论文通过一系列控制实验,考察了LoRA和全精度微调在缓解灾难性遗忘方面的差异。具体而言,研究者先在通用语料上训练一个基准模型,然后分别用LoRA和全精度微调的方式在编程或数学领域对其进行微调,最后比较二者在各自擅长任务和通用任务上的性能变化。实验结果揭示了LoRA的独特优势:与全精度微调相比,LoRA微调后的模型在通用领域任务上的性能保持度要好得多。这表明LoRA能够在适应目标任务的同时,较好地维持模型原本习得的通用知识,展现出了显著的正则化效应。

为进一步验证LoRA的正则化效应,研究者也将其与多种传统正则化技术进行了对比,包括L2权重衰减、Dropout、提前停止等。令人印象深刻的是,无论单独使用还是组合使用这些技术,都不及LoRA在缓解灾难性遗忘方面的效果显著。这表明,LoRA所起到的正则化作用可能有其独特的机制,值得深入研究。论文还发现,LoRA有助于模型维持更加多样化的生成结果。通过分析模型在开放式生成任务中的输出,研究者发现LoRA生成的结果在多样性等指标上显著优于全精度微调。这可能是因为全精度微调过度专注于目标领域的特征模式,而忽略了其他领域的知识,导致生成结果趋于单一化。LoRA则在一定程度上保留了原始模型更广泛的知识,从而呈现出更加丰富多样的生成能力。

4. 对LoRA性能差异的可能原因探讨

为深入理解LoRA与全精度微调性能差异的原因,论文对全精度微调学到的权重扰动矩阵的特性进行了分析。通过奇异值分解(SVD)技术,研究者考察了扰动矩阵的秩分布特点。结果发现,全精度微调的扰动矩阵秩普遍高出LoRA许多。在论文的实验中,LoRA的秩通常设置在10到100左右,而全精度微调的扰动秩则高达1000至10000量级。这表明,全精度微调能够学习到更为复杂和精细的特征模式。相比之下,LoRA受限的秩可能限制了其捕捉高阶特征的能力。

论文进一步探究了秩对LoRA性能的影响。通过控制实验,研究者发现增大LoRA的秩(如从16提高到256)能够显著提升其适应目标任务的性能,缩小与全精度微调的差距。然而,秩的增大势必带来更多参数,削弱了LoRA的参数高效优势。这启示我们,秩的选择需要在性能和效率之间进行平衡。过低的秩可能造成性能瓶颈,而过高的秩又失去了参数高效的意义。寻找最佳的秩值设置,是LoRA实践中的一个关键问题。未来的研究可以探索自适应调整秩的策略,或针对不同任务和数据特点,设计更加灵活的秩配置方案。

5. LoRA实践的建议总结

基于实证结果,论文总结了一些关于LoRA微调的最佳实践建议。首先,在选择微调范式时,需要综合权衡任务特点、数据规模、资源限制等因素。当目标任务训练数据不足,或对通用知识保留有较高要求时,LoRA可以作为首选;而当目标领域数据充足,且性能最大化为首要目标时,全精度微调仍是更优选择。其次,要适度设置LoRA的秩。秩太低会造成性能瓶颈,秩太高又会过度牺牲参数效率。论文建议可从较低秩值(如8或16)开始尝试,根据任务难度和资源预算逐步提高,直至性能和效率达到平衡。此外,在LoRA微调中也可使用传统的正则化技术(如L2权重衰减),它们可与LoRA的效果互补,共同提升模型性能。最后,鉴于LoRA在通用知识保留和生成多样性方面的优势,建议在对此有较高要求的场景(如需长期积累和更新知识库的应用)中优先考虑LoRA。

以上建议具有较强的实践指导意义,但仍存在一定局限性。例如,它们主要基于论文在编程和数学领域的实证发现,在其他领域的适用性还有待进一步验证。此外,如何量化任务的数据规模需求、知识保留要求等因素,以提供更加精准的微调范式选择指南,也是值得深入探索的问题。未来研究可以在更多不同任务和数据集上,对LoRA和其他参数高效微调方法进行更大规模的对比评测,并提出更加完善和行之有效的最佳实践原则。

6. 结语

LoRA作为一种参数高效的微调方法,展现出了一些独特的优势,尤其在缓解灾难性遗忘和维持生成多样性方面效果显著。论文以编程和数学领域为例,系统比较了LoRA和传统全精度微调在不同数据规模下的适应性能差异,发现全精度微调在目标任务上通常表现更优,但在通用知识保留和生成多样性等方面则不如LoRA。进一步分析表明,LoRA的性能差异可能与其有限的秩设置有关。基于实证结果,论文提出了一些关于LoRA实践的建议,包括微调范式的选择、LoRA秩的设置等,为相关应用提供了重要参考。

不过,论文也存在一定局限性。首先,其实验聚焦于编程和数学两个特定领域,结论的普适性有待更广泛的验证。未来研究可考虑在更多不同任务和数据集上对LoRA进行评测。其次,LoRA与全精度微调在参数容量上的巨大差异,可能也是导致性能差异的一个原因。进一步的控制实验有助于分离模型容量和秩对性能的影响。再次,LoRA产生强正则化效应的内在机制尚不清楚,这可能与其参数高效特性相关,值得从理论上深入分析。此外,论文提出的LoRA实践建议还有待在更广泛的场景中检验其有效性,未来研究可提出更加精准和可操作的指导原则。

总的来说,这项研究工作具有重要的学术价值和实践意义。它加深了学界对LoRA的局限性和独特优势的认识,为参数高效微调技术的发展和应用提供了新的视角和思路。结合论文的结论和分析,笔者建议后续工作可着重关注以下几个方面:1)扩大实证研究的领域和任务覆盖面,全面评估LoRA的适用性边界;2)深入研究LoRA的内在机制,尤其是其正则化效应的本质原因,为改进LoRA提供理论指导;3)探索自适应优化LoRA秩的策略,实现性能和效率的动态平衡;4)针对性地改进LoRA,提出更加参数高效、性能优越的微调新范式。相信这篇论文将为相关研究和应用带来重要启发,推动参数高效微调技术的持续发展和完善。

参考论文:arXiv:2405.09673v1 [cs.LG] 15 May 2024

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具