P-Tuning v2论文概述

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 可以作为微调方法的替代方案,并成为未来研究的强基线。

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江小皮不皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值