背景介绍
BERT:预训练语言模型

BERT及其扩展实现了令人惊叹的性能(在十几种NLP任务上实现了SOTA),其中包括:文本分类、机器问答、机器阅读理解、命名实体识别等等…

bert大模型GPU配置_数据


BERT的压缩:

Large model:BERT-Base/BERT-Large:包含110M/340M的参数。

实时应用程序的压缩:知识蒸馏、量化、参数共享…

bert大模型GPU配置_人工智能_02


任务自适应BERT压缩:

BERT学习了非常通用的知识,而下游任务只需要其中的某些部分。不同的NLP任务对BERT的熟练程度不同:

bert大模型GPU配置_nlp_03


我们可以自动压缩特定任务的任务自适应小模型吗?2.AdaBERT:基于可微分神经体系结构搜索的任务自适应BERT压缩

任务自适应性:神经架构搜索(Neural Architecture Search,NAS)

bert大模型GPU配置_自然语言处理_04


搜索的目标-总体损失函数总体损失函数:知识与效率的权衡

bert大模型GPU配置_nlp_05


要搜索的内容-搜索空间搜索空间:堆叠的层和基于cnn的单元格

bert大模型GPU配置_nlp_06


任务有用的知识蒸馏损失

剥离任务有用的知识

bert大模型GPU配置_人工智能_07


Efficiency-Aware Loss

这种损失考虑到了搜索的层数和操作的规模

bert大模型GPU配置_bert大模型GPU配置_08


如何搜索-可区分的架构搜索

用Gumbel技巧训练架构参数:

bert大模型GPU配置_bert大模型GPU配置_09


实验:GLUE的总体结果

bert大模型GPU配置_数据_10


与未压缩模型相比,AdaBERT在推理时间上取得了显著的加速,同时保持了相当的性能。实验:任务适应性

bert大模型GPU配置_自然语言处理_11

这些结果表明,所提出的AdaBERT针对不同的下游任务自适应地压缩原始BERT。

3.L2A
BERT知识蒸馏

大型模型:BERT-Base / BERT-Large: 110M / 340M参数量

针对实时应用程序的知识提炼:提出了知识蒸馏(KD),在保留教师模型知识的同时,将大的BERT模型压缩为一个小的学生模型。

bert大模型GPU配置_nlp_12

层次智慧知识精馏

然而,对于训练数据稀缺的目标领域,教师很难将有用的知识传递给学生,这将导致学生模型的性能下降。

数据增强是处理数据稀缺性问题的一种常见策略,它通过基于标记的训练集生成新的数据来增强目标数据。

bert大模型GPU配置_nlp_13


现有的蒸馏增强方法通常是人工设计的:包括基于启发式的方法(同义词替换,随机插入,随机交换,随机删除等等)、基于生成的方法(变分自动编码器(VAE),往返翻译,意译,数据噪声,上下文增强)。

预先定义这种增强规则是耗时的,而且很难找到帮助知识蒸馏知识的最佳方法。我们可以自动增加数据来帮助知识蒸馏任务吗?

学习判断数据稀缺领域的BERT知识提炼

学习到判断(L2A)方法的概述:我们的学习框架主要由四个组件组成,即教师模块、学生模块、数据生成器和强化选择器:

bert大模型GPU配置_bert大模型GPU配置_14


生成器根据统计平稳分布(Ps)的源域和目标域数据生成增强数据,供教师模块指导学生模块:

bert大模型GPU配置_bert大模型GPU配置_15


强化选择器选择有用的增强数据来帮助知识蒸馏任务,并根据学生网络性能更新其策略

bert大模型GPU配置_自然语言处理_16


实验

采用的数据集包括:

自然语言推理(Natural Language Inference,NLI):

Source: MultiNLI (Williams, et al. 2018)

Target: SciTail (Khot, et al. 2018)

转述标识(Paraphrase Identification,PI):

Source: Quora question pairs

Target: CIKM AnalytiCup 2018

文本分类:

Source: SST-2 (Socher et al. 2013)

Target: RT (Pang and Lee 2005)

回顾有用性预测:

Source: Amazon review dataset Electronics domain

Target: Amazon review dataset Watches domain

Baseline:
BERT的压缩方法:

MINILM (Wang et al. 2020)
DistlBERT (Sanh et al. 2019)
BERT-PKD (Sun et al. 2019)
TinyBERT (Jiao et al. 2019)
BiLSTMSOFT (Tang et al. 2019)
其中后两项进行了数据增强。

数据分析方法:

EDA (Wei and Zou. 2019)

CBERT (Wu et al.2019 )

评价结果

bert大模型GPU配置_bert大模型GPU配置_17


L2A比基础学生模型显著改善,并在所有任务中始终优于基线。

bert大模型GPU配置_人工智能_18


L2A在所有任务中都优于L2Aw/osrc和L2Aw/otgt,这表明基于源域或目标域信息的数据增强都有助于提高模型的性能。对于数据稀缺的领域,适当的数据增强可以显著提高学生的表现,甚至达到与教师相当或更好的表现。消融研究

数据大小的影响:

bert大模型GPU配置_人工智能_19


L2A持续提高了知识提炼模型的性能,通过利用来自资源丰富的源域的信息,其性能甚至优于大型教师模型。当数据量较小时,改善更为明显。这表明L2A可以有效地帮助BERT知识精馏。

4.Meta-KD:一种跨领域语言模型压缩的元知识蒸馏框架
Meta知识蒸馏(Meta-KD)

Meta教师学习:学习一个捕获跨领域可转移知识的Meta教师模型

Meta蒸馏:在Meta教师的选择性指导下,在特定领域的数据集上学习学生模型

bert大模型GPU配置_nlp_20


bert大模型GPU配置_数据_21


实验设置

bert大模型GPU配置_nlp_22


实验结果(MNLI)

bert大模型GPU配置_nlp_23


实验结果 (Amazon)

bert大模型GPU配置_nlp_24


bert大模型GPU配置_nlp_25


在培训Meta教师时,没有虚构的领域数据。