端上智能——深度学习模型压缩与加速

简介: 随着深度学习网络规模的增大,计算复杂度随之增高,严重限制了其在手机等智能设备上的应用。如何使用深度学习来对模型进行压缩和加速,并且保持几乎一样的精度?本文将为大家详细介绍两种模型压缩算法,并展示了阿里巴巴模型压缩平台和前向推理工具。
摘要:随着深度学习网络规模的增大,计算复杂度随之增高,严重限制了其在手机等智能设备上的应用。如何使用深度学习来对模型进行压缩和加速,并且保持几乎一样的精度?本文将为大家详细介绍两种模型压缩算法,并展示了阿里巴巴模型压缩平台和前向推理工具。

数十款阿里云产品限时折扣中, 赶紧点击这里 ,领劵开始云上实践吧!

本次直播视频精彩回顾, 戳这里
本次直播PDF下载, 戳这里

演讲嘉宾简介:
李昊(花名:辽玥),阿里巴巴机器智能技术实验室高级算法专家,毕业于中科院,拥有工学博士学位,致力于深度学习基础技术研究以及在各个行业的应用。

以下内容根据演讲嘉宾视频分享以及PPT整理而成。

本文将围绕一下几个方面进行介绍:
1. 深度学习模型压缩与加速
  • Extremely Low Bit Neural Networks
  • Extremely Sparse Network
2. 训练平台
3. 高效前向推理工具

一. 深度学习模型压缩与加速
随着深度学习网络规模的增大,计算复杂度随之增高,严重限制了其在手机等智能设备上的应用。例如下图一展示的VGGNet和图二的残差网络,如此大规模的复杂网络模型在端设备上使用并不现实。
ad316f7f8b81db9b48fbf97736db41ce3f3c441e
因此需要采用深度学习模型来进行压缩和加速,下面介绍两种压缩算法。

1. Extremely Low Bit Neural Networks
Low Bit模型是指将连续的权重压缩成离散的低精度权重。如下图所示,原始深度学习的网络参数为float型,需要32bit存储空间,将其转化成只有三值(0,+1,-1)的状态,存储只需要2bit,极大地压缩存储空间,同时也可以避免乘法运算,只是符号位的变化和加减操作,从而提升计算速度。
4f13e9bbf1c8a4379844add646ab2cb60ab25a7c
这里为大家提供一篇对Low Bit模型详细介绍的参考文章 Extremely Low Bit Neural Networks: Squeeze the Last Bit Out with ADMM
接下来以二值网络为例讲解上述的压缩过程。首先假设原始神经网络的优化目标函数为f(w),限制条件为深度学习网络的参数包含在C内,如果C为{-1,1},则该网络便为二值网络,如下所示:
0eaa2f0573c67bbb2e50f5beda2d4e6dd58c6aeb
这里引入了一种解决分布式优化和约束优化的常用方法ADMM(Alternating Direction Method of Multipliers),来求解以上离散非凸约束优化问题,其形式如下:
a98bacaf1165e7926d07d2a8d98da0bc06cdee4e
ADMM用于解决当目标函数为f(x)+g(z),其中限制条件是Ax+Bz=c的优化。首先写出增广拉格朗日函数,然后将上述问题转化成求解如下所示的xyz:
b65a95ff586aa3322380618e3a315512aa1fefcf
即先求解xz的极小值,然后得到y的更新。上述即为ADMM标准解法,接下来,如何将Low Bit Neural Networks问题转化成ADMM问题呢?
首先需要引入指示函数,形式如下所示:
6ab7705e1901243cff3141fd56bb5e9ff7927931
此时二值神经网络的目标函数等价于优化目标函数和指示函数之和:
146e4486a715f3fc6ac6f0ddcbc0879ec95e097a
这意味着,当指示函数属于C时,优化目标即为初始目标,没有变化;当指示函数不属于C时,指示函数为正无穷,此时会首先优化指示函数。
然后需要引入一致性约束,这里引入辅助变量G,并约束W=G,则目标函数等价于:
4806a0e68e312a7f02cc01732f0ee0012c009b4b
加入辅助变量后,就可以将二值神经网络的优化问题转化为ADMM标准问题。接下来,写出上式增广拉格朗日公式,使用ADMM算法求解完成优化目标,如下所示:
fa7a29d38c50a72a5eb47d3ec642d6189eb273fc
除上述二值网络外,还有以下几种常用的参数空间:
fc44b1ca7eb49a4bc1cab7603c625698e5d2fc9a
参数空间中加入2、4、8等值后,仍然不需要乘法运算,只需进行移位操作。因此,通过这种方法将神经网络中的乘法操作全部替换为移位和加操作。
将上述Low Bit模型应用至ImageNet进行分类,最终的优化结果如下表所示:
a79f2ca1438b2a6baae172429ddd5e4c11c069a8
表一展示了该算法在AlexNet和VGG-16的应用结果,可以发现该算法在二值和三值网络中的效果明显优于原始范围的应用,并且三值网络中的分类结果与全精度的分类结果相比,几乎是无损的。表二是该算法在ResNet-18和ResNet-50中的应用,结果也与表一中类似。
在检测方面,该算法仍具有较高的可用性。如下表所示:
89303da39537684882a3ac6c01067ffdf13cbdb2
本次实验的数据集为Pascal VOC 2007。根据上表中数据可知,三值空间内的检测结果精度与全精度参数空间相比,误差几乎可以忽略不计。

2. Extremely Sparse Networks
稀疏神经网络适用于网络中大部分参数为零的情况,存储参数可以通过简单的压缩算法,例如游程编码,极大的减小参数存储空间,并且由于0可不参与计算,从而节约大量的计算空间,提升计算速度。稀疏网络中,优化目标仍然和上述相同,限制条件改为如下所示:
e036eb932318dd4d33a38c78da4ae2418fe4d2d5
对f(W)求梯度下降值(Gradient Descent),将其进行迭代,每迭代一次,就进行一次连接剪枝(Connection Pruning),裁剪的标准是,W的参数越小,重要性越低,将比较小的参数置零,从而保证稀疏度。
21ac8bc20fe31c9f2c1fcf8ff1c6a74e4abbc274
但上述解法存在一个明显的问题是,如下图所示:
e9bc5f7c8b4483b0d1c158ef1f69ba4c10166c9c
w1与w2相比,w1与0更近,但若将w1置零,对函数的损失更大,因此在决定w的重要性时,必须同时考虑w本身大小和斜率。只有在w值和斜率都比较小时,才可以将其置零。基于上述标准,完成了对Alexnet和GoogleNet的稀少度实验,如下图所示:
ed7a57094621dbe8aa36a77365d508d3e88d1169
由上图结果可知,无论是纯卷积网络,还是包含全连接层网络,都可以达到90%以上的稀疏度。

3. 实验结果对比
上文中介绍了稀疏和量化两种方法,实验一将这两种方法同时作用于Alexnet,结果如下所示:
870fe692b6aaec82e384ccfbbb64464f88877301
由上图可以得知,在3Bits,稀疏度为90%以上时,精度损失几乎可以忽略不计,此时压缩率可以达到82倍以上。
实验二中,将两种方法作用于InageNet和Pascal VOC,其中P是稀疏,Q是量化,由图中结果可知,实验过程精度损失极小,并且InageNet中inference的速度有明显提升,Pascal VOC可以达到稀疏度88.7%,量化为3bits,40倍的压缩率下,相对于全精度网络mAP只有1点的下降幅度。
4945f82fe6e559f8f2623214c4ed8e611533e8b9

二. 训练平台
基于上述两种方法,建立起Gauss训练平台。目前Gauss训练平台支持多种常见训练任务(例如人脸、ocr、分类、监测等)和模型(例如CNN、LSTM等),并且支持多机训练,能够以尽可能少的参数设置,减少用户使用成本。
a590e61526351fbbe4146888e234f1de71b674f0
同时Gauss训练平台支持两种模型训练工具:Data-dependent和Data-independent。Data-dependent模型训练工具需要用户提供训练数据,训练时间较长,适合压缩和加速要求较高的场景。Data-independent模型训练工具无需用户提供任何训练数据,一键式处理,处理时间在秒级。

三. 高效前向推理工具
建立起训练平台之后,模型的真正运用还需要高效的前向推理工具。基于低精度矩阵计算工具AliNN&BNN,快速实现低比特矩阵乘法计算。实现后的推理工具在ARM平台上相比竞品提速2-5倍,Intel平台上提速3倍。
287237cb05ebca16c7747451b5c8f57d4733f182

本文由云栖志愿小组郭雪整理,编辑百见

相关文章
|
14天前
|
机器学习/深度学习 监控 安全
智能化视野下的守卫者:基于深度学习的图像识别技术在智能监控领域的革新应用
【4月更文挑战第9天】 随着人工智能技术的飞速发展,深度学习已经成为了推动计算机视觉进步的重要力量。尤其在智能监控领域,基于深度学习的图像识别技术正逐步转变着传统监控系统的功能与效率。本文旨在探讨深度学习技术如何赋能智能监控,提高对场景理解的准确性,增强异常行为检测的能力,并讨论其在实际部署中所面临的挑战和解决方案。通过深入分析,我们揭示了深度学习在智能监控中的应用不仅优化了安全防范体系,也为城市管理和公共安全提供了有力的技术支持。
|
4天前
|
机器学习/深度学习 监控 算法
深度学习驱动下的智能监控革新:图像识别技术的前沿应用
【4月更文挑战第19天】 在数字时代,智能监控系统作为城市安全和效率的守护者,正经历着前所未有的技术变革。本文深入探讨了基于深度学习的图像识别技术如何重塑智能监控领域,通过算法创新提升识别准确率,实时处理大量数据,并在各种环境条件下稳定运行。我们将分析当前最前沿的技术应用案例,探讨其在实际应用中遇到的挑战及未来发展趋势,从而为相关领域的研究者和实践者提供参考和启示。
|
6天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
16 0
|
6天前
|
机器学习/深度学习 并行计算 算法
R语言深度学习不同模型对比分析案例
R语言深度学习不同模型对比分析案例
21 0
|
7天前
|
机器学习/深度学习 监控 安全
深度学习驱动下的智能监控革新:图像识别技术的实战应用
【4月更文挑战第16天】 随着人工智能的迅猛发展,深度学习技术在图像处理和分析领域取得了突破性的进展。尤其是在智能监控系统中,基于深度学习的图像识别技术已经成为提高安全水平、实现自动化监控的关键工具。本文聚焦于深度学习在智能监控中的应用,探讨了卷积神经网络(CNN)、递归神经网络(RNN)等先进结构在实时视频流分析和异常行为检测方面的具体实践。通过深入分析多个案例,我们展示了深度学习如何提升监控系统的准确性、效率及智能化程度,同时对面临的挑战和未来发展趋势进行了展望。
10 2
|
7天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
|
10天前
|
机器学习/深度学习 自然语言处理 算法
探索深度学习中的序列建模新范式:Mamba模型的突破与挑战
【4月更文挑战第13天】Mamba模型,一种新型序列建模架构,通过选择性状态空间提高处理长序列数据的效率,实现线性时间复杂度。在语言、音频和DNA序列建模中展现优秀性能,尤其在大规模预训练中超越Transformer。然而,面对连续信号数据时可能不及LTI模型,且模型参数优化及硬件实现具有挑战性。
31 5
探索深度学习中的序列建模新范式:Mamba模型的突破与挑战
|
15天前
|
机器学习/深度学习 监控 算法
深度学习赋能现代智能监控:图像识别技术的突破与应用
【4月更文挑战第8天】 在数字时代,智能监控系统作为城市安全和高效管理的关键组成部分,其发展受到了广泛关注。本文聚焦于基于深度学习的图像识别技术在智能监控领域的应用,探讨了该技术如何提升监控系统的自动化和智能化水平。通过对卷积神经网络(CNN)、循环神经网络(RNN)等深度学习模型的研究,分析了其在实时目标检测、行为识别和异常行为分析中的具体应用。文章还讨论了这些技术在实际部署中遇到的挑战,如数据隐私保护、算法优化和系统集成等问题,并提出了相应的解决策略。
|
15天前
|
机器学习/深度学习 监控 算法
深度学习驱动下的智能监控革新:图像识别技术的前沿应用
【4月更文挑战第8天】 在当今的数字化时代,智能监控系统正迅速成为城市安全、交通管理乃至个人财产保护的关键组成部分。本文深入探讨了基于深度学习的图像识别技术如何在这一过程中发挥核心作用,不仅提升了监控效率,还实现了实时数据分析与决策支持。我们分析了当前最前沿的算法模型,包括卷积神经网络(CNN)、循环神经网络(RNN)以及生成对抗网络(GAN),并讨论了它们在处理视频数据时的优势和挑战。此外,文中还提出了几种优化策略,用以提升系统的准确性和鲁棒性,为未来智能监控系统的发展指明方向。
15 2
|
15天前
|
机器学习/深度学习 人工智能 监控
深度学习在智能监控领域的突破:图像识别技术的革新与应用
【4月更文挑战第8天】 近年来,随着人工智能特别是深度学习技术的飞速发展,图像识别技术在智能监控系统中的应用已成为研究的热点。本文旨在探讨基于深度学习的图像识别技术在智能监控领域的应用及其带来的变革。文中首先概述了深度学习的基本理论和关键技术,随后深入讨论了这些技术在智能视频监控、人脸识别及行为分析等方面的具体应用。最后,文章分析了目前面临的主要挑战,并对未来发展趋势进行了展望。