EMNLP2023 | 让模型学会将提示插入到合适的中间层

news2024/11/25 12:21:50

eeb47550b8862d8548b28b504c8c528c.png

深度学习自然语言处理 原创
作者:cola

现有的提示微调方法基本是人工选择提示层,而人工选择将提示插入到哪些层次并非一定合理,这导致了很大程度上限制提示微调发挥潜能。我们的模型(SPT)可以让模型自己学习应该在哪些中间层插入提示,从而最大化地发挥提示微调的作用。

论文:
Improving Prompt Tuning with Learned Prompting Layers

地址:
https://arxiv.org/pdf/2310.20127

背景介绍

预训练语言模型(PLMs)在大多数NLP任务上实现了SOTA的性能,通常结合全参数微调发挥作用。但是全参数微调的方法需要针对每个下游任务更新全部模型参数,这使得GPU内存和存储成本很大,因此参数高效微调(PETuning)+PLMs的范式出现了。该类方法可以微调较小的参数量来降低训练成本。

提示调优便是一种PETuning的方法,它在输入序列前添加一系列软提示,并只针对新增提示进行调优,一定程度上提升了参数效率,但仍有性能较低和收敛速度较慢等劣势;有研究人员提出在所有隐藏层都添加软提示来提升微调的性能,但这种方法需要大量的训练步骤才能使模型具有竞争力;另有一些研究通过提示生成器生成实例感知的软提示,并将提示新增到模型的中间层来提升微调的性能。但是上述方法都是基于启发式的策略来确定插入提示的位置。

我们首先进行了一个试点实验,以证明提示符插入策略进行简单修改可以获得比可调参数的基线更好的性能。因此,我们提出了选择性提示调优(SPT)框架,它自动学习将提示插入预训练模型(PTMs)的最佳策略。d5215f958e7dcd9a5e23298591e04079.png如图为各个模型的表现。横轴为训练参数量,纵轴为平均表现。

问题定义

对于PTM全参数微调,如果输入是单个句子,则输入样本通常被重新表述为,如果输入是句子对,则变为。在PTM对输入进行编码后,将使用的最终隐藏状态来预测分类标签。在提示微调中,下游任务被重新表述为掩码语言模型任务,以缩小预训练和微调之间的差距。具体来说,我们在词嵌入中插入随机初始化的软提示符,使用不同的人工设计模板修改原始输入,并使用进行任务适应。例如,在单句任务中,输入将被转换为模板:ec2b9889710d25d32a3083eb174e2661.png然后,我们将源标签映射到的词汇表中的一些标签词,然后最终的隐藏状态输入到掩码语言模型(MLM)来预测标签词。下游任务中PTM和MLM是冻结的,只有软提示会改变。我们针对是在词嵌入还是在某些中间层插入实力感知的提示进行了研究。为方便起见,将词嵌入层称为PTM的第0层,将新插入提示的层称为提示层(PLs),在提示层,我们用提示生成器从第层给定输入隐藏状态来生成提示。

方法

cd2f871e0838f242c1a178f62d406431.png

提示生成器

提示生成器是一个具有瓶颈架构的简单前馈层。它首先通过线性层将PTM的隐藏状态从维映射到维。然后通过平均池化操作得到长度为的提示符。池化后的提示将通过激活函数,并通过另一个线性层向上投影回维度。3d1317b455f4531ef0dc773ac31ac221.png我们使用参数超复杂乘法(PHM)层来减少和的参数。PHM将线性层的权重矩阵替换为Kronecker积的和,因此参数复杂度为,使投影层的参数最多减少。

提示超网络

假设参数预算允许个提示层。由于并非所有提示层对性能的贡献都相同,因此应该只选择一小部分提示层作为提示层,以避免可调参数的冗余。因此,我们初始化了一个提示超网络,其中嵌入层和所有中间层都有一个由可学习概率门控制的提示生成层。引入零初始化的可学习参数,第层的可学习门为:557c1930e95f1619ef5338989f758c2b.png其中可看作第层激活提示生成器的概率。超网络的每一层,提示符由前一层传播的提示符和第层提示符生成器生成的提示符组成:7a0f7e6237102f1a7bee8e57b91eed24.png其中是一个超参数,决定在第层生成新提示时是否丢弃前一层的提示。

通过优化,概率门的值将向0或1移动,作为提示层的重要性分数。将接收到概率门值最高的前层设置为满足参数预算的提示层。

优化提示超网络

我们将可学习概率门的所有参数视为结构参数,记为,并通过双级优化对其进行优化。将超网络的提示生成器参数表示为ω。双级优化以提示生成器的优化参数ω*为条件。在每个epoch,训练集被分成 and 。内部和外部的优化是在这两个单独的分割上进行的,以避免过度拟合。因此优化目标为:d2961896cc718ee113c143cb19fdb2a4.png其中是给定下游任务的目标函数。用交替优化策略逼近上述双层优化问题。用来自的批量样本计算提示生成器的梯度,在上计算的梯度。

虽然DART被广泛应用,但已知会产生不稳定的梯度和次优性能。因此,我们提出了两种改进结构参数优化的新技术。

重参数化概率门

DART的优化没有明确地考虑不同层之间的权衡,因此我们给引入一个重参数化步骤:4e391c0fdde77ed66e61d59e23717829.png其中将参数从计算图中分离出来,并且参数永远不会有梯度。上面的等式不会改变的值,因为的值是1,则:1bbcd0330df3152fac3f32bf4d84f15b.png现在的梯度由下式给出:3fa712743070bc044c519ffbe708d4a5.png

架构一致性学习

由于我们想要的最终优化模型是稀疏的,大多数层的提示生成器都被修剪了。为了缩小超网络与最终模型之间的差距,我们为每个可学习的概率门分配一个均值的伯努利分布随机掩码。因此有:0672e6430a73c43a1b8317998eed601c.png现在,我们要求相同的输入经过两次前向传递,一次是应用了架构掩码,一次是关闭了架构掩码,导致输入样本的隐藏表示和不同。除了任务的目标函数之外,我们现在还引入了一个一致性正则化目标:8170cce2bb1d089371dc2f61756fbde9.png其中MSE是均方误差损失函数。

我们运用一致性学习的思想来增强可学习概率门的优化过程。直观地说,当不同的提示生成器集合被修剪时,这个正则化项鼓励超级网络输出一致的隐藏状态。它确保了每个提示生成器都经过良好的训练,并在超网络和最终离散SPT模型之间架起了桥梁。因此,的优化可以更好地反映每个提示生成器的贡献,从而最终学习到的模型将获得更好的性能。

实验

  • 小样本场景50d402a847a870a0d3101a5b2f06d142.png52724b48d9eed02fd833e037ebf64397.png

  • 全数据场景8fa4210b079f2fc3c2a5f190b1329dc7.png

  • 分析和消融学习
    b3b3e5a3e1c6fabdf58e539472bbca7d.png发现
    图3表明:(a)所有任务都决定在嵌入层(第0层)和前四个transformer层之后插入提示符。(b)RoBERTa-large的第10~19层经常被选为提示层。(c)SPT丢弃最后四层。
    提示层数的影响
    f5772f31c1c29b90ed0f5dc68360209b.png提示长度的影响
    0850730d6127858b28c6e975fecb56ca.png消融实验
    94c6b20d33bc799224d2ec15e4346d60.png9f92c0d4602ef87aa81f3247373c121e.png

  • 大语言模型上实验结果31b72bd7fdff99b1fda906849318dce9.pnge2e92d2054b0f9b744fc6fd0ac3fa7c9.png

这篇文章工作量较大,有一些实验结果并未列出,如读者有兴趣请阅读原文。

总结

主要贡献如下:

  • 提出了SPT框架,该框架自动学习在适当的预训练模型中间层插入实例感知提示。

  • 提出了包含两种新技术的SPT-DARTS来改进提示超网络的优化过程。

  • 在10个基准文本分类任务和3个不同预训练模型框架的全数据和小样本场景中验证了SPT框架的有效性。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

295587707e6e228b1cb630dba3210818.png

id:DLNLPer,记得备注呦

9b41e86ab3c03952c7f0c8e76051ddef.png

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

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

相关文章

强化您的应用安全,从app加固开始

强化您的应用安全,从app加固开始 目录 强化您的应用安全,从app加固开始 摘要 引言 1. 加密和数据保护 2. 代码混淆 3. 防止反编译 4. 安全测试 5. 更新和补丁 6. 权限控制 7. 输入验证和输出过滤 8. 日志记录和监控 9. 安全设计和架构 10.…

【Python】AppUI自动化—appium自动化开发环境部署、APP测试案例(17)上

文章目录 一.appium简介1.什么是appium2.appium 的工作原理3.APP类型4.APP页面布局 二,appium开发环境部署(python环境)1.下载安装环境1.1.下载安装所需环境1.2.Appium-desktop( Appium-Server-GUI )配置1.3.Appium-Inspector 配置…

【Delphi】Android 开发HTTP请求出错解决方案

目录 一、故障现象 二、原因及解决方案 一、故障现象 在android内建的WebBrowser浏览器中通过http访问一个网站(注意不是https),出现如下错误提示: 在使用ntfy的时候,访问http定义的服务器地址(注意不是…

通过postgis空间库导入sql格式的矢量数据到arcgis中

1、在postgis中创建数据库 命名为test3 2、创建空间扩展 3、导入sql矢量文件 进入psql.exe目录中 进入dos命令框中 输入命令,其中host输入自己的主机ip,database为自己的数据库名称,数据路径修改为自己电脑上的路径,注意反斜杠 psql

github官网打不开或访问慢的解决办法

对国内程序员而言,github官网经常面临打不开或访问慢的问题,今天教你一招非常简单且好用的小技巧,轻松访问github官网。 1、github官网打不开的原因 首选我们说下github官网打不开的原因到底是什么。细心的同学会发现,github偶尔…

SDL2 简单介绍以及Windows开发环境搭建

1.简介 SDL(Simple DirectMedia Layer)是一个跨平台的多媒体开发库,使用C语言写成,用于实现音频、图形、输入以及窗口功能的处理。它提供了一个简单、易用的API,可以帮助开发者快速构建跨平台的多媒体应用程序。 SDL…

国外访问学者/博士后留学人员反诈骗指南

访问学者/博士后/联合培养博士人员出国后,对当地环境及政策不熟悉,需要提高防范意识,为此,知识人网小编特整理这篇反诈骗指南,提醒留学人员防微杜渐、未雨绸缪。 近日,多国使馆发布相关提醒:不法…

kali linux系统选用gnome桌面安装完成后无法调节屏幕亮度踩坑过程( 2301_77564090)

方法一: 在终端通过xrandr命令查看当前显示屏名字 然后输入命令调节屏幕亮度,我调节的是原先的70%, xrandr --output eDP --brightness 0.7 方法一能成功调节,但每次开机屏幕亮度都自动回调到100%,每次都要手动打开终…

5G毫米波通信中的关键技术

随着5G技术的快速发展,毫米波通信作为其中的一项重要技术,在高速数据传输、低延迟通信和大规模连接等方面具有显著的优势。本文将探讨5G毫米波通信中的关键技术,包括毫米波频段的选择、信号处理技术和MIMO技术等。 一、毫米波频段的选择 毫米…

Node版本管理工具——Nvm

文章目录 前言基础常识彼此之间的关系 一、安装 nvm?查看是否安装成功 二、配置下载源三、nvm常用命令 前言 nvm 全名 node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。 基础常识 node&#x…

掌握互联网的未来:5G时代的新机遇

随着5G技术的快速发展,我们正步入一个全新的互联网时代。5G不仅仅是速度的飞跃,它还代表着无限的可能性和前所未有的创新机遇。本文将探讨5G如何重新定义互联网,并为您提供洞察如何抓住这波科技浪潮。 5G技术的核心优势 超高速度&#xff1a…

Git的安装和常用命令Git与SVN的区别Gitee远程仓库团队开发代码共享演示

目录 一、Git入门 1.1 Git简介 1.2 Git与SVN的区别 1.2.1 详解 1.2.2 图解 1.3 Git相较于SVN的优势与劣势 1.3.1 Git的优势与劣势 1.3.2 SVN的优势与劣势 1.4 Git的工作流程 1.4.1 图解 1.4.2 详解 二、Git的安装以及常用命令 2.1 Git官网链接 2.2 安装步骤 2.…

国产小体积超低成本电动车仪表智能刷卡解锁13.56M非接触式读写芯片CI522兼容替代RC522

Ci522电动车仪表一键启动芯片 Ci522是一个高度集成的,工作在13.56MHz的非接触式读写器芯片,阅读器支持ISO/IEC 14443 A/MIFARE。 无需外围其他电路,Ci522的内部发送器可驱动读写器天线与ISO/IEC 14443 A/MIFARE卡和应答机通信。接收器模块提…

基于【宝塔+NPS】内网穿透搭建教程

下载服务端 https://github.com/ehang-io/nps/releases 我这里选择linux_amd64_server.tar.gz 执行安装命令 sudo ./nps install安装后修改/etc/nps/conf下的文件不是解压里的 然后修改里面的4处内容 宝塔docker 安装 nps 运行 nps 容器,并设置开机自启动 docke…

基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群&#x…

解决Jenkins执行git脚本时报错:No such device or address问题

问题现象: Jenkins执行BeanShell脚本时,报错:jenkins fatal: could not read Username for http://112.11.120.1: No such device or address 解决方案: 解决服务器拉取git仓库的代码权限,使用高级子模块克隆功能。…

TexGen简单模型对应inp文件简单梳理-1

模型 默认最简单的编织复材,编辑材料属性时发现基体属性设置正常,各向同性材料,但是纱线的材料属性却没有弹性性能的设置。 导出inp文件后,导入ABAQUS中其实可以看到有两种材料,纱线也是有属性的。 ABAQUS中修改属性的…

Git-Lab私域共享代码

1.导读 本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作。 - GitLab简介 - GitLab环境搭建 - GitLab基本使用(组、权限、用户、项目) 2.GitLab简介 Gi…

DTC商业模式研报 | 创新DTC策略利于提升业务灵活性和数字化体验

报告摘要 本报告由ADYEN制作。ADYEN是一家直营业务为支付的荷兰公司,通过整合包括银行卡、支付宝、Paypal在内的多种流行支付方式,它允许企业接受电子商务,移动和销售点付款,极大地简化了消费者支付的流程,目前该机构…

工业园区一般用多大规格的电表?

随着我国经济的快速发展,工业园区在各地区如雨后春笋般崛起。作为电力系统的重要组成部分,电表的选择与应用对于工业园区的稳定运行至关重要。那么,工业园区一般用的是多大规格的电表呢?下面,小编就来给大家揭秘一下&a…