转自:StarryHeavensAbove  作者:唐杉

Hot Chips会议本周初召开,大量内容和Machine Learning相关。2017年,我第一次写文章介绍Hot Chips。当年可以说是AI芯片第一个高潮,我还专门配了这么一个图,看起来这张图放在今年仍然非常贴切。

对于今年会议的内容,已经有相当多的文章进行了讨论,我也不再重复。

这里我想探讨的是专用AI芯片的未来(也许是很远的未来)


作为参考,大家可以看看之前我写的Hot Chips的相关文章(时间由近至远):“除了史上最大芯片,Hot Chips还有哪些看点?”,“Hot Chips 30 - 巨头们亮“肌肉””,“Hot Chips 30 - 机器学习”,“Hot Chips 30,黄金时代的缩影”,“Hot (AI) Chips 2017”

2017年,Google TPU开启了AI芯片的热潮。4年过去了,大家对专用的AI芯片(区别于CPU/GPU,基于领域专用架构DSA的各种NPU)有过大量讨论,从最初的热捧,到出现批评的声音,应该说是越来越客观和理性。下面这个图,算是对AI Chip最犀利的吐槽(虽然后来Jim Keller也加入了一家AI芯片初创公司)。

 

大神在这里批评的主要是AI芯片的可编程性问题。其实可编程性不好并不是意料之外,毕竟DSA是针对某个领域的专用的设计(专用处理器设计),这里提升效率的优先级要高于灵活性(能支持不同应用)和可编程性(编程方便,软件栈自动化程度高)。这个一般的规律放在AI芯片上要修正一下,就是AI芯片虽然是专门设计用来加速神经网络的很有限的计算模式(比如基本的卷积核矩阵乘法),但神经网络本身的灵活性(不同模型参数实现不同的功能)很大程度上解决了灵活性的问题。这也是所谓Software 2.0的概念。

source: SambaNova @ Hot Chips33

但可编程性仍然是困扰AI芯片的重要难题,也是近几年AI/ML System领域研究和讨论的热点(参考“机器学习系统 • 提问”)。

这里想强调的是,“追求硬件极致性能”和“通过简单的编程就能很方便的获得极致性能”这两件事在一般情况下是无法兼得的。即使在相对通用,有良好编程接口和工具的CPU和GPU架构上,增加了SIMD和Tensorcore之后,高效编程的难度也大大提高。不用理解硬件细节就可以编程获得最高的利用率仍然是相当困难的事情。以下来自Graphcore的“Lessons”写的非常实在,反应了很多类似芯片遇到的问题。

source: Graphcore @ Hot Chips33

作为AI System的实践者,我们当然会更努力的在“极致性能”和“灵活易用”这两个目标间找到一个sweet point,这也是近几年大家在”专用“和”通用“之间不断平衡的原因。

我们之所以“纠结”于上面的tradeoff,是因为目前的AI应用中,二者的优先级不相上下,甚至大多数时候良好的可编程性是商业成功的关键。但是否存在这种可能:未来AI的需求会打破这种平衡,追求“极致性能”的专用设计才可能实现”更高“的目标?这是这次的Hot Chips中的几个talk给我带来的最大思考。

首先,很想和大家分享的是来自Dr. Dimitri Kusnezov (U.S. Department of Energy)的keynote,“Architectural challenges: AI Chips, Decision Support and High Performance Computing”。这个keynote可以说是高屋建瓴,非常推荐大家看看。这里我来简单总结一下要点。

DoE面临大量非常复杂的问题,能源,气候,安全等等,甚至是在福岛发生事故的时候是否要撤侨这种影响重大时间紧迫的问题。过去几十年,解决问题(包括Decisions and Discovery)的思路是传统的科学方法(从科学革命开始形成了我们目前的整个科技体系):”建模->仿真->预测“。相应的,传统的计算系统的架构也是真对这类问题而出现和发展,比如”冯诺依曼“架构最初试图解决的问题就是偏微分方程的求解,从此也开启了过去70年的科学计算系统的发展,而DoE也是最主要的推动者。

source: Dr. Dimitri Kusnezov @ Hot Chips33

当然,这里需要重点讨论的是未来。按我们讨论趋势的时候常看的两个方面,一是需求带来的挑战,二是技术进步带来的可能选项。先说后者,当然是AI/ML。即使我们简单的把AI/ML看成是高效的数据分析方法,它也可以在很大程度上解决目前的基于仿真的方法对于数据的”忽视“(”The historical approach cannot accommodate the volumes of both simulation data and experimental data.“- 来自上述keynote)。所以,实际上AI/ML方法已经在DoE要解决的问题中大量应用了。

source: Dr. Dimitri Kusnezov @ Hot Chips33

另一个角度当然是需求的挑战,各种更加复杂,影响更为深远的问题。

source: Dr. Dimitri Kusnezov @ Hot Chips33

综合起来,讨论最终回到Hot Chips更关注的内容,对芯片和系统的需求。

source: Dr. Dimitri Kusnezov @ Hot Chips33

Dr. Dimitri Kusnezov的keynote以及Q&A中,问题谈的多,但并没有给我们具体的答案。但他也多次强调,我们要解决这些复杂问题,需要的是超越人类能力极限的智能以及支持这样能力的系统。

我们还不知道如何实现这样的系统,但一些”超大“的神经网络模型应该算是目前看来最接近这个方向的尝试。而支持超大模型,正好是后面的”ML and Computation Platforms“ Session中几家AI芯片初创企业不约而同想要解决的问题,特别是Cerebras在这方面走的最远。

source: Cerebras @ Hot Chips33

这几天介绍Cerebras的文章也很多,我就不再赘述。上图是他们为了解决超大模型而做的系统,除了CS-2是基于WSE这种非常特殊的技术之外,专用的存储系统MemoryX和互联系统SwarmX也是很有特点,可以说是一个可以支撑巨型神经网络的DSA系统。虽然他们也强调编程的”简单“,但其实我觉得相对这个系统能提供的能力,这点已经不是很重要了(而且所谓的”简单“应该也是有很多限定条件的)。

那么,Cerebras这个系统是不是回答前面问题的答案呢?我不知道,或者说短期都还没办法验证。Dr. Dimitri Kusnezov的keynote里的这句话讲的是目前AI芯片的现状,”Today’s novel AI chips are a breath of fresh air and offer opportunities to depart from where we have been, but they focus, as one should expect, on near term market opportunities and specific application sets.“ 

但是,从目前对巨型模型的支持来看,使用传统架构很难达到Cerebras这样的规模,即使可能,也很难做到最优的效率。通过打破传统,重新设计的方式,实现远超人类能力的智能,应该是AI芯片承担的”更高“使命。至于是不是有商业价值,也许Tesla的Dojo可以作为一个佐证。

最后,说点题外话。我们再看一个更另类的系统:Anton(也在同一个session)。不了解背景的朋友可以搜索一下,背后的故事很有意思(励志)。D.E. Shaw Research投入大量时间和资源,建造这样的,全世界仅有一台,”只能“做分子动力学仿真的机器,并把它做到极致。即使不考虑Anton可能带来的重大科学发现,这种挑战技术极限的尝试也非常值得尊敬。我也非常期待国内能多一些像Cerebras或者Anton这样的挑战极限的努力。

source: D.E. Shaw Research @ Hot Chips33

内容中包含的图片若涉及版权问题,请及时与我们联系删除