领域数据在自然语言理解模型蒸馏中胜过教师模型知识
在自然语言理解(NLU)任务中,仅使用任务特定数据训练的轻量级学生模型,其表现优于使用混合通用数据与任务特定数据训练的模型。
知识蒸馏是一种流行的模型压缩技术,可将大型机器学习模型压缩至适合语音助手等低延迟应用的规模。在蒸馏过程中,轻量级模型(称为学生)通过特定数据集(转移集)学习模仿源模型(称为教师)。转移集的选择对生成高质量学生模型至关重要,但如何选择尚不明确。
在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的改进指标,而相对于基线的语义错误率(SemER)变化作为ICNER的改进指标。
在DC任务上,结果显示当转移集中包含任务特定数据时,性能全面改进,仅使用任务特定数据时改进最大。在ICNER任务中观察到类似结果,仅使用任务特定数据蒸馏的编码器改进更大。
致谢:感谢论文合著者对本工作的贡献。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
公众号二维码

1248

被折叠的 条评论
为什么被折叠?



