唐杉作者StarryHeavensAbove来源

AI芯片与相关产业 • 观察和展望

我最近受邀在ASPDAC会议上做了一个报告,介绍了一下我对AI芯片和相关产业的观察和对未来的一点点猜测,在这里整理了一下分享给大家。

两年多以前,我在github上开始了一个业余项目:AI Chip (ICs and IPs),主要是用于记录AI芯片领域的公司和重要事件。随着时间的推移,这个列表不断的增长。后来我做了这个AI芯片全景图,作为AI芯片列表的一个可视化总结,得到很多关注和传播。这个图不仅仅是一个Logo的集合,如果我们仔细观察,可以发现很多有趣的现象。

第一个最重要的趋势是很多非传统芯片玩家进入芯片设计,特别是AI芯片领域,并且表现很好。Google 2017年公布TPU可以看作AI芯片爆发的关键点。AWS已经在实际业务里部署了多款自研芯片,不仅是AI。特斯拉也自己研发了FSD芯片,用于加速自动驾驶算法,取得了相当好的效果。其它中美科技巨头虽然路径各有不同,也都有自研定制芯片或FPGA的动作。这些新的玩家有很多优势,有大量需求,最熟悉业务和芯片部署场景,有丰富的资源;有非常丰富的系统经验,技术上可以从系统角度进行优化,可能减轻芯片本身的负担,等等。他们的成功也带动了更多之前不做芯片的公司开始考虑和动手自研芯片。但是,有的非传统玩家也有一个问题,即对芯片设计,开发和生产的规律不熟悉,往往低估芯片研发的投入而做出盲从但并不经济的选择;或者低估过程的艰辛,以软件和互联网产业的KPI来要求芯片研发,这些都可能最终导致烂尾工程。而对于传统芯片厂商来说,如何适应这个趋势也是很大挑战。不管怎样,自研定制的趋势已经逐渐形成,这对整个芯片产业和产业中所有从业人员都会产生深远的影响。

第二个大家都看得到的现象就是大量的AI芯片初创企业。在我的AI芯片列表中有大约70家左右,还有很多是没有公开或者我不知道的。这种初创企业大量出现的情况在半导体产业应该是前所未有的。所以大家问的最多的问题就是“最后谁能生存下来?”老实说,我不知道答案。但我们看到,Habana刚刚被Intel以20亿美金收购。希望大家都能和他们一样幸运吧。

如果我们仔细观察AI芯片初创公司的发展,我们可以看到他们面临的最大挑战往往不在硬件而是在软件,能够在芯片硬件投片成功后快速实现相应的软件工具的凤毛麟角。这里面有几方面的原因,第一的是这些公司的芯片架构比较特殊,开发相应的编译工具和优化库的工作量不小。而有的公司为了保证投片的时间,降低硬件研发的难度和风险,往往选择最大程度简化硬件的编程性和灵活性,导致最后编程的困难。即便能够做到比较好的软硬件平衡,提供一套完整好用的软件工具链和开发环境本身就是很大的挑战,也是现在大家很难对Nvidia形成威胁的原因。一个好消息是现在大家对机器学习编译器的重视程度普遍提高,在开源社区也有一些不错的编译器项目在积极推进,比如TVM,MLIR,GLOW等等。这些项目都希望能够给大家提供一个好的编译器框架,支持多个层次的IR,从而可以比较方便在不同层次进行优化。在我看来,ML Compiler相比传统编译器来说可能玩出新的花样,比如实现软硬件的协同设计,静态优化和Autotuner的结合,等等。大家可以多关注这方面的工作。

另一个比较活跃的领域是基准测试Benchmark。和传统的处理器的基准测试一样,AI芯片的Benchmark是让所有设计者能够对目标应用和workload有清楚和统一的认识的关键。但AI芯片的Benchmark设计和部署有相当的难度。目前我们还需要用多个神经网络模型来覆盖不同的应用,同时还需要对不同场景的支持;而各种AI芯片架构和软件栈的成熟程度差异很大,即便让Benchmark跑出结果都要消耗很多精力。如之前Cerebras就明确说,他们宁愿把时间花在对客户应用的优化上,而不会为了取得一个漂亮的Benchmark结果上花一点时间。目前这方面的工作中,MLPerf应该是最扎实的一个,但即使是MLPerf,要想成为大家公认的标准也还有很多问题要解决。

总的来说,AI芯片对于整个芯片产业也起到了一个巨大的推动作用。相关的EDA工具,IP,设计服务,Foundry等等部门都有针对AI芯片的需求改进和发展。而在一些相关的基础技术上,比如新型存储,封装技术,片上网络,片间互联等等,我们都看到技术加速进步现象。

具体到芯片架构,从2016年开始,我们就看到了很多非常有趣的设计。Google的TPU是基于脉动阵列;Nvidia在GPU中加入了Tensor core;Habana采用VLIW/SIMD加GEMM Engine的架构,虽然中规中矩,但取得了很好的效果;Graphcore实现了一个由上千个核组成的多核架构,并且集成了300MB的片上存储;而Cerebras的Wafer Scale Engine可以说是一个工程奇迹。此外我们还在谈论和期待更多的可能性,CGRA/SDH(软件定义硬件),类脑,存内计算,光计算,图处理器等等,真的是“Golden Age of Computer Architecture”。

这些架构中有很多并不是新的发明,在几十年前刚出现的时候也并不成功,在今天重新焕发青春完全是因为应用需求发生的变化。如果我们看看AI芯片外的更大的背景,我们今天要处理的workload在近十年发生了巨大的变化,已经从以处理(processing)为核心的通用计算变为以数据为核心的领域专用计算。因此,我们必须,也有机会重新思考整个计算系统的设计(参考下图)。比如目前很多的尝试就是把运算放到更合理的地方,比如数据产生和存储的地方,而不是统一用“距离遥远”的CPU进行处理。

计算系统的功能描述和分层抽象

在这种re-thinkre-design的过程中,巨大的挑战(机会)是跨越边界(包括功能模块的边界和抽象层次的边界)的优化和全栈的实现。相信,能够解决相应问题的设计,工具和方法学都有很多机会

上述很多内容在之前的文章中有更详细的讨论,感兴趣的话,大家不妨翻翻历史文章,也欢迎大家转发和传播。

产业AI芯片
相关数据
AWS机构

亚马逊网络服务系统(英语:Amazon Web Services,缩写为AWS),由亚马逊公司所创建的云计算平台,提供许多远程Web服务。Amazon EC2与Amazon S3都架构在这个平台上。在2002年7月首次公开运作,提供其他网站及客户端(client-side)的服务。截至2007年7月,亚马逊公司宣称已经有330,000名开发者,曾经登录过这项服务。

相关技术
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

Graphcore机构

Graphcore 成立于 2016 年,该公司正在开发一种新型处理器——IPU(intelligent processing unit /智能处理器),可以用来帮助加速机器智能产品和服务的开发。除此之外,该公司还开发了一套可以帮助用户无缝使用 TensorFlow 和 MXNet 等机器学习框架的接口,并为此提供了一个包含工具、驱动和应用库的开源软件框架 Poplar。 其总部位于英国布里斯托,两位联合创始人 CEO Nigel Toon、CTO Simons Knowles 此前还共同创立过市值 4.35 亿美金的 3G 蜂窝芯片公司 Icera,后卖给英伟达。所以在 Graphcore 的创立过程中,Toon 尤其强调其独立性,为避免多轮融资股份被过度稀释,还特意找来了知名投行高盛作为顾问。 与一般的新锐公司不同,Graphcore 自创立之初就底气十足。他们自称,在人工智能学习的反应速度以及低能耗方面,其开发的产品要比目前市场上所有的图像处理解决方案好 10 到 100 倍。CEO NigelToon 曾在采访中提到,希望 Graphcore 能够上市,做到英国最领先的芯片制造商。

相关技术
推荐文章
暂无评论
暂无评论~