撬动移动端AI万亿美元市场? 华人学者新研究实现移动端神经网络180倍加速

撬动移动端AI万亿美元市场? 华人学者新研究实现移动端神经网络180倍加速

具体来说,我们在上图中提供了压缩编译协同设计架构,该架构包含以下组件:

模式化(pattern)的训练阶段可以执行有效的卷积核模式剪枝(kernel pattern pruning)和连通性剪枝(connectivity pruning),以便在不损失准确性的情况下实现最高的剪枝(加速)倍率。

移动端实时上色

首先,我们设计了一套卷积核模式(kernel pattern)来为每个内核选择。然后,我们使用扩展的基于ADMM(交替方向乘子算法)的算法,根据设计的卷积核模式集和连通性剪枝方案执行模式化剪枝。

细粒度的DNN分层表示(LR)提供了高级别的表示方法,使我们能够从各种资源对DNN模型进行常规优化。特别地,LR包括模式(pattern)和调谐(tuning)相关信息。编译器的优化依赖于LR的一系列改进,以生成紧凑模型和优化过的执行代码。

卷积核与输出通道重排(filter kernel reorder)通过将具有相同长度和模式的卷积核组合在一起,解决了模式化剪枝带来的两个挑战,即密集的控制流指令以及线程分散(thread divergence)和负载不均衡(load imbalance)。由于卷积核模式数量相对有限,可以通过适当的卷积核内核重新排序将具有相似模式的内核进行编组,从而显著减少控制流指令并提高指令级并行度。此外,如果不同的线程处理不同的输出通道,则由于每个输出通道中的内核具有相似的计算工作量,因此可以正确解决线程分散和负载不均衡的问题,从而增强了线程级并行度。

压缩权重存储(compressed weight storage)格式是专门为我们的卷积核模式和连通性剪枝设计的。与卷积核与输出通道重排结合后,这种紧凑的数据结构比传统的CSR(压缩稀疏行)格式能够产生更好的压缩率。

消除负载冗余(load redundancy elimination)通过在内核执行代码生成过程中通过分析处理两个寄存器级负载冗余问题,解决了基于卷积核模式化剪枝对内存性能的挑战。在内存和缓存之间的数据移动已通过高级数据平铺技术进行了优化的前提下,我们的负载冗余消除有着更加重要的意义。

参数自动调整(parameter auto-tuning)专门测试关键性能参数的不同配置,包括将数据放置在各种GPU/CPU存储器上,不同的数据平铺大小以及每个处理单元上每个DNN层的循环置换的策略。

总而言之,压缩编译协同设计方法允许编译器将剪枝后的内核视为特殊模式,不仅可以实现模型的高精度与高压缩率,还可以有效地将卷积核模式转换为硬件上的性能提升。

软硬件及压缩编译协同设计与其它软件算法的性能对比

为了验证我们的中心论点,即软件仍然主导AI时代,我们需要回答的关键问题是,在现有的设备上,「压缩-编译」联合设计方法是否优于专用的硬件加速器。我们在三星Galaxy S10智能手机上部署了「压缩-编译」联合设计的框架,并将其性能与在ASIC和FPGA上实现的硬件加速器进行了比较。

撬动移动端AI万亿美元市场? 华人学者新研究实现移动端神经网络180倍加速

我们采用了6种代表性的DNN模型结构,包括VGG-16 (VGG), ResNet-50 (RNT), and MobileNet-V2 (MBNT) ,在CIFAR-10和ImageNet这两个数据集上做训练。结果显示在所有的测试环境配置下,我们的压缩编译协同设计算法都超越了其它的加速框架。

在移动CPU上,我们的算法相较于TFLite,实现了12倍到44.5倍的加速效果,相较于TVM,实现了2.3倍至8.1倍的加速效果,相较于MNN,实现了1.9倍至15.5倍的加速效果。在GPU上,相较于TFLite,TVM以及MNN,分别实现了2.5倍至20倍,4.1倍至11.4倍,以及2.5倍至6.2倍的加速效果。

对于最大的DNN模型VGG以及最复杂的ImageNet数据集,我们的算法在移动GPU上只需要用18.9毫秒就能完成单一输入图片的所有卷积层的计算操作,满足了实时性的要求(实时性通常要求实现每秒30帧,即每帧33毫秒)。

现有的移动环境和设备下,我们的算法可以实现哪些应用/p>

最后但也是最重要的一个问题就是在现有的移动环境和设备下,我们的算法可以实现哪些应用/p>

这个问题直接关联到压缩编译协同设计方法的潜在的商业价值。

为了说明这个问题,我们研究了三种可能的DNN应用,包括风格迁移(style transfer),DNN上色(coloring),以及超分辨率(提高分辨率,super resolution)。风格迁移的模型是基于在微软COCO数据集上训练的生成型网络,可以实现视频流的实时风格迁移效果。DNN上色用Places scene数据集去训练一个可以同时抽取与融合全局和局部特征的模型,来实现将一个黑白视频流实时地转化为彩色视频流的功能。

超分辨率模型主要利用在DIV2K数据集上训练的具有更宽激活层与线性低秩卷积的差分模块,实现将低分辨率的视频流实时转化为高分辨率的视频流的效果。

撬动移动端AI万亿美元市场? 华人学者新研究实现移动端神经网络180倍加速

来源:边缘计算社区

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月10日
下一篇 2020年4月10日

相关推荐