论文链接:https://arxiv.org/abs/2109.04332
代码开源:暂无
1. 介绍
两种主流的微调(FT)方法:面向任务的微调(传统微调)和面向提示的微调,如上图b、c所示。两种方法都需要微调整个模型的参数,但随着模型规模的快速增长,为每个下游任务微调一个完整的大型模型变得越来越昂贵。
为此,谷歌提出 prompt tuning (PT) 概念,如上图d所示。具体来说,PT 使用由连续嵌入组成的软提示(soft prompt)而不是硬提示(hard prompt)。这些连续的提示嵌入通常是随机初始化和端到端学习的。同时,PT固定了预训练模型的参数,只训练软提示。
然而,论文的试点实验表明,尽管在全量数据下,PT可以达到和FT相当的效果,但在few-shot设置下的表现却比FT差很多。同时发现:(1)verbalizer的选择对性能有很大的影响; (2) 简单地用具体词嵌入初始化软提示并不能提高性能,但 (3) 软提示和硬提示的结合是有帮助的; (4)所有这些方法都不能很好地处理few-shot下的提示调整问题。上述观察表明,为大规模预训练模型找到合适的提示并非易事,精心设计的软提示token初始化至关重要。
为了帮助模型找到合适的软提示,这篇论文提出Pre-trained Prompt Tuning (PPT):在大规模未标记语料库上使用自监督任务预训练软提示。为了确保预训练软提示的泛化性,论文将典型的分类任务归类为三种:句子对分类、多项选择分类和单文本分类,每种都单独设计一个自监督的预训练任务。此外,论文指出,可以将所有下游分类任务都统一到多项选择分类这种格式中。
2. Pre-trained Prompt Tuning (PPT)
分别为三种分类任务设计预训练时使用的PVP(Pattern-Verbalizer Pairs):
1)句子对分类
为了保证通用性,论文将预训练任务NSP扩展成了3分类任务,标签,这些标签分别表示两个句子之间的语义关系是相干的(标签为2)、相似的(1)和不相关的(0)。为了从未标注的文档构造标签,论文将彼此相邻的两个句子的标签设置为 2,将来自同一文档但不相邻的句子标签设置为 1,将来自不同文档的句子标签设置为 0。选择的如下:
标签词 对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
2)多项选择分类
多项选择任务将query和多个候选答案作为输入,论文设计了一种下一句选择任务(next sentence selection task)来为此类任务预训练软提示:
给定一个句子作为query ,模型被训练从6个候选句子()中选出一个与其邻近的句子,因此,标签集合为。这些候选句子包括正确答案、来自同一文档但不与query相邻的一个句子以及来自其他文档的四个句子。选择的如下:
标签词 对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
3)单句子分类
先借助一个训练好的小模型为训练集打好伪标签,然后再进行预训练, 选择的如下:
标签词对应标签 ,软提示拼接在 前,在预训练过程中逐步更新。
统一任务格式: 将上述三种PVP统一为一种格式——多项选择分类。
统一使用2)中的进行预训练,训练好的软提示在三类任务中都可以使用。
3. 实验结果
论文初始化了100个token作为软提示(为何是100个?没说~),英语数据集采用了T5-XXL模型进行PT与FT之间的对比,中文数据集则是采用了CPM-2,两个模型的参数量都是110亿,隐状态维度为4096。因此,PT需要训练的参数只有,是FT参数(110亿)的0.003%。
Vanilla PT:使用从正态分布中随机初始化的软提示;
Hybrid PT:软提示和硬提示联合使用;
LM Adaption:谷歌提出的策略,待补充;
Hybrid PPT:预训练好的软提示和硬提示联合使用;
Unified PPT:统一预训练的软提示。
根据上图,可以得出以下结论:
1. 随着参数数量的增加,FT 的性能有所提升。
2. 在大多数数据集中,PPT 明显优于 Vanilla PT 和 LM Adaption。
3. PPT 在所有中文数据集和大多数英文数据集上都优于 10B 模型的 FT。
4. PPT 在大多数数据集上会产生较小的方差,相比之下,一般的 few-shot 学习常存在不稳定性,例如 Vanilla PT。
5. Unified PPT 可以达到与 PPT 和 Hybrid PPT 相当甚至更好的性能。