AdapterDistillation: Non-Destructive Task Composition with Knowledge Distillation
作者: Junjie Wang, Yicheng Chen, Wangshu Zhang, Sen Hu, Teng Xu, Jing Zheng
分类: cs.LG
发布日期: 2023-12-26
备注: EMNLP2023: Industry Track
💡 一句话要点
提出AdapterDistillation,通过知识蒸馏实现任务组合,提升FAQ检索效率。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)
关键词: 知识蒸馏 Adapter 多任务学习 任务组合 FAQ检索
📋 核心要点
- 现有方法通过增加融合层实现知识组合,但增加了推理时间和限制了扩展性。
- AdapterDistillation通过两阶段知识蒸馏,将多个教师adapters的知识迁移到单个学生adapter。
- 实验表明,该方法在准确率、资源消耗和推理时间上优于现有算法,适用于FAQ检索。
📝 摘要(中文)
本文提出了一种名为AdapterDistillation的两阶段知识蒸馏算法,旨在解决使用adapters进行多任务知识组合时,额外融合层导致推理时间增加和扩展性受限的问题。第一阶段,利用局部数据训练学生adapter,提取特定任务的知识。第二阶段,将现有教师adapters的知识蒸馏到学生adapter中,以提升其推理能力。在面向任务型对话系统中常见问题检索的大量实验表明,AdapterDistillation在准确率、资源消耗和推理时间方面均优于现有算法。
🔬 方法详解
问题定义:论文旨在解决使用adapters进行多任务学习时,为了组合不同任务的知识,通常需要在adapters之上添加额外的融合层。然而,这种融合层会增加模型的推理时间,并且在某些应用场景下,其扩展性会受到限制,例如在资源受限的设备上部署模型。因此,如何高效地组合多个任务的知识,同时避免引入额外的计算开销,是本文要解决的核心问题。
核心思路:AdapterDistillation的核心思路是利用知识蒸馏技术,将多个已经训练好的教师adapters的知识迁移到一个学生adapter中。这样,学生adapter就可以学习到多个任务的知识,而无需额外的融合层。通过知识蒸馏,可以在保证模型性能的同时,减少模型的计算量和推理时间。
技术框架:AdapterDistillation算法包含两个主要阶段:1) 任务特定知识提取阶段:使用特定任务的局部数据训练一个学生adapter,使其能够学习到该任务的特定知识。2) 知识蒸馏阶段:将多个教师adapters的知识蒸馏到学生adapter中,使其能够融合多个任务的知识。在蒸馏过程中,使用教师adapters的输出作为软标签,指导学生adapter的学习。
关键创新:AdapterDistillation的关键创新在于使用知识蒸馏技术,将多个教师adapters的知识融合到一个学生adapter中,从而避免了使用额外的融合层。这种方法可以在保证模型性能的同时,减少模型的计算量和推理时间。此外,该方法还具有良好的扩展性,可以方便地添加新的任务。
关键设计:在知识蒸馏阶段,可以使用不同的损失函数来指导学生adapter的学习。例如,可以使用KL散度损失函数来衡量学生adapter和教师adapters输出之间的差异。此外,还可以使用不同的蒸馏温度来控制软标签的平滑程度。在网络结构方面,学生adapter和教师adapters可以使用相同的结构,也可以使用不同的结构。论文中没有明确指出具体的参数设置和网络结构,这些细节可能需要根据具体的应用场景进行调整。
📊 实验亮点
实验结果表明,AdapterDistillation在FAQ检索任务上取得了显著的性能提升。具体来说,该方法在准确率方面优于现有算法,同时减少了资源消耗和推理时间。由于论文中没有给出具体的性能数据和对比基线,因此无法提供更详细的实验结果。
🎯 应用场景
AdapterDistillation适用于各种需要进行多任务知识组合的场景,例如面向任务型对话系统、自然语言理解和机器翻译等。该方法可以有效地减少模型的计算量和推理时间,使其更适合在资源受限的设备上部署。此外,该方法还具有良好的扩展性,可以方便地添加新的任务,从而提高模型的适应性。
📄 摘要(原文)
Leveraging knowledge from multiple tasks through introducing a small number of task specific parameters into each transformer layer, also known as adapters, receives much attention recently. However, adding an extra fusion layer to implement knowledge composition not only increases the inference time but also is non-scalable for some applications. To avoid these issues, we propose a two-stage knowledge distillation algorithm called AdapterDistillation. In the first stage, we extract task specific knowledge by using local data to train a student adapter. In the second stage, we distill the knowledge from the existing teacher adapters into the student adapter to help its inference. Extensive experiments on frequently asked question retrieval in task-oriented dialog systems validate the efficiency of AdapterDistillation. We show that AdapterDistillation outperforms existing algorithms in terms of accuracy, resource consumption and inference time.