当前位置: 首页 > news >正文

【论文笔记】Parameter-Effificient Transfer Learning for NLP

题目:Parameter-Effificient Transfer Learning for NLP
阅读

文章目录

  • 0.摘要
  • 1.引言
  • 2 Adapter tuning for NLP
  • 3 实验
    • 3.1 参数/性能平衡
    • 3.2 讨论
  • 4.相关工作

0.摘要

克服微调训练不高效的问题,增加一些adapter模块,思想就是固定原始的网络中的参数,针对任务增加一些可以训练的参数,新任务无需重新访问以前的任务,产生高度的参数共享。与完全微调相比,仅仅增加了3.6%的参数,就接近了SOTA的结果。

1.引言

紧凑模型是那些在每个任务中使用少量附加参数来解决许多任务的模型。可以逐步训练可扩展模型来解决新任务,而不会忘记以前的任务。我们的方法在不牺牲性能的情况下产生了这样的模型。

在NLP中最常用的迁移学习技术有两种,分别是feature-based transfer 和 fine-tuning。前一种是将训练好的embedding移植到别的任务中,后一种方法是对已训练好的网络的权重进行复制,然后在下游任务进行调整。已经证明微调比基于特征的迁移效果要更好。

在这里插入图片描述

基于Adapter的调优与多任务和持续学习有关。多任务学习也会产生紧凑的模型。然而,多任务学习需要同时访问所有任务,而基于Adapter的调优则不需要。持续学习系统旨在从无穷无尽的任务中学习。这种范式具有挑战性,因为网络在重新训练后会忘记以前的任务。适配器的不同之处在于任务不交互并且共享参数被冻结。这意味着该模型使用少量特定于任务的参数对先前的任务具有完美的记忆。

2 Adapter tuning for NLP

提出了一种在多个下游任务上调整大型文本模型的策略,包含三个属性:

  1. 保持良好的性能
  2. 它允许按顺序对任务进行训练,也就是说,它不需要同时访问所有数据集
  3. 它只为每个任务添加少量额外参数

之所以微调的时候要在神经网络的最顶层添加一个新层,是因为label space和loss space对于上游任务和下游任务是不同的。

**adaper将一些新的层注入到原始的网络,原始网络的权重保持不变,而新的适配器层是随机初始化的。**在标准微调中,新的顶层和原始权重是共同训练的。相反,在 adaptertuning 中,原始网络的参数被冻结,因此可能被许多任务共享。

Adapter模块有两个关键特征:

  1. 小规模的参数
  2. 近似一致的初始化。我们还观察到,如果初始化偏离恒等函数太远,模型可能无法训练。

在这里插入图片描述

图中绿色的部分是在下游任务中进行训练的,包括layernorm,adapter模块,已经最终的分类头(图中未标出)。

在多头注意力投影层后,在FFN后添加了Adapter模块。

为了限制参数的数量,提出了bottleneck结构。adapter首先将原始的d维特征投影到一个小的维度m,应用一个非线性层,然后在投影回d维度,

对于每个增加的层,增加的参数包括bias时,参数量为2md+d+m。m远小于d

因此对每个任务限制了模型的规模。

bottleneck维度m提供了一种权衡性能与参数效率的简单方法。

🧐适配器模块本身在内部有一个残差连接。使用残差连接,如果投影层的参数被初始化为接近零,则模块被初始化为近似恒等函数

3 实验

训练设置,batch size=32、4块TPU

对于GLUE来说,使用 B e r t l a r g e Bert_{large} Bertlarge:24层,330M参数。

bottleneck维度范围:{8, 64, 256}

在这里插入图片描述

🧐那个Total数值是如何计算出啦的?不是取平均吧,平均的结果是82.02,81.54,81.1

😀那个Total是平均GLUE分数,

在这里插入图片描述

3.1 参数/性能平衡

适配器大小控制参数效率,较小的适配器引入较少的参数,可能会降低性能。为了探索这种权衡,我们考虑不同的适配器大小,并与两个基线进行比较:(i)仅微调 B E R T B A S E BERT_{BASE} BERTBASE}的前 k 层。 (ii) 仅调整layer normalization参数。

在这里插入图片描述

在这里插入图片描述

3.2 讨论

移除某一个单层的adapter对性能有很小的影响。热力图的对角线绿色部分表明只移除某一层的adapter,性能最多只有2%的降低。要是全部移除的话对于MNLI是37%,对于CoLa是69%。这表明虽然每个适配器对整个网络的影响很小,但整体影响很大。

右图表明,低层相对于高层只有很小的影响。从 MNLI 上的第 0 层到第 4 层移除适配器几乎不会影响性能。

本文研究了适配器模块对神经元数量和初始化规模的鲁棒性。在我们的主要实验中,适配器模块中的权值从一个标准差为 1 0 − 2 10^{−2} 102的零均值高斯分布中提取,并被截断为两个标准差。为了分析初始化规模对性能的影响,我们测试了区间内的标准偏差 [ 1 0 − 7 , 1 ] [10^{−7},1] [107,1]。在两个数据集上,适配器的性能在 1 0 − 2 10^{−2} 102以下的标准差下都是稳健的。然而,在CoLA上当初始化太大时,性能会下降。

在这里插入图片描述

(这个图的最右上角代表着所有adapter都被移除了)

4.相关工作

多任务学习。与adapter不同的是,MTL(multi-task learing)需要在训练阶段同时访问任务。

继续学习。容易发生灾难性遗忘的问题。

视觉领域迁移学习。在视觉领域,卷积adapter模块已经被提出了,为ResNet或VGG增加一些1*1的卷积。(Rebuffi et al., 2017; 2018; Rosenfeld & Tsotsos, 2018).

相关文章:

【论文笔记】Parameter-Effificient Transfer Learning for NLP

题目:Parameter-Effificient Transfer Learning for NLP 阅读 文章目录 0.摘要1.引言2 Adapter tuning for NLP3 实验3.1 参数/性能平衡3.2 讨论 4.相关工作 0.摘要 克服微调训练不高效的问题,增加一些adapter模块,思想就是固定原始的网络中的参数&…...

Qt异常处理

初步警告:异常安全功能不完整!一般情况下应该可以工作,但类仍然可能泄漏甚至崩溃。 Qt本身不会抛出异常。而是使用错误码, 但是C可能会抛出异常。此外,有些类有用户可见的错误消息,例如QIODevice::errorString()或QSqlQuery::lastError()。这…...

【ElasticSearch】ElasticSearch实战

初步检索 检索 ES 信息 1)、GET /_cat/nodes:查看所有节点 127.0.0.1 44 83 1 0.01 0.01 0.00 dilm * 1b06a843b8e3 *代表主节点 2)、GET /_cat/health:查看健康状况 1718265331 07:55:31 elasticsearch yellow 1 1 4 4 0 0…...

48-3 内网渗透 - 令牌操纵

访问令牌操纵 Windows 操作系统的访问控制模型是其安全性的重要组成部分,主要由访问令牌(Access Token)和安全描述符(Security Descriptor)构成。访问令牌是访问者持有的,而安全描述符则由被访问对象持有。通过对比访问令牌和安全描述符的内容,Windows 可以判断访问者是…...

架构师之 Kafka 核心概念入门

Kafka 核心概念 作为架构师,理解 Kafka 的核心概念至关重要。这些概念是构建高效、可靠的 Kafka 系统的基础。 以下是需要掌握的 Kafka 核心概念及其详细说明: 1. Topic 定义:Topic 是 Kafka 中用于存储和分类消息的逻辑命名空间。每个 Topic 代表一类数据流, 例如日志、…...

Redis通用命令详解

文章目录 一、Redis概述1.1 KEYS:查看符合模板的所有 key1.2 DEL:删除一个指定的 key1.3 EXISTS:判断 key 是否存在1.4 EXPIRE:给一个 key 设置有效期,有效期到期时该 key 会被自动删除1.5 TTL:查看一个 ke…...

物联网设备安装相关知识整理

拓扑图 对于ADAM-4150先接设备的整体的供电。 ADAM-4150就涉及到几个电子元器件的连接,一个是485-232的转换器,一个是将RS-232转换为USB的转接口,因为现在的计算机很多都去掉了RS-232接口而使用USB接口。 4150右侧有个拨码,分别两…...

React实现H5手势密码

监测应用进入前后台 在JavaScript中,监听H5页面是否在前台或后台运行,主要依赖于Page Visibility API。这个API在大多数现代浏览器中都是支持的,包括苹果的Safari和谷歌的Chrome(也就基本覆盖了Android和iOS平台)。下…...

[leetcode hot 150]第十五题,三数之和

题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复…...

视频AI分析定时任务思路解析

序言: 最近项目中用到视频ai分析,由于sdk涉及保密,不便透露,仅对定时任务分析的思路作出分享,仅供参考。 1、定时任务 由于ai服务器的性能上限,只能同时对64个rtsp流分析一种算法,或者对8个rts…...

tcp 粘包和拆包 及 解决粘包方案

什么是粘包和拆包 .TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使…...

【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索20页论文及Python代码

【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索20页论文及Python代码 相关链接 【2024泰迪杯】A 题:生产线的故障自动识别与人员配置 Python代码实现 【2024泰迪杯】B 题:基于多模态特征融合的图像文本检索Python代码实现 【2024泰迪…...

华为设备telnet 远程访问配置实验简述

一、实验需求: 1、AR1模拟电脑telnet 访问AR2路由器。 二、实验步骤: 1、AR1和AR2接口配置IP,实现链路通信。 2、AR2配置AAA模式 配置用户及密码 配置用户访问级别 配置用户telnet 访问服务 AR2配置远程服务数量 配置用户远程访问模式为AAA 配置允许登录…...

在HTML中,如何正确使用语义化标签?

在HTML中&#xff0c;使用语义化标签可以使得网页结构更加清晰和易于理解。以下是一些正确使用语义化标签的方法&#xff1a; 使用合适的标题标签&#xff08;h1-h6&#xff09;来标识网页的标题&#xff0c;以及页面中的各个区块的标题。 <h1>网页标题</h1> <…...

WHAT - 高性能和内存安全的 Rust(一)

目录 一、介绍1.1 示例代码1.2 关键特性内存安全零成本抽象&#xff1a;高效性能示例代码&#xff1a;使用迭代器的零成本抽象示例代码&#xff1a;泛型和单态化总结 并发编程&#xff1a;防止数据竞争Rust 并发编程示例Rust 的所有权系统防止数据竞争总结 丰富的类型系统包管理…...

八、C#运算符

C#运算符 晕杜甫是一种告诉编辑器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符&#xff0c;分类如下&#xff1a; 算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 算术运算符 下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10&#xff0c…...

【HiveSQL】join关联on和where的区别及效率对比

测试环境&#xff1a;hive on spark spark版本&#xff1a;3.3.1 一、执行时机二、对结果集的影响三、效率对比1.内连接1&#xff09;on2&#xff09;where 2.外连接1&#xff09;on2&#xff09;where 四、总结PS 一、执行时机 sql连接中&#xff0c;where属于过滤条件&#…...

如何解决windows自动更新,释放C盘更新内存

第一步&#xff1a;首先关闭windows自动更新组件 没有更新windows需求&#xff0c;为了防止windows自动更新&#xff0c;挤占C盘空间&#xff0c;所以我们要采取停止Windows Update服务。按下WinR打开运行对话框&#xff0c;输入services.msc&#xff0c; 然后按Enter。在服务…...

初学51单片机之PWM实例呼吸灯以及遇到的问题(已解答)

PWM全名Pulse Width Modulation中文称呼脉冲宽度调制 如图 这是一个周期10ms、频率是100HZ的波形&#xff0c;但是每个周期内&#xff0c;高低电平宽度各不相同&#xff0c;这就是PWM的本质。 占空比是指高电平占整个周期的比列,上图第一个波形的占空比是40%&#xff0c;第二个…...

手机天线都去哪里了?

在手机的演变历程中&#xff0c;天线的设计和位置一直是工程师们不断探索和创新的领域。你是否好奇&#xff0c;现在的手机为什么看不到那些曾经显眼的天线了呢&#xff1f; 让我们一起揭开这个谜题。 首先&#xff0c;让我们从基础开始&#xff1a;手机是如何发出电磁波的&…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...