作者:Quenton Hall, 赛灵思公司工业、视觉、医疗及科学市场的 AI 系统架构师
2014 年,斯坦福大学教授 Mark Horowitz 发表了一篇题目为“计算的能源问题(以及我们该怎么办)”的论文。这篇具有深远意义的论文,讨论了当前半导体行业所面临的最热门的、与登纳德缩放比例定律 (Dennard Scaling )和摩尔定律 (Moore’s Law) 失效相关的挑战。
如果可以的话,我想借用并改编一下 Mark 的论文标题,这样我就可以就机器学习推断应用为什么应该考虑专用硬件,分享一下我的一些观点。
首先,让我们考虑一下问题的症结所在。大约在 2005 年,处理器内核时钟频率的增长进入了瓶颈。缩小工艺尺寸和降低内核电压不再像以前一样能够为我们带来优势。其根本的问题,就是计算已经达到了功率密度(W/mm2)的极限。
如果我们在同一个裸片上放置更多的内核,我们就可以在相同的功耗预算下增加运算数量,但其前提是我们还还要在一定程度上降低时钟频率,以抵消额外内核所消耗的能量。AMD 和英特尔都是在 2005-2006 年期间发布了他们的首个双核处理器,这并不是巧合。然而,随着我们继续尝试增加内核的数量,我们必须考虑每个运算所消耗的能量和每个运算所需的芯片面积。此外,我们还需要确保我们能够通过 N 来有效地实现并行算法,其中 N 是内核的数量。对于所有的算法来说,这一问题的通用解决方案,或者说“计算饱和的灵丹妙药”仍然是一个难以捉摸的问题,现在最好的解决方法就是应用“自适应硬件”。
事实证明,无论您的处理器设计是使用多核 CPU、GPU 还是 SoC 实现的,在处理器级的总体功耗分布都将大致相同。所以假若我们估算出以下的情况便较为接近真实情况:
在上面的分析中,我们没有考虑的是还存在另外一个总体优化的方式,那就是专用硬件加速器优化的实现方式。我们可以对专用硬件进行优化以极高效地执行特定的功能。通常情况下,这种硬件是为了减少外部存储器访问而设计的,其同时减少了时延与功耗。我们可以对专用硬件进行优化,以便给定算法的数据运动部分使用本地化存储器 (BlockRAM、UltraRAM) 来进行中间结果的存储。
设计高效的加速器是多维度的设计问题:
自适应硬件的战略优势这里,我们将讨论和评估赛灵思的自适应硬件及 DNNDK 如何应对上述这些尖锐的问题和挑战,特别是当它涉及到机器学习推断时。在进行下一次设计之前,我建议您回顾一下 Mark 有关这个主题的精彩演讲,然后再考虑如何在您的下一次设计中使用自适应硬件来实现您的战略优势。
如果大家有兴趣,可以点播 “如何加速AI 摄像头开发”的在线研讨会,线上听取更多来自赛灵思公司工业、视觉、医疗及科学市场 AI 系统架构师 Quenton Hall 的分享。https://event.on24.com/wcc/r/2099987/0590AEFDCE940FE23F526E995EF8FA6E?partnerref=ism。