Prompt Learning (刘鹏飞)

定义:用额外的输入来应用语言模型知识
GPT2 => GPT3 => PET,LAMA => P3

概述

1.预训练语言模型角度

  1. Left2right,GPT2
  2. MLM,BERT
  3. En-DE,BART,T5

主要方向:分类和kownledge probing

2.预训练策略角度

  1. Tuing-Free:最简单,Zero-Shot
  2. Prompt-only,promt有参数,且只更新prompt。高效且有工业价值
  3. 所有参数:Prompt+PLM一起更新

3.任务角度

  1. commonsense reasoning:最早开始,进展缓慢
  2. 分类,生成,kownledge probing最热门的三个方向。尤其是生成,不需要reformulate task,很方便
  3. 其他的各种任务也开始做了

机器翻译做的比较少

  1. Enc-Dec结构比较麻烦
  2. 一个跨语言的任务,PLM少
  3. 可能需要重新定义和设计Prompt

4.训练样本角度

  1. Zero-shot
  2. few-shot,做的人最多
  3. full-shot,也有很多人,因为这个方向和那些做parameter-efficient的人重合

将来怎么说?

首先想清楚感不感兴趣,做不做
然后

  1. 新任务的应用
    1. Zero-shot方便
    2. 没有人用过
    3. 和任务结合的优势在哪里
  2. 新方法:不同的tuing策略
  3. 新任务
    1. MultiTask,能不能多任务用prompt解决
    2. Prompt-based data-generate/bias
    3. 重新思考pretrain

QA

MT怎么用?

首先要有调研阶段,首先要确定这个任务到底能不能做。
比如一些很简单的,Zero-shot测试,只在inference阶段来测试。在BART的encoder后面输入 “in summary”这种提示词,去看看PLM到底有没有蕴含你要做任务所需的Pattern,假如效果不错,那你可以考虑设计更加精巧的策略来进一步的提升。

对话生成怎么办?

对话生成需要比较多的背景知识,刚好PLM里面有,可以考虑用一定体量的PLM+Prompt来处理

Prompt类比大脑知识区的激活

怎么让Few-shot的优势带到整个数据集?
Prompt可以在few-shot的时候很好的抽取PLM的知识,那在fine-tuing之后呢?因为一些灾难性遗忘,可能这些知识没了。