BART模型压缩技术解析

本文介绍了一种结合知识蒸馏和量化感知训练的BART模型压缩方法,可将模型大小压缩至原尺寸的1/16,在资源受限设备上实现高效自然语言处理任务,包括文本摘要和问答系统等应用场景。

压缩BART模型以实现资源受限环境运行

技术背景

希望与人类进行可信对话的机器需要掌握多种自然语言处理(NLP)技能,包括文本摘要、信息抽取和问答系统。这些技能使得虚拟个人助手能够在线搜索晚餐食谱或回答随机问题。

近年来,诸如BART(双向自回归变换器)等序列到序列预训练语言模型的进展,在许多NLP任务上取得了显著性能。然而,这些模型的成功是以巨大的计算和内存资源为代价的;典型的BART模型可能包含数亿个参数。

对于资源受限的设备(如手机或智能家居设备),这可能使BART完全无法使用。在某中心网络服务的AI实验室科学家在ACL 2022上发表论文,通过结合蒸馏和量化技术将BART模型压缩至原尺寸的1/16以下,且性能损失极小。

双重技术路径

量化(将高精度值映射到有限菜单中的低精度值)和蒸馏(训练更小的学生模型模拟更大的教师模型)是减少神经网络内存占用的常用技术。

在新论文中,研究人员结合了蒸馏和蒸馏感知量化来减少模型占用空间。

实施步骤

  1. 蒸馏过程:首先在特定NLP任务(如问答或文本摘要)上微调BART教师模型,然后将训练好的教师模型选定层的权重复制到学生模型
  2. 量化感知训练:对学生模型进行量化,产生低精度模型(同时保留全精度学生模型)
  3. 损失计算:量化后的学生模型处理教师模型的训练数据集,输出根据两个指标评估:
    • 标准任务损失:衡量输出与真实值的差异
    • 蒸馏损失:衡量量化蒸馏学生模型与教师模型的差异

参数更新机制

这两种损失用于更新全精度学生模型的参数(而非量化学生模型),因为神经网络更新的标准算法依赖于梯度下降,需要可微分的模型参数。量化模型的参数具有离散值,因此不可微分。

更新全精度学生模型后(最小化训练集误差和与教师模型的差异),再次进行量化以减少内存占用。

实验验证

研究人员在文本摘要和长格式问答任务上,将蒸馏量化BART模型的效率与三个不同基准进行比较。还研究了蒸馏感知量化在更复杂模型(如mBART多语言模型)上的效果。

关键发现

  • 结合蒸馏和量化比单独量化提供更好的压缩效果
  • 在长格式问答任务中无性能下降,摘要任务中性能下降极小
  • 模型可压缩至原尺寸的近1/28,但在此压缩率下性能不稳定
  • 对于mBART任务,八位量化有效,但量化位数为两位时性能显著下降

未来方向

研究人员计划进一步探索多语言mBART模型,评估包括头部剪枝和序列级蒸馏在内的其他压缩技术。当前研究重点关注内存占用,未来将扩展至延迟效应研究。

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