14-55 剑和诗人29 - RoSA:一种新的 PEFT 方法

news2024/11/15 13:33:39

介绍

14-55 剑和诗人29 - RoSA:一种新的 PEFT 方法

参数高效微调 (PEFT) 方法已成为 NLP 领域研究的热门领域。随着语言模型不断扩展到前所未有的规模,在下游任务中微调所有参数的成本变得非常高昂。PEFT 方法通过将微调限制在一小部分参数上来提供解决方案,从而以极低的计算成本在自然语言理解任务上实现最佳性能。

在一项引人注目的新进展中,研究人员引入了稳健自适应 (RoSA) — 一种显著提升了最先进技术的 PEFT 技术。在一系列基准测试的实验中,在使用相同参数预算的情况下,RoSA 的表现优于先前的低秩自适应 (LoRA) 和纯稀疏微调方法。

在我的博客文章中,我们深入探讨了 RoSA 背后的动机、方法和结果。我们将其置于先前 PEFT 方法的背景下,并解释为什么它的性能标志着向前迈出了有意义的一步。对于那些希望有效微调大型语言模型的人来说,RoSA 提供了一种新的解决方案,它比以前的解决方案更具帕累托优势。

14-55 剑和诗人29 - RoSA:一种新的 PEFT 方法

参数高效微调的需求

最近,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 将语言模型的微调分解为:

  1. 类似于 LoRA 的低秩自适应 (L) 矩阵,经过微调以近似主要任务相关信号
  2. 高度稀疏的微调(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 解决方案。

14-55 剑和诗人29 - 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 概念简单但性能卓越,为希望在资源受限的情况下在下游应用中发挥大型语言模型威力的从业者提供了一个极具吸引力的新选择。我们期待它的引入能进一步推动参数效率、自适应表示和持续学习交叉领域的研究,从而扩大语言智能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1911144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT入门看这一篇就够(详解含qt源码)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

【技术选型】MySQL、Oracle、Postgresql如何选择

【技术选型】MySQL、Oracle、Postgresql如何选择 开篇词:干货篇:MySQL:Oracle:PostgreSQL: 总结篇:我是杰叔叔,一名沪漂的码农,下期再会! 开篇词: 常见几种关…

Nuxt框架中内置组件详解及使用指南(四)

title: Nuxt框架中内置组件详解及使用指南(四) date: 2024/7/9 updated: 2024/7/9 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt 3框架中的两个内置组件:和的使用方法与示例。用于捕获并处理客户端错误,提供…

图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)

5、与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名 在相同的 IP 地址下,由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站,因此…

回溯算法-以学生就业管理系统为例

1.回溯算法介绍 1.来源 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤: 1、 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。 2 、确定易于搜…

[ios-h5]在ios系统浏览器中输入框得到焦点时页面自动放大

问题&#xff1a; 在ios系统浏览器中输入框得到焦点时页面自动放大。 解决&#xff1a; 添加meta标签。 <meta name"apple-mobile-web-app-capable" content"yes" /> <meta name"viewport" content"widthdevice-width, initial-…

循环练习题

思路&#xff1a; 代码&#xff1a; public static void main(String[] args) {double sum0;for (int i1;i<100;i){if (i%2!0){sum1.0/i;}else {sum-1.0/i;}}System.out.println(sum);} 结果为&#xff1a;

每日一练 - RSTP响应端口故障后的处理流程

01 真题题目 在如图所示的网络中&#xff0c; 所有的交换机运行 RSTP 协议&#xff0c; 假如 SWB 的 E 1 接口故障后&#xff0c; RSTP 的处理过程是&#xff1a;(多选) A.SWB 删除 MAC 地址表中以 E 1 为目的端口的端口表项。 B.重新计算生成树&#xff0c;选举 E2 为新的根…

ER模型理论和三范式

ER模型理论和三范式 各种关系多对一一对一一对多多对多 三范式理论函数依赖完全函数依赖部分函数依赖传递&#xff08;间接&#xff09;函数依赖 第一范式&#xff1a;属性&#xff08;表字段&#xff09;不可切割第二范式&#xff1a;不能存在 部分函数依赖(都存在完全函数依赖…

为什么3d模型在透视里面闪烁?---模大狮模型网

在展览3D模型设计中&#xff0c;透视效果是展示空间深度和立体感的重要手段。然而&#xff0c;有时候我们会面对3D模型在特定透视角度下出现闪烁或者失真的问题。本文将深入探讨这一现象的原因及解决方法&#xff0c;帮助设计师们更好地理解和处理这类挑战。 一、为什么3D模型在…

Maven在Windows中的配置方法

本文介绍在Windows电脑中&#xff0c;下载、配置Maven工具的详细方法。 Maven是一个广泛使用的项目管理工具&#xff0c;主要针对Java项目&#xff0c;但也可以用于其他类型的项目&#xff1b;其由Apache软件基金会维护&#xff0c;旨在简化和标准化项目构建过程&#xff0c;依…

Tomcat的安全配置

1、生产环境优化 2、部分漏洞修复 转载自风险评估&#xff1a;Tomcat的安全配置&#xff0c;Tomcat安全基线检查加固-CSDN博客

SpringBoot实战:轻松实现接口数据脱敏

文章目录 引言一、接口数据脱敏概述1.1 接口数据脱敏的定义1.2 接口数据脱敏的重要性1.3 接口数据脱敏的实现方式 二、开发环境三、实现接口返回数据脱敏3.1 添加依赖3.2 创建自定义注解3.3 定义脱敏枚举类3.4 创建自定义序列化类 四、测试4.1 编写测试代码4.2 测试 五、总结 引…

如何在 SwiftUI 中开发定制 MapKit 功能

文章目录 介绍地图样式imagery-map 地图交互地图控件总结 介绍 在上一篇文章中&#xff0c;我们探讨了 SwiftUI 中新的 MapKit API 的基础知识。现在&#xff0c;让我们深入 MapKit API 的定制点&#xff0c;以便根据我们的需求定制地图呈现。 地图样式 新的 MapKit API 引入…

晶体振荡器:频率的广度与应用的深度

晶体振荡器&#xff0c;以其无与伦比的频率稳定性和广泛的应用范围&#xff0c;成为现代电子工程的基石。从低至0.0320MHz的细腻频率到高达1075MHz以上的雄壮音符&#xff0c;晶体振荡器跨越了广阔频谱&#xff0c;为计时、通信、高级电子系统乃至宇宙探索提供了精准的时间基准…

PyCharm在线版,一周使用总结!!!

前言 过去一周&#xff0c;对pycharm在线版进行了使用&#xff0c;对云原生开发工具有了全新的认识&#xff0c;云原生开发是一种现代化的软件开发和部署方法&#xff0c;它充分利用了云计算的优势&#xff0c;特别是容器化、微服务、持续集成/持续部署&#xff08;CI/CD&…

【界面态】霍尔效应表征氮化对SiC/SiO2界面陷阱的影响

引言 引言主要介绍了硅碳化物&#xff08;SiC&#xff09;金属-氧化物-半导体场效应晶体管&#xff08;MOSFETs&#xff09;作为新一代高压、低损耗功率器件的商业化背景。SiC MOSFETs因其优越的电气特性&#xff0c;在高电压和高温应用领域具有巨大的潜力。然而&#xff0c;尽…

GitHub开源推荐:AI加持的Notion风格编辑器Novel

在现代内容创作和协作平台中&#xff0c;Notion无疑是备受推崇的一款工具。而现在&#xff0c;有一个开源项目——Novel&#xff0c;它不仅提供了类似Notion的所见即所得&#xff08;WYSIWYG&#xff09;编辑功能&#xff0c;还集成了强大的AI自动补全功能&#xff0c;极大地提…

Android Constant expression required (case R.id.xxx)

gradle更新到8.0后&#xff0c;遇到了这个报错 有两种解决方式&#xff1a; 1、在gradle.properties中添加下面代码 android.nonFinalResIdsfalse 2、使用if-else来判断 int id view.getId(); if (id R.id.setting_iv_back) {} else if (id R.id.setting_tv_clear) {}

websocket推送消息,模拟推送

上一篇文章&#xff1a;什么是webSocket&#xff1f;以及它的一些相关理论知识 背景&#xff1a; MQTT 的发布/订阅模式与 WebSocket 的双向通信特性相结合。 通过将 MQTT 与 WebSocket 结合使用&#xff0c;可以在 Web 应用中实现高效、实时的消息传输&#xff0c;特别适用于…