【论文笔记】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).

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

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

相关文章

mysql model_path longblob 类型文件操作

在 MySQL 中,如果你有一个表包含一个 LONG BLOB 类型的字段(例如 model_path),你可以使用 SQL 查询来提取该字段中的二进制数据,并将其下载为文件。以下是一个完整的步骤来实现这个过程: 步骤1:…

开源低代码平台,JeecgBoot v3.7.0 里程碑版本发布

项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

90V转12V1A恒压WT6039

90V转12V1A恒压WT6039 WT6039降压DC-DC转换器芯片专为处理宽泛的电压输入范围设计,支持从12V至90V。该芯片集成了关键功能,如使能控制开关、参考电源、误差放大器、过热保护、限流保护及短路保护等,以确保系统在各种操作条件下的安全与稳定性…

qt开发-05_QPushButton

按钮是最常用的控件; 如果找不到文件可以这样: 选择这个复制文件的路径,粘贴就可以了。 在qt中新建一个项目,并且打开ui界面添加一个按钮; 右键这个按钮可以有很多功能: 先是这个转到槽,这个就…

netcore 生成验证码

安装依赖 Install-Package Lazy.Captcha.Core 注册服务 builder.Services.AddCaptcha(); 自定义注册服务 // 注册服务的时候增加配置 services.AddCaptcha(Configuration, option > {option.CaptchaType CaptchaType.WORD; // 验证码类型option.CodeLength 6; // 验证…

六月惊喜| 事件分析Plus上线

前情回顾 ClkLog在四月先上线了一版<事件分析>&#xff0c;可以通过元数据的配置&#xff0c;创建并统计自定义事件的数据情况&#xff08;例如&#xff1a;用户数、触发次数、人均次数&#xff09;。 功能上线后好多小伙伴说希望我们加紧上线自定义的事件分析。ClkLog实…

【Java】已解决java.net.HttpRetryException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例 已解决java.net.HttpRetryException异常 在Java的网络编程中&#xff0c;尤其是使用Apache HttpClient或其他类似的HTTP客户端库时&#xff0c;可能会遇到java.net.HttpRetryException异常。这个…

动态IP与静态IP,如何选择更适合你的类型?

在当今数字化时代&#xff0c;互联网已成为我们日常生活和工作中不可或缺的一部分。而IP地址作为互联网通信的基础&#xff0c;扮演着至关重要的角色。在选择IP地址类型时&#xff0c;动态IP和静态IP是两种常见的选择。IPIDEA代理IP将为大家详细解析这两种IP的特点&#xff0c;…

【SPIE出版】第六届无线通信与智能电网国际会议(ICWCSG 2024,7月26-28)

随着科技的飞速发展和能源需求的日益增长&#xff0c;智能电网技术逐渐成为电力行业的重要发展方向。与此同时&#xff0c;无线通信技术在近年来也取得了显著的进步&#xff0c;为智能电网的发展提供了强有力的支持。为了进一步推动无线通信与智能电网的结合与发展&#xff0c;…

2024最新最全【网络安全/渗透测试】面试题汇总

思路流程 信息收集漏洞挖掘漏洞利用&权限提升清除测试数据&输出报告复测 问题深信服一面:SQL注入防护为什么参数化查询可以防止sql注入SQL头注入点盲注是什么&#xff1f;怎么盲注&#xff1f;宽字节注入产生原理以及根本原因 产生原理在哪里编码根本原因解决办法sql里…

这才多久,ChatGPT-4o 又被碾压了?

大模型皇位易主&#xff1f; 昨天&#xff0c;OpenAI 的竞争对手 Anthropic 发布了其最强大的 AI 模型&#xff1a;Claude 3.5 Sonnet。 目前&#xff0c;Claude 3.5 Sonnet 已经在 Claude.ai 和 Claude iOS 应用程序上免费提供。 据 Anthropic 号称&#xff0c;Claude 3.5 Son…

2005年上半年软件设计师【下午题】试题及答案

文章目录 2005年上半年软件设计师下午题--试题2005年上半年软件设计师下午题--答案2005年上半年软件设计师下午题–试题

自动化测试:Autorunner的使用

自动化测试&#xff1a;Autorunner的使用 一、实验目的 1、掌握自动化测试脚本的概念。 2、初步掌握Autorunner的使用 二、Autorunner的简单使用 autoRunner使用方法 新建项目 a) 在项目管理器空白区域,右键鼠标,选择新建项目 b) 输入项目名后,点击[确定]. 在初次打开aut…

中国机器人产业崛起,德国市场面临30%的份额挑战

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 随着科技的不断进步&#xff0c;机器人行业正迎来前所未有的发展机遇。令人震惊的是&#xff0c;根据最新统计数据&#xff0c;中国机器人产业在…

echarts实现折线图点击添加标记

文章目录 背景一、代码示例 背景 业务场景体现在功能层面主要两点&#xff0c; 折线图表设置点击事件点击事件与图标渲染标记绑定 对于节点没有被添加标记的可以&#xff0c;弹框提示添加标记&#xff0c;并提供标记内容输入框&#xff0c;已经添加过标记的点&#xff0c;点…

策略模式编程

接口定义&#xff1a; public interface ProcessParserStrategy { List<ProcessInfo> parser(String osType, String processInfo); String getApp(); } public interface ConfigParserStrategy { List<ConfigInfo> parser(String configInfo); String getConfigT…

MongoDB安装配置教程(详细版)

MongoDB安装配置教程&#xff08;详细版&#xff09; 1.下载与安装2.环境配置3.开机自启动 1.下载与安装 下载MongoDB数据库地址&#xff1a;&#xff08;会自动检测电脑版本&#xff0c; 下载合适的MongoDB 版本号&#xff09; https://www.mongodb.com/try/download/commun…

openstack-同一物理机中透传不同GPU时的nova配置记录

文章目录 前言一、不同加速卡的型号信息二、计算节点增加配置信息1.nova-compute服务的nova.conf 三、控制节点增加配置信息1.nova-conductor服务的nova.conf2.nova-scheduler服务的nova.conf3.nova-api服务的nova.conf 四、准备实例模版五、进行测试&#xff0c;创建虚拟机、检…

qmt量化交易策略小白学习笔记第47期【qmt编程之期货仓单】

qmt编程之获取期货数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 期货仓单 提示 1…

npm语义化版本和版本运算符

版本号组成 一个完整的版本号&#xff0c;由三部分组成&#xff1a;主版本号&#xff08;major&#xff09;、次版本号(minor)、修订版本号(patch)&#xff0c;简称X.Y.Z&#xff0c;具体含义&#xff1a; 主版本号&#xff08;major&#xff09;&#xff1a;项目&#xff08…