Distiller:自然语言处理中模型蒸馏方法的系统性研究
计算与语言
2021-09-24 v1
摘要
我们旨在确定知识蒸馏(KD)流程中不同组件如何影响最终性能,以及最优 KD 流程在不同数据集/任务(如数据增强策略、损失函数,以及用于在教师与学生之间迁移知识的中间表示)上的差异程度。为了厘清它们各自的影响,我们提出 Distiller,一个元 KD 框架,它在 KD 流程的不同阶段系统性地组合了广泛的技术,使我们能够量化每个组件的贡献。在 Distiller 中,我们将用于中间表示蒸馏的常用目标统一到一个通用的互信息(MI)目标下,并提出一类具有更好偏差/方差权衡的 MI- 目标函数,用于估计教师与学生之间的 MI。在多样化的 NLP 数据集上,我们通过大规模超参数优化确定了最佳的 Distiller 配置。我们的实验揭示了以下结论:1)用于蒸馏中间表示的方法是影响 KD 性能最重要的因素;2)在中间蒸馏的不同目标中,MI- 表现最佳;3)数据增强对小规模训练数据集或小型学生网络带来显著提升。此外,我们发现不同的数据集/任务偏好不同的 KD 算法,并由此提出一个简单的 AutoDistiller 算法,可为新数据集推荐合适的 KD 流程。
引用
@article{arxiv.2109.11105,
title = {Distiller: A Systematic Study of Model Distillation Methods in Natural Language Processing},
author = {Haoyu He and Xingjian Shi and Jonas Mueller and Zha Sheng and Mu Li and George Karypis},
journal= {arXiv preprint arXiv:2109.11105},
year = {2021}
}