虽然预训练语言模型(例如BERT)在不同的自然语言处理任务上取得了令人印象深刻的结果,但它们有大量的参数,并承受着巨大的计算和内存成本,这使得它们难以在现实世界中部署。因此,为了降低预训练模型的计算和存储成本,需要对模型进行压缩。在这项工作中,我们的目标是压缩BERT,并解决以下两个具有挑战性的实际问题: (1)压缩算法应该能够输出多个不同大小和延迟的压缩模型,以支持不同内存和延迟限制的设备;(2)算法应与下游任务无关,这样压缩模型一般适用于不同的下游任务。我们利用神经结构搜索(NAS)中的技术,提出了一种有效的BERT压缩方法NAS-BERT。NAS-BERT在精心设计的搜索空间上训练一个大型超级网络,该搜索空间包含各种架构,并输出具有自适应大小和延迟的多个压缩模型。此外,NAS-BERT的训练是在标准的自监督的训练前任务(如掩体语言模型)上进行的,不依赖于特定的下游任务。因此,压缩的模型可以跨任务使用。NAS-BERT的技术挑战在于,在训练前的任务上训练一个大型超级网络是极其昂贵的。我们采用了块搜索、搜索空间剪枝和性能逼近等技术来提高搜索效率和准确性。对GLUE和SQuAD基准数据集的大量实验表明,NAS-BERT可以找到比以前的方法更精确的轻量级模型,并可以直接应用于不同的下游任务,这些任务具有适应的模型规模,以满足不同的内存或延迟需求。
https://www.zhuanzhi.ai/paper/6f115ce6f43323f92838b15e0030f2a4