背景介绍
BERT:预训练语言模型
BERT及其扩展实现了令人惊叹的性能(在十几种NLP任务上实现了SOTA),其中包括:文本分类、机器问答、机器阅读理解、命名实体识别等等…
BERT的压缩:
Large model:BERT-Base/BERT-Large:包含110M/340M的参数。
实时应用程序的压缩:知识蒸馏、量化、参数共享…
任务自适应BERT压缩:
BERT学习了非常通用的知识,而下游任务只需要其中的某些部分。不同的NLP任务对BERT的熟练程度不同:
我们可以自动压缩特定任务的任务自适应小模型吗?
2.AdaBERT:基于可微分神经体系结构搜索的任务自适应BERT压缩
任务自适应性:神经架构搜索(Neural Architecture Search,NAS)
搜索的目标-总体损失函数
总体损失函数:知识与效率的权衡
要搜索的内容-搜索空间
搜索空间:堆叠的层和基于cnn的单元格
任务有用的知识蒸馏损失
剥离任务有用的知识
Efficiency-Aware Loss
这种损失考虑到了搜索的层数和操作的规模
如何搜索-可区分的架构搜索
用Gumbel技巧训练架构参数:
实验:GLUE的总体结果
与未压缩模型相比,AdaBERT在推理时间上取得了显著的加速,同时保持了相当的性能。
实验:任务适应性
这些结果表明,所提出的AdaBERT针对不同的下游任务自适应地压缩原始BERT。
3.L2A
BERT知识蒸馏
大型模型:BERT-Base / BERT-Large: 110M / 340M参数量
针对实时应用程序的知识提炼:提出了知识蒸馏(KD),在保留教师模型知识的同时,将大的BERT模型压缩为一个小的学生模型。
层次智慧知识精馏
然而,对于训练数据稀缺的目标领域,教师很难将有用的知识传递给学生,这将导致学生模型的性能下降。
数据增强是处理数据稀缺性问题的一种常见策略,它通过基于标记的训练集生成新的数据来增强目标数据。
现有的蒸馏增强方法通常是人工设计的:包括基于启发式的方法(同义词替换,随机插入,随机交换,随机删除等等)、基于生成的方法(变分自动编码器(VAE),往返翻译,意译,数据噪声,上下文增强)。
预先定义这种增强规则是耗时的,而且很难找到帮助知识蒸馏知识的最佳方法。我们可以自动增加数据来帮助知识蒸馏任务吗?
学习判断数据稀缺领域的BERT知识提炼
学习到判断(L2A)方法的概述:我们的学习框架主要由四个组件组成,即教师模块、学生模块、数据生成器和强化选择器:
生成器根据统计平稳分布(Ps)的源域和目标域数据生成增强数据,供教师模块指导学生模块:
强化选择器选择有用的增强数据来帮助知识蒸馏任务,并根据学生网络性能更新其策略
实验
采用的数据集包括:
自然语言推理(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 )
评价结果
L2A比基础学生模型显著改善,并在所有任务中始终优于基线。
L2A在所有任务中都优于L2Aw/osrc和L2Aw/otgt,这表明基于源域或目标域信息的数据增强都有助于提高模型的性能。对于数据稀缺的领域,适当的数据增强可以显著提高学生的表现,甚至达到与教师相当或更好的表现。
消融研究
数据大小的影响:
L2A持续提高了知识提炼模型的性能,通过利用来自资源丰富的源域的信息,其性能甚至优于大型教师模型。当数据量较小时,改善更为明显。这表明L2A可以有效地帮助BERT知识精馏。
4.Meta-KD:一种跨领域语言模型压缩的元知识蒸馏框架
Meta知识蒸馏(Meta-KD)
Meta教师学习:学习一个捕获跨领域可转移知识的Meta教师模型
Meta蒸馏:在Meta教师的选择性指导下,在特定领域的数据集上学习学生模型
实验设置
实验结果(MNLI)
实验结果 (Amazon)
在培训Meta教师时,没有虚构的领域数据。