提升效率的神经网络模型出现了!

作者:Quenton Hall,赛灵思工业、视觉、医疗科学 AI 系统架构师

神经网络可以被归类为一组大致模仿人脑建模方式的算法,能够通过引入新数据来完成“学习”过程。因此,开发专用的“计算高效型”神经网络模型,会为机器学习带来诸多好处。

然而,如何才能确保模型的高效性,关键点之一是在实现推断加速器(广义的硬件加速器)时应采用何种方式访问存储器,特别是要考虑如何将权重和中间激活值一起储存。几项关键考量包括:

时延

对 L1、L2 和 L3 存储器的访问表现出相对较低的时延。如果与下一个图形运算有关的权重和激活值被缓存起来,那么我们就能保持合理水平的效率。然而,如果我们要从外部 DDR 提取数据,就会发生流水线停顿,进而影响时延和效率。

功耗

访问外部存储器的能耗至少比访问内部存储器大一个数量级。

计算饱和

一般而言,应用要么受计算限制,要么受存储器限制。这可能会影响给定推断范式中可实现的 GOP/TOP,而且在某些情况下,这种影响不可小视。如果被部署的具体网络的实际性能是 1 TOP,那么使用能达到 10 TOP 峰值性能的推断引擎价值就不大。

What's more?

更进一步,考虑到访问现代赛灵思器件里的内部 SRAM(熟悉赛灵思 SoC 的人也称其为 BRAM 或 UltraRAM),其能耗大约在几微微焦耳,与访问外部 DRAM 的能耗相比,低大约两个数量级。

过去几年里已有多种方法投入使用并获得不同程度的成功,相关的架构选择带来的影响十分显著。本文将以 TPUv1 架构为例,详细阐述如何运用专门构建的神经网络模型,进一步提升机器学习推断的效率。

阅读完整文章敬请扫描下方二维码

最新文章

最新文章