中文

Distiller:自然语言处理中模型蒸馏方法的系统性研究

计算与语言 2021-09-24 v1

摘要

我们旨在确定知识蒸馏(KD)流程中不同组件如何影响最终性能,以及最优 KD 流程在不同数据集/任务(如数据增强策略、损失函数,以及用于在教师与学生之间迁移知识的中间表示)上的差异程度。为了厘清它们各自的影响,我们提出 Distiller,一个元 KD 框架,它在 KD 流程的不同阶段系统性地组合了广泛的技术,使我们能够量化每个组件的贡献。在 Distiller 中,我们将用于中间表示蒸馏的常用目标统一到一个通用的互信息(MI)目标下,并提出一类具有更好偏差/方差权衡的 MI-α\alpha 目标函数,用于估计教师与学生之间的 MI。在多样化的 NLP 数据集上,我们通过大规模超参数优化确定了最佳的 Distiller 配置。我们的实验揭示了以下结论:1)用于蒸馏中间表示的方法是影响 KD 性能最重要的因素;2)在中间蒸馏的不同目标中,MI-α\alpha 表现最佳;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}
}