Prompt Learning (刘鹏飞)
定义:用额外的输入来应用语言模型知识
GPT2 => GPT3 => PET,LAMA => P3
概述
1.预训练语言模型角度
- Left2right,GPT2
- MLM,BERT
- En-DE,BART,T5
主要方向:分类和kownledge probing
2.预训练策略角度
- Tuing-Free:最简单,Zero-Shot
- Prompt-only,promt有参数,且只更新prompt。高效且有工业价值
- 所有参数:Prompt+PLM一起更新
3.任务角度
- commonsense reasoning:最早开始,进展缓慢
- 分类,生成,kownledge probing最热门的三个方向。尤其是生成,不需要reformulate task,很方便
- 其他的各种任务也开始做了
机器翻译做的比较少
- Enc-Dec结构比较麻烦
- 一个跨语言的任务,PLM少
- 可能需要重新定义和设计Prompt
4.训练样本角度
- Zero-shot
- few-shot,做的人最多
- full-shot,也有很多人,因为这个方向和那些做parameter-efficient的人重合
将来怎么说?
首先想清楚感不感兴趣,做不做
然后
- 新任务的应用
- Zero-shot方便
- 没有人用过
- 和任务结合的优势在哪里
- 新方法:不同的tuing策略
- 新任务
- MultiTask,能不能多任务用prompt解决
- Prompt-based data-generate/bias
- 重新思考pretrain
QA
MT怎么用?
首先要有调研阶段,首先要确定这个任务到底能不能做。
比如一些很简单的,Zero-shot测试,只在inference阶段来测试。在BART的encoder后面输入 “in summary”这种提示词,去看看PLM到底有没有蕴含你要做任务所需的Pattern,假如效果不错,那你可以考虑设计更加精巧的策略来进一步的提升。
对话生成怎么办?
对话生成需要比较多的背景知识,刚好PLM里面有,可以考虑用一定体量的PLM+Prompt来处理
Prompt类比大脑知识区的激活
怎么让Few-shot的优势带到整个数据集?
Prompt可以在few-shot的时候很好的抽取PLM的知识,那在fine-tuing之后呢?因为一些灾难性遗忘,可能这些知识没了。