其他分享
首页 > 其他分享> > NLP模型压缩概述

NLP模型压缩概述

作者:互联网

目录

1. 为什么需要模型压缩

理论上来说,深度神经网络模型越深非线性程度也就越大,相应的对现实问题的表达能力越强,但相应的代价是,

但随着深度学习越来越多的参与到产业中,很多情况下,需要将模型在手机端IoT端部署,这种部署环境受到能耗设备体积的限制,端侧硬件的计算能力和存储能力相对较弱,突出的诉求主要体现在以下三点:

image


以上三点诉求都需要我们根据终端环境对现有模型进行小型化处理在不损失精度的情况下,让模型的体积更小、速度更快,能耗更低

但如何能产出小模型呢?常见的方式包括设计更高效的网络结构、将模型的参数量变少、将模型的计算量减少,同时提高模型的精度。 可能有人会提出疑问,为什么不直接设计一个小模型? 要知道,实际业务子垂类众多,任务复杂度不同,在这种情况下,人工设计有效小模型难度非常大,需要非常强的领域知识。而模型压缩可以在经典小模型的基础上,稍作处理就可以快速拔高模型的各项性能,达到“多快好省”的目的。

performance


上图是分类模型使用了蒸馏和量化的效果图,横轴是推理耗时,纵轴是模型准确率。 图中最上边红色的星星对应的是在MobileNetV3_large model基础上,使用蒸馏后的效果,相比它正下方的蓝色星星,精度有明显的提升。 图中所标浅蓝色的星星,对应的是在MobileNetV3_large model基础上,使用了蒸馏和量化的结果,相比原始模型,精度和推理速度都有明显的提升。 可以看出,在人工设计的经典小模型基础上,经过蒸馏和量化可以进一步提升模型的精度和推理速度。

2. 模型压缩的基本方法

模型压缩可以通过以下几种方法实现:

model_compress_method

除此以外,还有权重共享、低秩分解等技术也可实现模型压缩。

标签:NLP,蒸馏,压缩,概述,网络结构,推理,模型,精度
来源: https://www.cnblogs.com/zjuhaohaoxuexi/p/16421135.html