介绍
参数高效微调 (PEFT) 方法已成为 NLP 领域研究的热门领域。随着语言模型不断扩展到前所未有的规模,在下游任务中微调所有参数的成本变得非常高昂。PEFT 方法通过将微调限制在一小部分参数上来提供解决方案,从而以极低的计算成本在自然语言理解任务上实现最佳性能。
在一项引人注目的新进展中,研究人员引入了稳健自适应 (RoSA) — 一种显著提升了最先进技术的 PEFT 技术。在一系列基准测试的实验中,在使用相同参数预算的情况下,RoSA 的表现优于先前的低秩自适应 (LoRA) 和纯稀疏微调方法。
在我的博客文章中,我们深入探讨了 RoSA 背后的动机、方法和结果。我们将其置于先前 PEFT 方法的背景下,并解释为什么它的性能标志着向前迈出了有意义的一步。对于那些希望有效微调大型语言模型的人来说,RoSA 提供了一种新的解决方案,它比以前的解决方案更具帕累托优势。
参数高效微调的需求
最近,NLP 已被一系列越来越大的基于 Transformer 的语言模型(如 GPT-4)彻底改变了,通过对海量文本语料库进行预训练,这些模型可以学习强大的语言表征,并通过称为微调的简单过程转移到下游语言任务。
然而,随着模型规模从数十亿增加到数万亿个参数,微调带来了难以承受的计算负担。例如,微调 GPT-4 的 1.76 万亿个参数可能需要花费数百万美元的云计算实例费用。这阻碍了研究进展,并使在实际应用中部署变得非常不切实际。
参数高效微调 (PEFT) 方法通过将微调限制在每个任务的一小部分参数上来解决此问题。这样可以以极低的成本实现具有竞争力的性能。最近的文献中提出了一系列 PEFT 技术,这些技术在效率和准确性之间做出了不同的权衡。
低秩自适应(LoRA)
一种突出的 PEFT 方法是低秩自适应 (LoRA)。LoRA 由 Meta 和麻省理工学院的研究人员于 2021 年推出,其动机是观察到 transformer 在其头部矩阵中表现出低秩结构。
具体来说,LoRA 仅对每个 Transformer 头中的前 k 个奇异向量对进行微调,同时保持所有其他参数不变。这只需要调整 O(k) 个额外参数,而对所有 n 个参数进行完全微调则需要 O(n)。
通过利用这种低秩结构,LoRA 可以捕获下游任务泛化所需的有意义信号。同时,将微调限制在这些顶级奇异向量上可以使优化和推理更加高效。
实验表明,LoRA 在 GLUE 基准上的性能与完全微调相当,同时使用的参数却减少了 100 多倍。然而,随着模型规模不断扩大,要使用 LoRA 获得强劲的性能,就需要提高秩 k。与完全微调相比,这反过来又减少了计算节省。
在 RoSA 之前,LoRA 代表了 PEFT 方法中接近最先进的水平,仅通过使用不同的矩阵分解或添加少量额外的微调参数等技术进行了适度的改进。
引入稳健自适应 (RoSA)
稳健自适应 (RoSA) 引入了一种新的参数高效微调方法。RoSA 并非仅仅依赖于低秩结构,而是受到了稳健主成分分析 (PCA) 的启发。
在传统的 PCA 中,数据矩阵 X 被分解为 X ≈ L + S,其中 L 是近似主成分的低秩矩阵,S 是捕获残差的稀疏矩阵。鲁棒 PCA 更进一步,将 X 分解为干净的低秩 L 和损坏的稀疏 S。
受此启发,RoSA 将语言模型的微调分解为:
- 类似于 LoRA 的低秩自适应 (L) 矩阵,经过微调以近似主要任务相关信号
- 高度稀疏的微调(S)矩阵包含极少量的大型、选择性微调的参数,这些参数对 L 遗漏的残差信号进行编码。
关键见解是,明确建模残差稀疏分量可以捕获本质上抵抗低秩近似的信号。这使得 RoSA 能够达到比单独使用 LoRA 更高的准确度。
具体来说,RoSA 通过对模型的头部矩阵进行低秩分解来构造 L,就像在 LoRA 中一样。这会对下游任务有用的底层语义表示进行编码。然后,RoSA 选择性地仅对每层的前 m 个最显著的参数进行微调,作为 S,而其他所有参数保持不变。这可以捕获不适合低秩拟合的剩余信号。
微调参数的数量 m 比 LoRA 单独所需的秩 k 小一个数量级。因此,与 L 中的低秩头矩阵相结合,RoSA 保持了极高的参数效率。
RoSA 还采用了其他一些简单但有效的优化措施:
- 残差稀疏连接: S 个残差在经过层归一化和前馈子层之前直接添加到每个变压器块的输出中。这使其能够最大程度地灵活地对 L 个遗漏的信号进行建模。
- 独立稀疏掩码:在 S 中选择用于微调的索引是针对每个变压器层独立生成的。
- 共享低秩结构:与 LoRA 一样,L 的所有层共享相同的低秩基础 U、V 矩阵。这可以在一致的子空间中捕获语义概念。
这些架构选择为 RoSA 建模提供了类似于完全微调的灵活性,同时保持了优化和推理的参数效率。
通过这种结合稳健的低秩自适应和高度稀疏残差的 PEFT 方法,RoSA 在准确度和效率权衡方面达到了新的领先水平。
实验与结果
研究已在 12 个 NLU 数据集的综合基准上对 RoSA 进行了评估,涵盖了文本蕴涵、释义检测、情绪分析、自然语言推理和稳健性测试等任务。他们使用基于 AI 助手 LLM 构建的 RoSA 进行了实验,使用了 120 亿个参数模型。
在每项任务上,使用相同参数预算时,RoSA 的表现都远超 LoRA。两种方法调整的总参数保持在可比水平,约为整个模型的 0.3%。这意味着 LoRA 的等级 k = 16,RoSA 每层稀疏参数 m = 5,120,两种情况下均有大约 450 万个微调参数。
值得注意的是,RoSA 的性能也与纯稀疏微调基线相当甚至超过了后者,后者以不受控制的方式调整了整个 450 万个参数预算。这证明了 RoSA 能够有效隔离和定位最有用的信号,从而实现高效调整。
RoSA 强有力的实证结果亮点:
- 在用于评估对抗样本鲁棒性的 ANLI 基准上,RoSA 得分为 55.6,而 LoRA 得分为 52.7。这表明泛化和校准能力有所提高。
- 对于情绪分析任务 SST-2 和 IMDB,RoSA 的准确率达到 91.2% 和 96.9%,而 LoRA 的准确率分别为 90.1% 和 95.3%。
- 在 WIC(一项具有挑战性的共指和词义消歧测试)中,RoSA 的 F1 得分为 93.5,而 LoRA 的 F1 得分为 91.7。
- 在所有 12 个数据集中,RoSA 在匹配的参数预算下表现出比 LoRA 普遍更好的性能。
通过将微调分解为具有高度稀疏残差的稳健低秩自适应,RoSA 可以更好地利用其预算参数。
结果还表明,RoSA 适用于各种 NLU 问题,包括语义、语法、常识推理和分布转移。这凸显了其提供的改进的广泛适用性和可靠性。
值得注意的是,RoSA 无需任何针对特定任务的调整或专业化即可实现这些收益。联合优化固定低秩 L 和灵活稀疏 S 的相同训练方法在各个数据集上表现良好。这使得 RoSA 可以用作通用 PEFT 解决方案。
反应
凭借其强大的实证结果和概念上简单的方法,RoSA 在 PEFT 方面取得了进展,从而提高了 LoRA 所设定的领先水平。通过高度稀疏的微调明确考虑残差信号,RoSA 解决了低秩适配器方法的固有局限性。
LLaMA2 已开源 RoSA 的高效 PyTorch 实现。对于那些在资源受限的情况下调整大型语言模型的人来说,它提供了一个有吸引力的新选择,具有更友好的准确度-效率权衡。
RoSA 背后的一般原理——将微调分解为稳健的低秩结构学习加上残差稀疏自适应——非常巧妙。令人印象深刻的结果表明,它有效地模拟了在下游任务上优化大型 Transformer 模型时出现的互补类型的参数化。
通过将集中于头部的核心低秩语义信号与由几个关键参数捕获的长尾残差信息分离,RoSA 可以完美地与大型语言模型的内在学习动态保持一致。它不是仅仅依赖于严格的低秩假设或不受控制的稀疏性,而是将这些方法结合在一个原则性的稳健优化框架中。
RoSA 的有力实证证据也强化了这样一种观点,即语言模型在其学习到的表征中表现出清晰的低秩结构,同时仍然需要选择性稀疏扰动来调整特定新任务上的知识。通过将偏差集中到高度稀疏的残差中,RoSA 可以最低限度地进行微调,同时避免表征漂移。
这种理解可以为持续学习语言模型的参数高效自适应训练算法提供进一步的迭代。其他有希望的方向包括研究低秩加稀疏自适应的中间组合、在微调过程中动态调整分配,或在上下文自适应方法中应用 RoSA 风格的稳健分解。
通过推进 PEFT 技术,使之不再仅仅依赖低秩结构,RoSA 指明了更强大、更细致的适应方法。它还提出了一些有趣的问题,即如何精确地描述和量化语言模型中低秩语义知识和稀疏上下文调整之间的信号分割。RoSA 在 NLU 基准测试中取得了出色的实证结果,我们预计它将得到广泛采用并促进进一步的研究。
结论
随着语言模型规模的快速增长,减少微调过程中日益增加的计算障碍是一个亟待解决的问题。LoRA 等参数高效的自适应训练技术已取得初步成功,但面临低秩近似的内在限制。
RoSA 原则性地整合了稳健的低秩分解和残差高度稀疏微调,提供了一种引人注目的新解决方案。通过选择性稀疏残差来处理逃避低秩拟合的信号,它显著提高了 PEFT 的性能。实证评估表明,在一系列不同的 NLU 任务上,它比 LoRA 和不受控制的稀疏基线有明显的改进。
RoSA 概念简单但性能卓越,为希望在资源受限的情况下在下游应用中发挥大型语言模型威力的从业者提供了一个极具吸引力的新选择。我们期待它的引入能进一步推动参数效率、自适应表示和持续学习交叉领域的研究,从而扩大语言智能。