芯片制造商英特尔与英伟达(NVIDIA)、AMD等竞争对手以及一些采取ARM技能的竞争对手之间的激烈竞争,使得启动级芯片进入AI打算市场。
如今,环球有不少于100家AI芯片初创公司,有重塑可编程逻辑和多核设计的,有开拓全新架构的,也有利用神经形态架构等未来技能的,等等。
巨额的风险资金已经投入到这个市场中以支持这些创业公司,也加剧了紧张芯片制造商之间的竞争。

人们彷佛已经达成了某种共识,那些在边缘设备与物联网设备上实现了真正智能的公司将定义打算的未来,并且认为硬件才是真正制约移动AI发展的紧张成分。
然而,纵然有大量的资金注入,目前的成效依然不尽如人意,由于我们尚未看到任何边缘AI加速设备的大规模支配。
这让我们不禁思考:硬件加速器是办理当前边缘AI困境的唯一路子吗?事实并非如此。
深度学习运用的软件优化潜力仍未得到充分发掘,一旦找到精确的优化办法,就可以立即在现有数十亿个边缘设备上实现深度学习运用的实时化,从而开释一个万亿美元的市场。
而利用有效的“压缩-编译”协同设计优化便是办理方案之一。

AI模型压缩

模型压缩是降落深度学习模型的大小并提高其速率的常用技能。
压缩技能分为量化和剪枝两类。
量化技能通过降落权重和中间打算结果的精度(例如浮点数到短整数)达到降落存储和加速运算的目的。
剪枝技能通过删除模型中的冗余权重来降落模型大小和所需的打算量,常日可分为非构造化剪枝和构造化剪枝两类。

非构造化剪枝许可删除任意位置的权重,并常日可以达到较高的修剪率(即减少更多的权重)。
但是,对付编译器和代码优化,由于打算和内存访问的不规则性,非构造化剪枝会带来一些寻衅。
同样,对付硬件加速,由于修剪后的模型须要以带有索引的稀疏矩阵格式存储,因此它们常日会导致GPU和CPU的运算性能低落。

AI模型的压缩与编译折衷设计磋商

神经网络的(a)非构造化剪枝;(b)构造化剪枝

构造化剪枝可以产生规则的小权重矩阵。
上图展示了两种代表性的构造化剪枝方案,分别为滤波器剪枝和通道剪枝。
由于其构造规则,并且可以与Wino-grad算法兼容,在利用GPU/CPU运算时常日可以得到较明显的加速效果,但也会导致一些模型精度的降落。

AI模型编译

编译是指从给定的深度学习模型天生可实行代码的过程。
实质上,编译是将深度学习中的高等操作映射到根本硬件支持的低级指令的过程。
编译过程在优化代码以有效实行中起着关键浸染。

压缩-编译协同设计

压缩和编译是在硬件上拟合深度学习模型以实现有效实行的两个关键步骤。
压缩-编译协同设计的事理因此手拉手的办法设计深度学习模型的压缩及其可实行代码的编译。
这种协同方法可以有效地优化深度学习模型的大小和速率,还可以大大缩短压缩过程的调度韶光,进而缩短AI产品的开拓周期与上市的韶光。
压缩-编译协同设计的浸染紧张表示在三个层次上:

需求/偏好级别:在此级别上,协同浸染是在设计一个组件时考虑另一个组件的偏好或需求。
例如,主流处理器常日更喜好具有某些打算模式(pattern)的代码,如果模型压缩步骤可以考虑该偏好,则可以创建一个可修正的方案,以使编译步骤有效地事情。

视角/内涵级别:在此级别上,协同浸染是在处理个中一个组件的问题时采纳另一个组件对该问题的视角或内涵。
例如,可组合性或模块化原则在保持编程系统和编译高效且可扩展方面一贯发挥着至关主要的浸染。

方法论级别:在此级别上,协同浸染是将两个组件的方法论紧密集成在一起。
例如,通过自动天生代码以启用新的深度学习剪枝方案的编译器框架,可以产生高达180倍的加速。