领域数据优于教师知识的知识蒸馏

3 阅读4分钟

领域数据优于教师知识:面向NLU模型蒸馏的研究

在自然语言理解任务上,仅使用任务特定数据训练的学生模型优于那些使用混合通用数据训练的学生模型。

会议:EMNLP 2022
相关论文:知识蒸馏迁移集及其对下游NLU任务的影响

知识蒸馏是一种流行的技术,用于将大型机器学习模型压缩到可管理的大小,使其适用于低延迟应用(如语音助手)。在蒸馏过程中,轻量级模型(称为学生)被训练来模仿源模型(称为教师)在特定数据集(迁移集)上的行为。迁移集的选择对于产生高质量的学生模型至关重要,但如何做出选择远非显而易见。在自然语言理解应用中,教师模型通常在通用语料库上预训练,这可能与用于微调的任务特定语料库不同。这就提出了一个自然的问题:学生应该从通用语料库上蒸馏以学习高质量的教师预测,还是在与微调更一致的任务特定语料库上蒸馏?

在一篇发表于2022年自然语言处理经验方法会议(EMNLP)的论文中,研究者探讨了这个问题,并表明仅使用任务特定数据蒸馏的模型在目标任务上表现优于使用任务特定和通用数据混合蒸馏的模型。换句话说,在目标领域数据上蒸馏比单纯依赖教师知识提供更好的性能。然而,研究也证实了即使是混合数据蒸馏也是有益的,学生模型优于从头训练类似规模的模型。研究者还研究了教师模型预训练后但在微调前进行蒸馏的情况(仅学生模型被微调)。结果发现,在蒸馏前让教师适应迁移集的更昂贵策略能产生最好的学生模型。

蒸馏的多样性

在实验中,研究者从一个大型多语言教师模型蒸馏出一组多语言学生,使用了三种不同比例的通用数据和任务特定数据混合:

  • 比例1:仅通用数据(基线)
  • 比例2:通用数据与任务特定数据比例为7:3(模拟低资源场景)
  • 比例3:仅任务特定数据

什么是通用数据和任务特定数据?通用数据通常是公开可用的、无标注的数据,与任何特定任务无关。在无标注数据上的模型训练通常涉及自监督学习;在该研究中,这意味着遮住文本中的单词并训练模型来补充它们(掩码语言建模)。任务特定数据是已被标注以指示任务正确执行的数据。在该研究中,研究者探索了两个下游任务:领域分类(DC)以及联合意图分类和命名实体识别(ICNER),任务特定数据也相应进行了标注。

研究者在两种类型的测试集(test 和 tail_test)以及四种目标语言(德语、法语、意大利语和西班牙语)上评估了模型。test集包含完整的测试拆分,而tail_test是test中出现频率为三次或更低的数据点子集。tail_test集允许测量模型对训练期间很少见到的数据的泛化能力。

实验设置

所有实验模型和基线模型具有相同数量的参数。通用蒸馏基线是通过仅使用通用数据蒸馏学生创建的(比例1)。直接预训练基线是使用通用数据从头预训练,然后在任务特定数据上微调。

研究者创建了四个蒸馏学生编码器,其中两个直接使用比例2和比例3数据集进行蒸馏。其余两个以相同方式创建,但教师在蒸馏前用任务特定数据集各微调了一百万步。这使得能够基准测试教师对目标任务的适应程度。

在评估DC和ICNER任务的性能时,研究者为每个编码器添加了DC或ICNER解码器。相对于基线的F1分数变化(综合考虑假阴性和假阳性率)被视为DC任务的改进,相对于基线的语义错误率变化被视为ICNER任务的改进。

实验结果

在DC任务上,当迁移集中包含任务特定数据时,结果显示全面的改进,最大的改进来自仅使用任务特定数据。在ICNER任务上,也看到了类似的结果,仅使用任务特定数据蒸馏的编码器改进更大。

致谢:研究者感谢论文合著者Lizhen Tan、Turan Gojayev、Pan Wei和Gokmen Oz对这项工作的贡献。

研究领域:对话式AI、机器学习
标签:知识蒸馏、自然语言理解、EMNLPFINISHED