P-Tuning v2论文概述

P-Tuning v2论文概述

  • P-Tuning v2论文概述
    • 前言
      • 微调的限制性
      • P-Tuning的缺陷
      • P-Tuning v2
    • 摘要
    • 论文十问
    • NLU任务
    • 优化点
    • 实验
      • 数据集
      • 预训练模型
      • 实验结果
      • 消融实验
    • 结论

P-Tuning v2论文概述

前言

微调的限制性

微调(fine-tuning)是一种在预训练模型基础上进行目标任务调整的方法,它会更新整个模型参数集。虽然微调能获得良好的性能,但由于训练过程中需要存储所有参数的梯度和优化器状态,因此耗费内存。此外,由于预训练模型通常较大,在推理过程中为每个任务保留一份模型参数副本非常不方便。

P-Tuning的缺陷

在不同尺度上的通用性不足:尽管在大型模型(超过100亿参数)上,P-Tuning与微调相当,但对于中等规模的模型(从100M到1B),提示调整的性能远远低于微调。

在不同任务上的通用性不足:尽管在一些自然语言理解(NLU)基准上,P-Tuning表现优越,但其在困难的序列标签任务上的有效性尚未得到验证。序列标签任务预测每个输入令牌的一系列标签,这可能更难并且与语言化器不兼容。

P-Tuning v2

prompt tuning对于普通尺寸大小的模型(小于10B)效果并不好。

基于这些挑战,提出了P-Tuning v2,它采用了深度提示调整作为在各种尺度和NLU任务中的通用解决方案。

prompt tuning v2只有微调0.1%-3%的参数,并且适用于普遍大小(300M-10B)的模型。

在这里插入图片描述

摘要

提示调优仅使用冻结的语言模型调整连续提示,大大减少了训练时每个任务的存储和内存使用。

然而,在 NLU 的背景下,先前的工作表明,对于正常大小的预训练模型,提示调优表现不佳。我们还发现,现有的提示调优方法无法处理硬序列标记任务,表明缺乏通用性。

我们提出了一种新的经验发现,经过适当优化的提示调优可以在广泛的模型规模和 NLU 任务中普遍有效。它匹配微调的性能,同时只有 0.1%-3% 的调整参数。

我们的方法 P-Tuning v2 是 Deep Prompt Tuning (Li and Liang, 2021; Qin and Eisner, 2021) 的实现,优化和适应 NLU。鉴于 P-Tuning v2 的普遍性和简单性,我们相信它可以作为微调的替代方案,并为未来的研究提供强大的基线。

论文十问

  1. 论文试图解决什么问题?

这篇论文试图解决prompt tuning在模型规模和硬序列标记任务上的泛化性不足的问题。

  1. 这是否是一个新的问题?

不能说是一个新的问题,文章中提到prompt tuning的泛化性问题已经被先前的工作发现。

  1. 这篇文章要验证一个什么科学假设?

这篇文章要验证优化后的prompt tuning方法可以和fine-tuning一致泛化地工作。

  1. 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

相关研究包括Lester et al. (2021)和Liu et al. (2021)的工作。这两个工作在10亿参数规模的模型上探索了prompt tuning。值得关注的研究员包括论文作者之一的Jie Tang。

  1. 论文中提到的解决方案之关键是什么?

文章中提出的解决方案P-tuning v2的关键是为每个transformer层添加连续prompt。

  1. 论文中的实验是如何设计的?

论文设计了在不同模型规模和NLP任务上的实验来比较P-tuning v2和fine-tuning的效果。

  1. 用于定量评估的数据集是什么?代码有没有开源?

使用的数据集包括SuperGLUE、命名实体识别、阅读理解和语义角色标注等。代码已在GitHub上开源

  1. 论文中的实验及结果有没有很好地支持需要验证的科学假设?

实验结果充分支持了优化后的prompt tuning方法可以和fine-tuning一致泛化工作的假设。

  1. 这篇论文到底有什么贡献?

这篇论文的主要贡献是发现合适优化的prompt tuning可以和fine-tuning一致有效。

  1. 下一步呢?有什么工作可以继续深入?

下一步的工作可以基于这个泛化prompt tuning方法继续探索在其他NLP任务如生成任务上的应用和优化。

NLU任务

通常,简单的分类任务更喜欢较短的提示(少于 20 个);硬序列标记任务更喜欢较长的(大约 100)

  • 简单分类任务

简单分类任务涉及在标签空间上进行分类,例如,GLUE(Wang等,2018)和SuperGLUE(Wang等,2019)中的大多数数据集。

  • 硬序列标记任务

硬序列标注任务(hard sequence labeling tasks)是指那些涉及对一系列标签进行分类的自然语言理解(NLU)任务。这类任务通常比较困难,因为它们需要对一组标签进行预测,而不仅仅是对单个标签进行分类。

硬序列标注任务的例子包括命名实体识别(Named Entity Recognition)和抽取式问答(Extractive Question Answering)。在这些任务中,模型需要对输入序列中的每个元素进行分类,以生成一系列标签。这种任务通常比简单的分类任务更具挑战性。

优化点

P-tuning v2就是Deep Prompt Tuning在自然语言理解任务上的实现。

其关键要点是:

(1) 为预训练语言模型的每个transformer层插入提示。

(2) 重新参数化提示表示(可选)。

(3) 使用线性分类头而不是语言建模头。

在这里插入图片描述

实验

数据集

SuperGLUE、命名实体识别、阅读理解和语义角色标注等

预训练模型

模型大小
BERT-large335M
RoBERTa-large355M
DeBERTa-xlarge750M
GLM-xlarge2B
GLM-xxlarge10B

实验结果

SuperGLUE 开发集的结果。P-tuning v2 在小于 10B 的模型上超过了 P-tuning,匹配在不同模型尺度上微调的性能。
在这里插入图片描述

命名实体识别 (NER)、问答 (Extractive QA) 和语义角色标签 (SRL) 的结果。NER 和 SRL 中的所有指标都是 micro-f1 分数
在这里插入图片描述

消融实验

  • 带LM头的语言分析器与带线性头的CLS标签。

在RoBERTa-large上,实验结果表明两者性能相近。
在这里插入图片描述

  • 提示深度的影响

在给定相同数量的可调节参数下,将连续提示添加到更深层(靠近输出层)可以获得比添加到开始层更好的性能,这验证了多层连续提示的有效性。

在RTE的情况下,仅向17-24层添加提示可以产生与所有层非常接近的性能
在这里插入图片描述

结论

  • 在不同的模型规模(300M 到 10B 参数)和自然语言理解(NLU)任务上,P-Tuning v2 的性能与微调方法相当。

  • P-Tuning v2 只需调整 0.1% 到 3% 的任务特定参数,而微调方法需要调整整个模型的所有参数。

  • 与其他提示调优方法相比,P-Tuning v2 在简单分类任务和困难序列标注任务(如抽取式问答和命名实体识别)上的表现更接近微调方法。

总之,P-Tuning v2 方法具有较低的训练时间、内存成本和每个任务的存储成本,并且在各种模型规模和 NLU 任务上具有与微调方法相当的性能。这使得 P-Tuning v2 可以作为微调方法的替代方案,并成为未来研究的强基线。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】容器数据持久化及容器互联

一、Docker容器的数据管理 1.1、什么是数据卷 数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或者多个容器提供访问,数据卷设计的目的,在于数据的永久存储,它完全独立于容器的…

获取所有的 font-awesome图标, 用于本地选择使用

访问 font-awesome 首页 Font Awesome 4.7.0 675款图标,Font Awesome,奥森图标,Font Awesome 4.7.0,Font Awesome中文站,Font Awesome IE7兼容处理,Font Awesome图标搜索,Font Awesome中文站-ThinkCMF 调出控制台 , 执行下面的脚步 // 获取所有的图标元素 var icons docu…

《YOLOv5原创自研》专栏介绍 CSDN独家改进创新实战专栏目录

YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创新(原创),适合paper !!! 💡💡💡…

阵列信号处理---均匀线阵和均匀加权线阵

均匀线阵 均匀线性阵列(ULA:Uniform Linear Array):有N个阵元位于z轴上且具有均匀间距d。 一般都把阵列的中心放在坐标系的原点。如下图 阵元的位置为 p z n ( n − N − 1 2 ) d , n 0 , 1 , … , N − 1 p_{z_n}\big(n-\frac{N-1}{2}\b…

Hdoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统,它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性: 1. 动画(Animation): 类型: Animation组件允许…

冗余链路和生成树协议

文章目录 冗余链路生成树协议 冗余链路 背景:在许多交换机或者交换机设备组成的网络环境中,通常都使用一些备份连接,来提高网络的健全。在金融网中A和B之间不止一条线路,保证网络的安全性能。备份连接也叫做冗余链路 冗余链路带…

7.24 SpringBoot项目实战【审核评论】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试前言 我们在 上文 7.23 已经实现了 评论 功能,本文我们继续SpringBoot项目实战 审核评论 功能。逻辑如下: 一是判断管理员权限,关于角色权限校验 在 7.5 和 7.6 分别基于 拦截器Interceptor 和 切面AOP 都实现过…

还搞不懂什么是参数,超参数吗?三分钟快速了解参数与超参数的概念和区别!!!

文章目录 前言一、参数是什么?二、超参数是什么三,常使用的超参数有哪些 前言 参数是模型中可被学习和调整的参数,通过训练数据进行学习和优化; 而超参数则是手动设置的参数,用于控制模型的行为和性能,超…

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)

Spring MVC数据绑定的几种方法(一)

这篇文章包含spring mvc的默认数据类型绑定和简单数据类型绑定。内容来自实验。 准备: (1)在IDEA环境中从archetye创建webapp类型的maven项目exp6。 (2)在src\main目录下创建并标注java源代码文件夹和resources资源文…

AGI智能新时代,大模型为软件开发带来范式变革

导语 | 人工智能作为新一轮科技革命和产业变革的重要驱动力量,尤其是在当下新一轮 AI 大模型、生成式 AI 浪潮背景下,重视通用人工智能(AGI)成为行业的共识。在当前, AGI 技术背后的逻辑究竟是怎样的?技术创…

uni-app一些目录结构、方法、生命周期、打包、微信小程序登录与支付

1、关于uniapp的目录结构 跟普通vue项目目录结构差不多,多了几个核心文件,manifest.json是配置应用名称、appid、logo、版本等打包信息用的,pages.json的作用是配置页面路径、页面窗口样式、tabBar、navigationBar等页面类信息 2、页面适配方…

Shell循环:expect(一)

一、名词解释: 我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如ssh服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。E…

Wireshark 协议插件Lua开发 -数据包内嵌协议的解释

概述 因为公司项目涉及的协议打包,协议包内又嵌了一层IP包的奇葩套娃结构,为了方便抓包调试,利用Wireshark的协议插件开发功能,写了一个插件,博文记录以备忘。 环境信息 Wireshark 4.0.3 协议结构体套娃图 插件安装…

openEuler学习04-ssl升级到openssl-1.1.1w

当前环境ssl的版本是 1.1.1f ,计划升级到openssl-1.1.1w [roottest ~]# more /etc/os-release NAME"openEuler" VERSION"20.03 (LTS-SP3)" ID"openEuler" VERSION_ID"20.03" PRETTY_NAME"openEuler 20.03 (LTS-SP3)&q…

带头双向循环链表:一种高效的数据结构

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅cpolar ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022🎉欢迎大…

qt-C++笔记之addItem(), addWidget(), addLayout()

qt-C笔记之addItem(), addWidget(), addLayout() code review! 文章目录 qt-C笔记之addItem(), addWidget(), addLayout()0.《官方文档》相关示例截图1.ChatGPT解释2.《Qt 5.12实战》相关示例截图《Qt 5.12实战》:5.6 组合框 3.addWidget()4.addWidget()和addChil…

抓取检测(Grasp Dection)

抓取检测 抓取检测被定义为能够识别任何给定图像中物体的抓取点或抓取姿势。抓取策略应确保对新物体的稳定性、任务兼容性和适应性,抓取质量可通过物体上接触点的位置和手的配置来测量。为了掌握一个新的对象,完成以下任务,有分析方法和经验…

基于SSM的职业高中智慧作业试题系统设计

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:JSP 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 一、…
最新文章