新智元报道 来源:nextplatform.com 编译:大明 【新智元导读】ARM发布第一代面向AI和机器学习的处理器,架构名为“Trillium”,吸收了从硬件、数据压缩和编译器方面最成功的创新中的优点,其实是一款兼采众家之长的“聚合体”。ARM表示,该处理器舍弃了高速缓存,兼具英伟达TensorCore的功能、FPGA的可编程性,以及DSP的低功耗处理能力。
在过去的几年中,有几家芯片创业公司一直致力于寻找新的方法来有效地训练和执行神经网络,但在现有技术和理念的基础上,其实真的必要从头做起吗?
本周,在一年一度的Hot Chips会议上,ARM展示了其第一代机器学习处理器,预计今年晚些时候,ARM的合作伙伴就可以使用其IP。
兼采众长,ARM“拼”出世界最好的AI处理器
该处理器架构名为“Trillium”,是由一些我们并不陌生的元素与ARM的逻辑核心捆绑而来的,对于那些需要Nvidia Volta GPU的TensorCore功能的人来说,ARM这款处理器可能意义重大,比如DeePhi神经网络压缩技术(现在是Xilinx的一部分)、FPGA的可编程性,以及DSP的低功耗处理能力。
换句话说,ARM可能刚刚“拼凑”出了世界上最好的AI处理器,这对于那些在大型通用设备上放置大量额外空间的芯片制造商来说,可能会带来很大的麻烦。
ARM的技术总监Ian Bratt本周在Hot Chips上表示,ARM首次涉足AI处理器的设计目标是尽可能的推广,以便能够满足服务器端AI的市场需求,并将自家AI处理器更多用于汽车和具有物联网需求的小型设备上。
Bratt表示:
“在研发第一代机器学习处理器的过程中,我们初期出现了一些失误,将旧框架套用在新问题上。我们知道GPU、CPU和DSP是如何用于机器学习上的,但我们开始研究如何能够清晰地利用每一项技术。我们可以利用CPU的技术处理控制和可编程性问题,用GPU的技术解决数据压缩、数据移动和计算密度等问题,这些都可以提高DSP的效率和开源软件的开发。”
如下图所示,ARM的机器学习架构并没有什么特别之处,但值得注意的是,该架构吸收了从硬件、压缩和编译器方面最成功的创新中的优点。
搭建架构的模块是计算引擎,每块为64 KB的SRAM片,共16块。 MAC引擎(与英伟达的TensorCore不同)是执行卷积化的地方,可编程层引擎负责处理网络各层之间的大部分必要的shuffling。该架构具有DMA引擎,用于与外部存储器接口进行通信。 ARM自己的Cortex技术负责的引擎控制。
不再需要缓存,控制流程大大简化
对于一家以创新为基础公司而言,ARM正在走一条自己的独特道路。公司首次涉足人工智能芯片,芯片的组件都是大家并不陌生的,ARM在用于神经网络的点积(dot product)引擎上做出了一些关键性创新,提升了执行效率、降低了网络噪音。
我们很可能忽略的一个要素是,静态调度(static scheduling)的价值,这是影响芯片整体性能和效率的关键部分。
存储器的访问模式完全是可静态分析的,并且很容易理解和映射,但是许多设备没有利用这一点。 CPU具有复杂的高速缓存层次结构,可以用于非确定性存储器访问进行优化,但对于确定性的神经网络,可以提前将所有内容放在内存中。然后,编译器为不同的组件生成命令流(由ARM控制处理器进行编配),到达寄存器以控制这些组件。
简而言之就是:不需要缓存。此外还有一个好处是流量控制流程被大大简化,可以进一步降低能耗,提升处理器性能的可预测性。
处理卷积化的方式可以进一步提高效率。下图中的SRAM突出了编译器是如何为输入特征映射和压缩模型分配部分资源的。每个计算引擎都将使用跨越不同计算引擎的不同特征映射。
ARM的MAC引擎可以做8个16×16点积。我们已经讨论了这一点的重要性,但是在这些操作中有很多零,可以在MAC引擎中进行检测和调整,以避免浪费更多的能量。
ARM芯片还具备可编程层引擎,旨在通过可编程性“预见”处理器的。它使用Cortex CPU技术来支持非卷积运算符,以及向量和神经网络扩展。
使用机器学习处理器特征映射压缩技术可以获得更高的效率,这些技术听起来和DeePhi在CNN压缩上的作用类似。
打造通用平台,实现机器学习与现有流程的整合
Bratt表示,目前ARM的机器学习业务部门拥有150名员工,随着对机器学习需求的不断增长,这一数字也会不断增加,并将机器学习整合到新的和现有的工作流程和配置中。他表示,我们的目标是让这项工作横跨一系列细分市场,但是要为一类用户提供一个具备其所需全部功能的通用平台并不简单。
不用高速缓存、精简压缩流程、使用混合精度算法,并与精简化的SRAM片上计算相结合,将其移植到密集的点积引擎上,这些都使得ARM的芯片IP成为市场上的一个引人注目的焦点,而且可以针对关键的工作负载做进一步的细化。
与某些AI专用处理器相比,ARM处理器增加了高带宽内存(HMC)可能使其更容易识别,但是需要授权用户了解这些组件系统中协同工作的方式。 ARM工程师真正从生态系统中汲取了最佳的AI处理器技术,并使用开源软件挂钩,可能大幅扩大授权许可范围。
上图所示为Inception V3上的8X8块,突出表示了通过零/非零滤波方法实施的无损压缩结果,显著降低了神经网络的规模。压缩结果保留在内部SRAM中,并且在SRAM中保留了网络修剪技术,以便在需要时使用。
对这类技术进行授权时的选择并不多,同时ARM也要确定,在现有的神经网络处理器中有哪些最成功的、值得汲取的技术和组件。
参考链接: https://www.nextplatform.com/2018/08/22/arm-stands-on-shoulders-of-giants-with-first-generation-ai-processor/
|