0795-3555660
发布时间:2021-3-11 16:27:12浏览人数:949作者:管理员
一顿操作后,需要实时模糊背景的视频,看起来流畅了不少:
实时目标检测的延迟也更低了:
这是谷歌特意为移动设备和 Web 端开发的一系列新工具,可以在几乎不影响 AI 模型推理准确性的同时,“修剪”模型大小,以提升模型推理速度。
最好的情况下,能将 AI 模型的推理速度提升 2 倍,模型大小“缩水”一半。
这是怎么做到的?
“抽掉”部分网络权重
这一过程,利用了 AI、机器学习模型的稀疏性。
稀疏性,指在神经网络模型中,可以将部分网络的权重设置为0,以加快推理速度。
它的实现过程,有点像是玩只抽走积木的叠叠乐游戏。
用户要在保证模型不会“坍塌”的同时,抽走部分参数(将参数设置为0)。
这是因为,AI 模型在进行推理任务时,往往涉及大量矩阵乘法运算。
如果能在不影响推理结果的同时,将矩阵中的部分参数设置成0,就能极大地加快矩阵运算速度,缩短推理时间。
目前,许多移动端的轻量级神经网络架构,如 MobileNet 和 EfficientNetLite,主要由深度可分离卷积和1×1 卷积组成。
其中1×1 卷积耗费的推理时间最多,占总计算量的 65% 以上。
在 MobileNet 中,1×1 卷积的计算量甚至占模型总推理时间的 85%。
因此,1×1 卷积层成为了稀疏化的最优选择。
TensofFlow Lite 可用
此前,这种利用稀疏性加速推理的方法,应用范围并不广泛。
一个原因,是神经网络本身难以解释,导致稀疏化的过程也不好解释,以至于缺乏稀疏化的工具。
另一个原因,则是相应设备如手机,缺乏对稀疏化操作的支持。
现在,谷歌特意为移动设备和 Web 端,发布了一系列针对 TensorFlow Lite、和 XNNPACK 浮点加速库的稀疏化新工具。
利用这些稀疏化工具,神经网络就能变得更高效,用户也能快速上手。
其中,XNNPACK 库包含了能检测模型是否稀疏的方法,TF Lite 工具包中则包含基于幅度的修剪、或 RigL 等让模型“缩水”的方法。
整体稀疏化的过程如下:
这个工具支持一系列感知算法模型,包括 MediaPipe 的手部跟踪模型:
以及 Google Meet 中的背景替换模型:
当然,除了谷歌自带的 AI 模型以外,这些稀疏化工具也可以用在自己设计的 AI 模型中。
具体效果如何呢?
推理速度快 2 倍
下图是原始模型和稀疏模型的对比。
其中,蓝色和黄色,分别对应原始模型的 32 帧/秒、和 16 帧/秒的模型大小,红色和绿色则是稀疏模型对应的大小。
从图中可以看见,经过“修剪”的 AI 模型,无论是“手部跟踪”、还是“背景替换”,模型大小都降低了接近一半以上。
而且,随着稀疏程度的提高,推理时间也几乎呈直线下降趋势。
但也要注意,不能一味地稀疏化模型,因为当模型的稀疏化程度高于 70% 的时候,模型的精度就会出现明显的下降。
因此,模型的实际稀疏效果,还是会和理论上有所出入。
在实际应用上,Google Meet 推理时间只降低了 30%,但也已经非常不错了。
还在发愁自己的 AI 模型太大,在移动设备中运行效果不好的小伙伴,可以试着将自己的模型“缩缩水”了~
宜春智能家居-科维链接:http://www.kewei123.com 科维网络IT运维部,致力于IT外包领域多年,服务网点遍及宜春各区,十年来已为数百家企业提供过IT技术服务。 欢迎您来电咨询,我们将竭诚为您服务!0795-3555660
IT运维中心服务项目:电脑维修、网络维护、智能家居、监控安装、无线覆盖、系统集成、办公设备耗材供应、IT外包服务等业务。 |