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


上市时间:特殊硬件通常需要数年才能上市 。 为新开发的硬件加速器创建关联的编译器和系统软件会进一步延长该过程 。 使用此类硬件的应用程序经常需要使用特殊的API并满足许多特殊的约束(例如 , 将计算限制到特定大小) , 这会延长AI产品的上市时间 。
成本:开发专用的ASIC处理器非常昂贵 , 将它们添加到现有系统中会产生额外的费用 。
技术成熟度:与通用处理器不同 , 专用硬件的生产量要小得多;因此 , 其生产可用的技术通常比通用处理器落后几代 。 例如 , 大多数AI加速器都基于28至65nm CMOS技术 , 其晶体管密度比最新的移动CPU或GPU低10倍以上 。
速度:由于采用了旧技术 , 专用处理器的运行速度比通用处理器要慢得多 。
生态系统:通用处理器具有完善的生态系统(调试工具 , 优化工具 , 安全措施) , 这使得高质量应用程序的开发比使用特殊处理器要容易得多 。
使用:由于上述所有原因 , 使用特殊处理器通常仅限于创建该处理器的公司及其很少的密切客户 。 结果 , 为特殊处理器开发的AI应用程序仅可以被有限数量的设备所采用 。
将完全改变AI边缘计算的格局:压缩编译协同设计软件算法方案
在本节中 , 我们介绍了压缩编译协同设计软件算法方案的细节 , 我们相信这将完全改变AI边缘计算的格局 。 压缩和编译是在硬件上拟合深度学习模型以实现有效执行的两个关键步骤 。
模型压缩是减少深度学习模型的大小并提高其速度的常用技术 。 压缩技术分为两类 , 剪枝(pruning)和量化(quantization) 。 剪枝会删除层或层中的输出(filter)或输入(channel)通道 , 而量化会降低参数的精度(例如 , 浮点数到短整数) 。 编译是指从给定的深度学习模型生成可执行代码的过程 。 本质上 , 编译是将深度学习中的高级操作映射到基础硬件支持的低级指令的过程 。 编译过程在优化代码以有效执行中起着关键作用 。
压缩编译协同设计的原理是同时完成压缩与编译两个组件的设计 , 并且此协同作用体现在三个层次上 。
需求/偏好级别:在此级别上 , 协同作用是在设计另一个组件时考虑一个组件的偏好或需求 。 一个例子是 , 主流处理器通常更喜欢具有某些计算模式(pattern)的代码 。 如果模型压缩步骤可以考虑该首选项 , 则可以创建一个更可修改的方案 , 以使得编译步骤有效地工作 。
视角/内涵级别:在此级别上 , 协同作用是在处理其中一个组件的问题时采取另一个组件对该问题的视角或内涵 。 一个例子就是可组合性或模块化原则 , 这个原则在保持编程系统和编译高效且可扩展方面一直发挥着至关重要的作用 。
方法论级别:在此级别上 , 协同作用是将两个组件的方法论紧密集成在一起 。 例如 , 通过自动生成代码以启用新的深度学习剪枝方案的编译器框架 , 我们可以产生高达180倍的加速 。
硬件如何撬动移动端AI万亿美元市场? 华人学者新研究实现移动端神经网络180倍加速
图片

具体来说 , 我们在上图中提供了压缩编译协同设计架构 , 该架构包含以下组件:
模式化(pattern)的训练阶段可以执行有效的卷积核模式剪枝(kernel pattern pruning)和连通性剪枝(connectivity pruning) , 以便在不损失准确性的情况下实现最高的剪枝(加速)倍率 。

移动端实时上色
首先 , 我们设计了一套卷积核模式(kernel pattern)来为每个内核选择 。 然后 , 我们使用扩展的基于ADMM(交替方向乘子算法)的算法 , 根据设计的卷积核模式集和连通性剪枝方案执行模式化剪枝 。
细粒度的DNN分层表示(LR)提供了高级别的表示方法 , 使我们能够从各种资源对DNN模型进行常规优化 。 特别地 , LR包括模式(pattern)和调谐(tuning)相关信息 。 编译器的优化依赖于LR的一系列改进 , 以生成紧凑模型和优化过的执行代码 。


推荐阅读