Prompt Learning 的几个重点paper

Prefix Tuning: Prefix-Tuning: Optimizing Continuous Prompts for Generation

在输入token之前构造一段任务相关的virtual tokens作为Prefix,然后训练的时候只更新Prefix部分的参数,PLM中的其他参数固定。针对自回归架构模型:在句子前面添加前缀,针对编码器-解码器架构模型:Encoder和Decoder都增加了前缀,得到 z = [PREFIX; x; PREFIX0; y]。Encoder端增加前缀是为了引导输入部分的编码,Decoder 端增加前缀是为了引导后续token的生成。该方法其实和构造Prompt类似,只是Prompt是人为构造的“显式”的提示,并且无法更新参数,而Prefix则是可以学习的“隐式”的提示。为了防止直接更新Prefix的参数导致训练不稳定和性能下降的情况,在Prefix层前面加了MLP结构,训练完成后,只保留Prefix的参数。通过消融实验证实,只调整embedding层的表现力不够,将导致性能显著下降,因此,在每层都加了prompt的参数。实验还对比了位置对于生成效果的影响,Prefix-tuning也是要略优于Infix-tuning的。其中,Prefix-tuning形式为 [PREFIX; x; y],Infix-tuning形式为 [x; INFIX; y]

Prompt Tuning: The Power of Scale for Parameter-Efficient Prompt Tuning

该方法可以看作是Prefix Tuning的简化版本,它给每个任务定义了自己的Prompt,然后拼接到数据上作为输入,但只在输入层加入prompt tokens,并且不需要加入 MLP 进行调整来解决难训练的问题。Prompt Tuning 还提出了 Prompt Ensembling,也就是在一个批次(Batch)里同时训练同一个任务的不同 prompt(即采用多种不同方式询问同一个问题),这样相当于训练了不同模型,比模型集成的成本小多了。

P-Tuning: GPT Understands, Too

清华;针对Prompt Tuning的改进,该方法将Prompt转换为可以学习的Embedding层,并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。相比Prefix Tuning,P-Tuning加入的可微的virtual token,但仅限于输入层,没有在每一层都加;另外,virtual token的位置也不一定是前缀,插入的位置是可选的。

P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks

清华;针对Prefix Tuning的改进;该方法在每一层都加入了Prompts tokens作为输入,而不是仅仅加在输入层。移除重参数化的编码器(以前的方法利用重参数化功能来提高训练速度和鲁棒性如:Prefix Tuning 中的 MLP 、P-Tuning 中的 LSTM,但这里作者发现重参数化的改进很小,还会影响模型的表现)。针对不同任务采用不同的提示长度。引入多任务学习。回归传统的分类标签范式,而不是映射器(P-Tuning v2回归传统的CLS标签分类范式,采用随机初始化的分类头(Classification Head)应用于tokens之上)。

相关推荐

  1. Linux中重要指令

    2024-01-30 13:22:02       39 阅读
  2. opencv中重要函数

    2024-01-30 13:22:02       56 阅读
  3. Regular Paper, Short Paper, Demo Paper 和Poster区别

    2024-01-30 13:22:02       53 阅读
  4. 面试问题

    2024-01-30 13:22:02       65 阅读
  5. MySQL中常见种日志类型【重点

    2024-01-30 13:22:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 13:22:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 13:22:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 13:22:02       87 阅读
  4. Python语言-面向对象

    2024-01-30 13:22:02       96 阅读

热门阅读

  1. 记一次复杂左连接的优化之路

    2024-01-30 13:22:02       49 阅读
  2. CentOS:安装curl

    2024-01-30 13:22:02       63 阅读
  3. vue pc端网页实现自适应

    2024-01-30 13:22:02       62 阅读
  4. webpack 入门1

    2024-01-30 13:22:02       48 阅读
  5. SpringBoot之@RequestParam注解

    2024-01-30 13:22:02       51 阅读
  6. TypeScript(五) 条件语句

    2024-01-30 13:22:02       47 阅读
  7. 什么是JDBC?JDBC的作用是什么?

    2024-01-30 13:22:02       61 阅读