领域数据优于教师知识用于NLU模型蒸馏

研究显示在自然语言理解任务中,仅使用任务特定数据蒸馏的学生模型性能优于混合通用数据的蒸馏方式。通过多语言实验验证,领域特定数据蒸馏在领域分类和联合意图识别任务中均取得最佳效果,语义错误率显著降低。

领域数据优于教师知识用于NLU模型蒸馏

在自然语言理解(NLU)任务中,仅使用任务特定数据训练的学生模型性能优于混合通用数据的蒸馏方式。

知识蒸馏是一种流行的模型压缩技术,可将大型机器学习模型压缩至适合语音助手等低延迟应用的规模。蒸馏过程中,轻量级模型(称为学生)通过特定数据集(转移集)学习模拟源模型(称为教师)的行为。转移集的选择对生成高质量学生模型至关重要,但如何选择仍不明确。

在NLU应用中,教师模型通常基于通用语料库进行预训练,这与微调使用的任务特定语料库存在差异。这引发了一个关键问题:学生模型应该通过通用语料库蒸馏以学习高质量教师预测,还是应该使用与微调更匹配的任务特定语料库?

在2022年自然语言处理实证方法会议(EMNLP)上发表的研究中,通过实验证明:仅使用任务特定数据蒸馏的模型在目标任务上表现优于混合数据蒸馏的模型。这意味着基于目标领域数据的蒸馏比单纯依赖教师知识能带来更好的性能。但研究也确认,即使使用混合数据蒸馏仍有益处,学生模型性能仍优于从头训练的同等规模模型。

实验还探讨了在教师模型预训练后但微调前进行蒸馏的策略(仅对学生模型微调)。发现先使教师模型适应转移集再进行蒸馏虽然成本更高,但能产生最佳学生模型。

蒸馏多样性实验

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

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

通用数据通常是与任何特定任务无关的公开未标注数据,通过掩码语言建模等自监督学习方式训练。任务特定数据则是针对任务标注的数据,本研究聚焦领域分类(DC)和联合意图分类与命名实体识别(ICNER)两个下游任务。

模型在德语、法语、意大利语和西班牙语四种语言上,通过完整测试集(test)和低频数据子集(tail_test)进行评估。tail_test用于测量模型对训练中罕见数据的泛化能力。

所有实验模型和基线模型参数量一致。基线包括仅使用通用数据蒸馏的通用蒸馏基线,以及使用通用数据从头预训练再微调的直接预训练基线。

研究构建了四个蒸馏学生编码器,其中两个直接使用比例2和比例3数据集蒸馏,另外两个在蒸馏前先对教师模型进行百万步任务特定数据微调,以评估教师适应目标任务的效果。

在DC和ICNER任务评估中,为每个编码器添加相应解码器。DC任务以F1分数(综合假阴性和假阳性率)相对于基线的变化作为改进指标,ICNER任务以语义错误率(SemER)相对于基线的变化作为改进指标。

实验结果

在DC任务中,转移集包含任务特定数据时所有模型均显示改进,且仅使用任务特定数据时改进最大。ICNER任务也呈现类似结果,仅使用任务特定数据蒸馏的编码器改进更显著。

研究表明,尽管依赖教师模型的知识具有价值,但蒸馏过程中使用目标领域数据能产生更优的学生模型,这对资源受限环境下的模型部署具有重要实践意义。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计