引用:Yoo K M, Park D, Kang J, et al. GPT3Mix: Leveraging large-scale language models for text augmentation[J]. arXiv preprint arXiv:2104.08826, 2021.
论文地址:https://arxiv.org/abs/2104.08826
代码地址:https://github.com/naver-ai/hypermix
1 背景与问题
在Brown等人(2020)的开创性工作中,通过基于提示的上下文学习,大规模语言模型,特别是 GPT-3,已被证明在 zero-shot 和 few-shot 学习任务上取得了更好的性能。In-context learning 利用 prompt,通常由任务描述和几个例子组成,在没有微调成本的情况下解决 unseen tasks。
然而,这些基于提示的大规模语言模型推理方法有几个缺点。
首先,明文训练示例的数量受到固有语言模型架构所允许的最大提示长度的限制。
其次,基于提示的方法需要对大规模语言模型进行在线推理时成本过高。
最后,基于提示的方法摒弃了传统的机器学习技术,使其与现有的已建立的微调方法大多不兼容。
1.1 解决办法
为了克服这些限制,本文提出了一种更实用的解决方案,将大规模语言模型用于下游 NLP 任务。在本文提出的框架中,如图 1 所示,大规模语言模型不用作预训练模型,用于进一步的域自适应微调或基于提示的上下文学习的主干,而是用合成文本数据注入原始训练集。
本文提出了 GPT3Mix,这是一种利用 GPT-3 等大规模语言模型从真实样本的混合中生成合成但超逼真的文本样本的方法。 GPT3Mix 从特定于任务的训练数据中提取少量样本句子,将这些样本嵌入到提示中,并生成受样本句子影响的增强混合句子。
简言之,本文所述方法通过生成受现有数据样本启发的合成示例来实现
(1) 数据增强(data augmentation); (2) 通过使用大型语言模型预测的软标签(soft-labels)训练较小的分类模型进行知识蒸馏(knowledge distillation)。
2 相关工作
2.1 Knowledge Distillation
Knowledge distillation (Phuong and Lampert, 2019) is a technique that trains a smaller student classifier on the outputs of a larger teacher classifier.
通过利用大规模语言模型预测的软标签,本方法有助于将知识转移到下游分类器。
2.2 Text Augmentation
文本扩充是指在不改变类标签的情况下扰乱语言空间,以提高下游模型的稳健性和可推广性的方法。
当前文本增广有两种风格:shallow augmentation 和 deep augmentation。
浅层数据增强技术将局部看似合理的小噪声注入语言空间(单词或短语),希望扰动产生语言上可接受的样本,同时保持标签的一致性。两个例子是EDA(Wei和Zou,2019)和同义词替换(Zhang et al.,2016)。
另一类扩充技术采用外部语言模型( external language models )来提高全局一致性和一致性。例如 BERT、variant BART 等。
2.3 Large-scale Language Models
Prompt-based NLP 的方法,本质上是小样本学习器,能通过自然语言文本进行控制。
3 GPT3Mix
Mixup (Zhang et al., 2017) 是一种简单的学习技术,已被证明在防止记忆并提高视觉域的泛化性方面是有效的。受该技术的启发,我们提出了 GPT3Mix 作为一种强大而简单的方法,可以根据数据分布生成高度流畅的合成样本。
所提出的方法(图 2)包括三个部分:
(1) selecting examples from the dataset,
(2) constructing a GPT3Mix prompt from the selected examples and meta-information about the dataset,
(3) extracting augmentation from the language model generation.
3.1 Example Selection
为简单起见,本文将下游任务限制为文本分类任务。
给定一个分类任务 T ,训练数据集 D 是一组文本 x 和相关的标签 y 对:。我们从 D 中随机选择 k 个示例作为 anchors。
大规模语言模型对提示中 choices 和 the order of examples 高度敏感(Reynolds 和 McDonell,2021;Zhao 等人,2021)。
本文简单使用均匀分布来选择 K 个示例:,设置 k = 2 来模拟 Mixup 。
3.2 Prompt Construction
给定一组从 D 采样的提示示例 ,本文将提示制定如下。GPT3Mix 提示由描述头
的文本标签对的枚举和增强前缀组成。提示的一个示例见附录(§A)。
- Text Type T : Meta-type of the input textx. For example, in movie review sentiment analysis, the text type corresponds tomovie review.
- Label Type L: Meta type of the label class y. For the example above, the label type corresponds to sentiment.
- Label-token Verbalizer v : Y → V: Similar to the concept of verbalizers in the work of Schick and Schütze (2020b), the one-to-one mapping between the label classes y ∈ Y and word tokens in the language model's vocabulary V 3 is needed to formulate the prompt.
3.3 Augmentation Extraction
与其他基于提示的方法一样,增强文本 x' 和标签 y' 在提示作为自然文本后连续生成。示例中预定义的提示模板表示语言模型以生成具有结构的 (x′, y′),使我们能够通过模式匹配提取相应的值。Joint text 和 label generation 还约束生成的文本与正确的标签关联。
如提示所示(§A),本文特殊的提示设计确保了对应于 v(y′)的标签标记在 x 之后生成。
由于大规模语言模型是 few-shot learners(Brown et al.,2020),于是我们利用GPT-3来进行 pseudo-labeling。公式如下:
上述方法在一次扩充操作中有效地结合了文本扰动、伪标记和知识提取。在实践中,使用交叉熵损失将具有伪标签的扩增样本与真实样本一起训练。
4 实验
在以下的 6个分类基准上评估了本文的方法:
SST-2 斯坦福情感分类
CR Amazon用户产品评论
COLA 句子集
TREC6 开放域问题分类
MPQA 问答极性
SUBJ 二元电影评论
experimental settings
本文通过对训练集进行子采样来对人工数据稀缺任务进行下游分类实验。对于每个实验,我们在训练集上执行类平衡子样本,通过固定 5 个不同数据种子上的子样本并在子样本上重复增强过程和下游分类实验 10 次来解释我们实验中的统计方差。
Data Augmentation Experiments
本文的方法与与简易数据增强(EDA)(Wei and Zou, 2019)和反翻译(BT)(Fadaee et al., 2017)进行了比较。对于反译基线,使用在 Fairseq 提供的 WMT16 英德语料库上训练的 Transformer 架构将文本翻译成德语和从德语翻译出文本(Ott et al., 2019)。
Full Data Experiments
本文同时还进行完整的数据集数据增强实验,以确认 GPT3Mix 即使在特定任务的数据丰富的情况下也能提供优势。我们用来自 GPT3Mix 的合成样本的 1:1 比例扩充了完整的SST-2数据集,我们在下游分类上的实验表明,在表现力更强的架构中观察到更大的改进幅度。
Ablation Study
4.4.1 Number of Prompt Examples
首先研究 GPT3Mix 提示(k)中示例的数量对下游增强性能的影响。GPT3Mix 要求 k≥2 以有效地混合现有样本并生成插值文本样本。然而,为每个提示提供一个示例(k=1)并期望 GPT-3 引入给定示例的扰动或转述可能是可行的策略。我们对SST-2数据集进行了 k 的变化,并观察了下游性能(表2)。4.4.2 Language Model Capacity
OpenAI提供了四种不同容量的GPT-3:ada、babbage、curie和davinci7,按模型复杂性的增加顺序排列。在本研究中,扩增率设置为5。正如预期的那样,结果(表3)表明,拥有更大、更具表现力的语言模型有利于数据扩充。4.4.3 Task Specification
We are also interested in how the design choice of task specification for prompt construction affects the downstream performance. 在这项研究中,我们使用 curie 作为扩充语言模型,扩充率为3。如表 6 。语言模型利用数据集的元信息来生成更好的数据样本,因此提示设计对增强质量有显著影响。4.4.4 Pseudo-labeling
我们从大规模语言模型预测的标签标记概率中研究了使用伪标签(Pseudo-labeling)的效果,比较了当使用从序列宽波束搜索优化的标签 tokens 时的增强性能( the label tokens optimized from the sequence-wide beam search)。SST-2的结果(表5)表明,与序列优化的标记相比,使用软标记具有强大的优势。硬标签和软标签之间的性能差距可以被认为是利用语言模型联合预测的类分布作为合成样本的知识蒸馏形式的好处(Kim and Rush, 2016)。curie 作为 GPT-3 模型,扩增率为5。4.4.5 Qualitative Analysis
语言模型对提示中示例的选择和顺序敏感,导致程序生成显示出偏差(Zhao et al., 2021; Reynolds and McDonell, 2021)。SST-2数据集的扩增样本如表 4 所示。我们注意到合成样本的情绪强烈依赖于在示例的类标签上。当两个例子都是积极的或消极的时,增强样本的情绪会受到严重影响,从而产生相应的偏差。在混合类标签的情况下,得到的类分布不那么平坦。
增广样本遵循了与示例文本相似的句法和语义结构。如第一种情况所示,示例的简短和短语结构被很好地翻译成生成的样本,即语言模型能够从上下文示例中学习,即使是生成和伪标记任务。在随后的情况下也观察到了类似的模式,即使是实例的实体和主体也会受到干扰,并被带入合成样本中。
5 贡献
本文的工作贡献总结如下:
- 建议在现有的 PLM 微调范式之上使用大规模语言模型进行基于提示的数据增强,以利用这两个世界的优点。
- 本文提出了 GPT3Mix,这是一种简单但有效的文本增强技术,它引出大规模语言模型所拥有的知识和语言能力。
- 我们的详细分析有助于理解提示驱动的数据增强背后的机制,使我们能够更好地控制生成和数据增强行为。