谷歌发布TF新工具:计算速度提升2倍,减少无效参数

新闻 前端
这是谷歌特意为移动设备和Web端开发的一系列新工具,可以在几乎不影响AI模型推理准确性的同时,“修剪”模型大小,以提升模型推理速度。

   [[386682]]

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

一顿操作后,需要实时模糊背景的视频,看起来流畅了不少:

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

实时目标检测的延迟也更低了:

这是谷歌特意为移动设备Web端开发的一系列新工具,可以在几乎不影响AI模型推理准确性的同时,“修剪”模型大小,以提升模型推理速度。

最好的情况下,能将AI模型的推理速度提升2倍,模型大小“缩水”一半。

这是怎么做到的?

“抽掉”部分网络权重

这一过程,利用了AI、机器学习模型的稀疏性

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

稀疏性,指在神经网络模型中,可以将部分网络的权重设置为0,以加快推理速度。

它的实现过程,有点像是玩只抽走积木的叠叠乐游戏。

用户要在保证模型不会“坍塌”的同时,抽走部分参数(将参数设置为0)。

[[386683]]

这是因为,AI模型在进行推理任务时,往往涉及大量矩阵乘法运算。

如果能在不影响推理结果的同时,将矩阵中的部分参数设置成0,就能极大地加快矩阵运算速度,缩短推理时间。

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

目前,许多移动端的轻量级神经网络架构,如MobileNet和EfficientNetLite,主要由深度可分离卷积和1×1卷积组成。

其中1×1卷积耗费的推理时间最多,占总计算量的65%以上。

在MobileNet中,1×1卷积的计算量甚至占模型总推理时间的85%

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

因此,1×1卷积层成为了稀疏化的最优选择。

TensofFlow Lite可用

此前,这种利用稀疏性加速推理的方法,应用范围并不广泛。

一个原因,是神经网络本身难以解释,导致稀疏化的过程也不好解释,以至于缺乏稀疏化的工具。

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

另一个原因,则是相应设备如手机,缺乏对稀疏化操作的支持。

现在,谷歌特意为移动设备和Web端,发布了一系列针对TensorFlow Lite、和XNNPACK浮点加速库的稀疏化新工具。

利用这些稀疏化工具,神经网络就能变得更高效,用户也能快速上手。

其中,XNNPACK库包含了能检测模型是否稀疏的方法,TF Lite工具包中则包含基于幅度的修剪、或RigL等让模型“缩水”的方法。

整体稀疏化的过程如下:

  • 首先,从原始模型开始训练,在过程中逐渐将网络中的部分权重设置为0,即“修剪”模型。
  • 然后,通过适当增加训练时间,提升模型准确度(不会比修剪前的模型差太多)。
  • 最后,获得的稀疏AI推理模型,可以以压缩格式有效存储,比原始模型要更小。

这个工具支持一系列感知算法模型,包括MediaPipe的手部跟踪模型:

以及Google Meet中的背景替换模型:

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

当然,除了谷歌自带的AI模型以外,这些稀疏化工具也可以用在自己设计的AI模型中。

具体效果如何呢?

推理速度快2倍

下图是原始模型和稀疏模型的对比。

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

其中,蓝色和黄色,分别对应原始模型的32帧/秒、和16帧/秒的模型大小,红色和绿色则是稀疏模型对应的大小。

从图中可以看见,经过“修剪”的AI模型,无论是“手部跟踪”、还是“背景替换”,模型大小都降低了接近一半以上。

而且,随着稀疏程度的提高,推理时间也几乎呈直线下降趋势。

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

但也要注意,不能一味地稀疏化模型,因为当模型的稀疏化程度高于70%的时候,模型的精度就会出现明显的下降。

谷歌发布TF新工具:计算速度提升2倍,减少无效参数

因此,模型的实际稀疏效果,还是会和理论上有所出入。

在实际应用上,Google Meet推理时间只降低了30%,但也已经非常不错了。

还在发愁自己的AI模型太大,在移动设备中运行效果不好的小伙伴,可以试着将自己的模型“缩缩水”了~

项目地址:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/delegates/xnnpack/README.md#sparse-inference

责任编辑:张燕妮 来源: 量子位
相关推荐

2020-09-20 21:46:00

量子芯片网络

2018-11-22 14:39:00

工具开源谷歌

2019-06-10 00:45:01

谷歌开源图像识别

2021-09-24 09:28:34

计算数据 技术

2022-03-07 09:38:51

计算开源阿里巴巴

2023-03-22 13:53:26

芯片英伟达

2023-03-29 07:22:06

公共预览版Microsoft

2015-12-09 14:35:55

量子计算机谷歌

2009-03-29 09:47:24

苹果Iphone移动OS

2024-04-10 08:00:00

PostgresNoSQL

2009-12-24 09:30:38

Opera性能测试

2017-05-11 11:30:43

MySQL查询速度

2011-10-26 09:06:54

Windows管理工具

2010-08-13 11:06:52

创新工场CEO李开复

2020-04-16 16:34:10

戴尔攻击BIOS

2014-04-01 09:52:46

MySQL

2023-04-21 10:10:07

Vite 4.3前端

2021-07-21 10:52:26

谷歌Chrome 浏览器

2011-03-06 09:57:34

Android

2023-05-15 20:19:26

谷歌AI
点赞
收藏

51CTO技术栈公众号