压缩BART模型以实现资源受限环境运行
技术背景
希望与人类进行可信对话的机器需要掌握多种自然语言处理(NLP)技能,包括文本摘要、信息抽取和问答系统。这些技能使得虚拟个人助手能够在线搜索晚餐食谱或回答随机问题。
近年来,诸如BART(双向自回归变换器)等序列到序列预训练语言模型的进展,在许多NLP任务上取得了显著性能。然而,这些模型的成功是以巨大的计算和内存资源为代价的;典型的BART模型可能包含数亿个参数。
对于资源受限的设备(如手机或智能家居设备),这可能使BART完全无法使用。在某中心网络服务的AI实验室科学家在ACL 2022上发表论文,通过结合蒸馏和量化技术将BART模型压缩至原尺寸的1/16以下,且性能损失极小。
双重技术路径
量化(将高精度值映射到有限菜单中的低精度值)和蒸馏(训练更小的学生模型模拟更大的教师模型)是减少神经网络内存占用的常用技术。
在新论文中,研究人员结合了蒸馏和蒸馏感知量化来减少模型占用空间。
实施步骤
- 蒸馏过程:首先在特定NLP任务(如问答或文本摘要)上微调BART教师模型,然后将训练好的教师模型选定层的权重复制到学生模型
- 量化感知训练:对学生模型进行量化,产生低精度模型(同时保留全精度学生模型)
- 损失计算:量化后的学生模型处理教师模型的训练数据集,输出根据两个指标评估:
- 标准任务损失:衡量输出与真实值的差异
- 蒸馏损失:衡量量化蒸馏学生模型与教师模型的差异
参数更新机制
这两种损失用于更新全精度学生模型的参数(而非量化学生模型),因为神经网络更新的标准算法依赖于梯度下降,需要可微分的模型参数。量化模型的参数具有离散值,因此不可微分。
更新全精度学生模型后(最小化训练集误差和与教师模型的差异),再次进行量化以减少内存占用。
实验验证
研究人员在文本摘要和长格式问答任务上,将蒸馏量化BART模型的效率与三个不同基准进行比较。还研究了蒸馏感知量化在更复杂模型(如mBART多语言模型)上的效果。
关键发现
- 结合蒸馏和量化比单独量化提供更好的压缩效果
- 在长格式问答任务中无性能下降,摘要任务中性能下降极小
- 模型可压缩至原尺寸的近1/28,但在此压缩率下性能不稳定
- 对于mBART任务,八位量化有效,但量化位数为两位时性能显著下降
未来方向
研究人员计划进一步探索多语言mBART模型,评估包括头部剪枝和序列级蒸馏在内的其他压缩技术。当前研究重点关注内存占用,未来将扩展至延迟效应研究。