资讯 芯片
此为临时链接,仅用于文章预览,将在时失效

为什么AI加速芯片还很少获得有意义的采用?

作者:包永刚
2019/10/31 18:52

雷锋网按,目前市场上已经有许多初创公司都提供了AI加速器,然后得到大规模应用的非常少,这其中算法的迁移、初创公司能否提供开发套件都是很关键的原因,另外,供应商和芯片公司之间深层次的理解差异也是造成芯片规模没有获得大规模采用的原因。Codeplay的Andrew Richards给出了自己的见解。

对于AI芯片初创公司来说,将重点放在芯片的峰值性能以及Benchmark(基准性能测试)上,可能会吸引那些在寻找深度学习训练或推理硬件的人。不过,开发人员可能会遇到数周甚至数月开发的程序,无法高效地运行,甚至遇上根本无法在新设备上运行的情况。这并不令人意外,因为将算法移植到芯片上超越了编译器的能力。

这并不是缺乏工具、时间或资源这些常见的问题,而是有一些深层次的原因,包括AI芯片的设计方式,开发人员如何尝试新架构,以及如何生产都存在一些基础漏洞。

Codeplay的Andrew Richards解开了一些长久以来的疑惑,以及解答了为什么很少有AI加速器获得有意义的采用的原因。

让我们从关于这种意识形态,技术上的不匹配的一些观察开始。而且它扎根于大多数著名的AI加速器公司。

几乎所有AI芯片初创公司的团队都来自DSP和嵌入式设备领域(比如,Graphcore的首席执行官曾任职于PicoChip和XMOS;Wave Computing的团队主要也是做嵌入式系统)。从工作负载或者市场的角度来看(尤其是对推理而言),这几乎是完美的专业知识,但对于AI加速芯片,这是一种全新的计算思维方式。在DSP中,几乎所有信号处理都在设备上进行,设计也专门围绕它进行,主控CPU只是在不进行复杂控制的时候打开或关闭。

Richards说:“对于这些AI硬件供应商而言,雇用看起来能解决所有问题的人会有用得多。” 他指出,HPC社区聚集了大量人才,因为他们花了多年的时间让大型超级计算机使用GPU执行复杂、大规模并行的应用程序,这些应用程序通常具有非常独特的软件环境。

简而言之,他们从开发人员的角度了解了工作负载的分配及其含义,将合适的工作负载转移到合适的设备上并非易事,并且可能需要一年甚至更长的时间才能在新的体系结构上建立工作负载。游戏领域的开发人员也是如此,他们是第一个为GPU上的游戏解决卸载问题的人。

这把我们带到了第二个关键点,要进行验证、测试到AI芯片最终投入生产时,已经过去了一年的时间。为此,芯片初创公司需要强大的商业模式来实现目标。因为开发人员可能会创建一个新的体系结构,这意味着他们必须提供devkit(开发套件)和Demo硬件。这是嵌入式背景的员工无法为AI加速器初创公司服务的另一个领域。

Richards说,GPU这么快起步的原因之一是因为Nvidia能够提供芯片,然后让开发者们围绕它开发自己的程序。随着时间的推移,Nvidia所做的令人难以置信的工作是,为几乎所有可以通过GPU加速的工作负载开发了一个丰富的生态系统,使开发人员更容易移植自己的代码。

让开发人者只购买一两个或四个芯片是理想的选择,但这无法成为初创公司的业务模式,这不适用于昂贵的加速器。因此,这是一个先有鸡还是先有蛋的问题。

“如果你是AI软件开发人员,那么你的工作就是尝试。而且,当你这样做时,你将购买少量的芯片用于开发。现在,AI芯片公司创立不是只为销售一两个芯片。对于AI初创公司而言,做到这一点非常困难,这需要通过分销的模式才能只能销售一个处理器。”

如果开发者无法拥有devkit和测试设备,即使是他们团队中最具架构意识的硬件人员,也可能无法让应用程序在硬件上运行。同时,如果没有时间进行测试,开发周期可能需要一年甚至更长的时间。

所有这些都意味着,对于开发人员而言,使用GPU 和CPU以外的任何东西都将是一件很难的事。

“这是一个快速发展的领域,开发人员需要能够自己编写软件以及运行现有框架。对于开发人员来说,使用TensorFlow或PyTorch并进行修改是很常见的,尝试新的东西也是很常见的。当软件开发商考虑尝试不同的方法时,他们已经知道可以在Nvidia GPU或Intel CPU开箱即用地运行PyTorch或TensorFlow,AI初创公司也可能这么说,但情况可能并非如此。” Richards说。

“在许多情况下,AI硬件公司的软件人员会假设API函数在CPU上运行,并异步卸载到其加速器。但是硬件供应商假定软件API功能在其处理器上运行,这是完全不同的思维方式。他补充说,他与一些AI芯片供应商合作,讨论他们为AI软件人员提供接口方式,发现了这些深层次的分歧。

“关于AI芯片人们需要记住的最重要的事情之一是,尽管他们认为自己在出售处理器,但该芯片必须与具有CPU主机的系统配合。还需记住的是,最终的Benchmark与单个芯片的数据关系不太大,因为它只是系统的一部分。”

考虑到所有这些, Richards允许我们使用下面的图表来展示所有遗漏的部分。至少可以说,如果你要使用AI加速器,需要深思。

为什么AI加速芯片还很少获得有意义的采用?

Richards说,如果你是这个领域的硬件供应商,那么每个项目都会带来一个棘手的问题。除了漫长的开发时间之外,他们必须在板上投入一个芯片,并等待一年的时间才能知道是否成功,“任何AI处理器供应商还必须说他们的第一个版本只是一个devkit,其产品是会下一个版本将投入生产。从他们的角度来看,这很艰难的,甚至不可能成为商业模式。”

Richards在他分享的第二张图表中告诉我们,AI芯片的市场多样化且不断扩大。如果从AI芯片初创公司的业务模型角度考虑这一点,这将令人大开眼界。

为什么AI加速芯片还很少获得有意义的采用?

Richards说,许多开发人员将在上述三个部分中购买演示机。但是之后他们所做的工作却完全不同,并决定了AI加速器的成败方案。请记住,AI开发人员想要的是编写自己的软件并使他们选择的工具与体系结构相结合的能力。而且,如果看图表最右边的大型数据中心,这一主张变得更加困难,尤其是在超级计算站点或超大规模数据中心中,自定义代码或旧代码至关重要。

许多AI软件开发人员都有HPC或者游戏的背景,他们固有地理解,对延迟敏感的任务应该在CPU上运行,而对计算敏感的任务会给加速器。因此,Richards总结说,真正重要的是整个系统。

实际情况是,很多重点都放在Benchmark的单芯片性能上,因此很明显,除软件人员外,其他所有人都忘记了用于AI的数据中心设备中的每一个都是系统中的一个部分。

雷锋网编译,via The NextPlatform 雷锋网

相关文章:

这群清华学霸创业一年,就凭借Sticker AI芯片创造了数千万销售额!

能效比提高10倍且应用迁移仅需1-2周 天数智芯的AI芯片将改变什么?

长按图片保存图片,分享给好友或朋友圈

为什么AI加速芯片还很少获得有意义的采用?

扫码查看文章

正在生成分享图...

取消
相关文章