如果要为最近这波芯片潮找一个先驱,AI芯片当之无愧。
因为看到了GPU从人工智能上找到的巨大机遇,广大深度学习关注者便开始探索DSA在人工智能应用上的落地尝试。但在历经过去多年的试水,不少从业人员会发现,AI在落地方面面临着比他们预想中更难、更多的挑战。
在本文中,我们与一个从2016年就开始做AI芯片的行业老兵李丰(化名)进行了一番交流,在此过程中,他从一个行业深度参与者,分享了他对行业现状和未来的看法。
AI芯片市场现状
华尔街日报在今年三月份的报道中指出,根据市场研究公司 PitchBook Data Inc 的数据,人工智能芯片初创公司在2021年通过 170 笔交易获得了约 99 亿美元的风险投资,这个数字是AI 芯片初创公司在2020年获得的总资金的三倍多。报道表示,这些融资的公司所从事的领域涵盖了AI 芯片,旨在优化人工智能和机器学习模型的智能传感器、设备以及算法。
知名市场分析机构Gartner也表示,全球有 50 多家公司正在专门为 AI 制造芯片。而预计今年用于执行人工智能任务的芯片销售额将达到 443 亿美元,到 2025 年将达到 768 亿美元。IDC计算半导体研究副总裁 Shane Rau则直言,目前,大多数 AI 芯片初创公司都依靠投资者的资本而不是销售额来运营,因此不受更广泛的市场力量的影响。
综合上述分析可以看到,如文章开头所说,大多数AI芯片公司可能还处于产业发展的混沌期。观察市场上的AI应用,可能大家能看到被广泛应用的场景就是智慧安防。但在很多其他领域,大家也许希望能够看到AI能够快速下沉放量,然而却感觉事与愿违。
在问到AI芯片热潮缘由的时候,李丰以一个例子来说明其背后产生的驱动力之一。他指出,在深度学习早期的端侧加速方案中,有很多SIMD DSP的案例,比如来自多家公司集成CEVA XM4/XM6的多款芯片,其中XM4/XM6正是典型的SIMD DSP。但是DSP的特点决定了它可以做万金油,但用在特定领域时又发现不是最合适,所以很快市场上就出现了专用的AI加速芯片。
放大来看,这也是整个AI芯片产业蓬勃发展的一个典型范例。
然而,李丰表示,在关注度大增的AI市场,过去几年还出现了一些乱象,其中典型的现象比如“实际算力与纸面算力不符”,而背后的原因正是上面谈到的运算单元实际利用率的问题。在他看来,这种现象在市场上比比皆是。
“AI芯片市场的现状更多来自落地问题,特别是在端侧落地,端侧应用比较碎片化,需要根据场景定制AI模型,而训练模型需要大数据,此时大数据的获取就成了问题”,李丰接着说。他同时指出,如果说在山寨手机时代,芯片原厂还可以去做“turnkey”方案,那么到了AI时代,芯片原厂有心无力,关键是芯片原厂也没有办法获取数据,同时开发者社区和方案公司都面临这个问题,导致了整个AI应用开发的活跃程度其实并不算高。
“你看到的AI应用更多是围绕图像处理,也就是用AI去补充ISP功能,不否认AI对图像处理有帮助,但并不是通常意义的机器视觉应用。”李丰强调。
AI芯片难在哪里
也许不少人和李丰一样,在入局AI芯片的时候低估了其难度。作为一个钻研这个行业多年的老兵,李丰也总结了几点他在过去几年对AI芯片的一些看法以及他认为的一些挑战。
李丰首先指出,AI属于运算密集型应用,并行计算量很大,因此数据在运算单元和存储单元之间的传输非常频繁,数据的流动是产生功耗的主要原因。“因此AI芯片的一个重要指标是能耗效率(energy efficiency), SIMD DSP之所以被替代的一个重要原因是这个指标不够好(另一个原因在于SIMD的并行度依然不够高)。”李丰接着说。
他告诉记者,这个指标的影响因素之一是访存(memory access),因此这些年产学界的大部分研究成果就是围绕这件事,并总结出AI芯片的三条设计原则:1,存储层次化(memory hierarchy); 2,数据复用(data reuse); 3,片上互连(interconnect)。这三条原则必须同时使用才能达到降低访存的效果,其中选择不同的数据复用算法又会有不同的微架构。
“总体而言,AI芯片的硬件架构比较单纯,像谷歌的TPU只有五条指令,其中两条指令是访存,另外三条运算指令。可见,AI芯片硬件设计的重点在于如何在提高计算并行度的同时最大程度降低访存,从而达到提高能耗效率的目标。”李丰告诉记者。
此外,AI芯片的难点更多在于软件部分,即配套的工具链,这其中两个工具很重要:一个是编译器,另一个是量化工具。
首先看编译器方面。还是以英伟达为例。读者就算没用过也应该都知道,英伟达GPU之所以能够在AI市场所向披靡,除了得益于其领先的性能外,芯片巨头花重金打造的CUDA生态也是不可或缺的重要一环。
按照东吴证券的报告,GPU 的微架构天生适合矩阵类并行计算,其能力不仅限于显卡领域,于是从 21 世纪早期就有专业的计算人员想要使用 GPU 做一些 AI 领域相关的并行计算。但在 CUDA 问世之前,想要调用 GPU 的计算能力必须编写大量的底层语言代码,这是主要使用高级语言为主的程序员不折不扣的噩梦。有见及此,英伟达公司的 David Kirk主导推出了 CUDA (Compute Unified Device Architecture,统一计算架构)系统,这是是一个基于英伟达 GPU 平台上面定制的特殊计算体系/算法,一般只能在英伟达的 GPU 系统上使用。
英伟达这个在一开始不被看好的项目,现在成为了公司最坚实的堡垒。过去几年的一些AI芯片和GPGPU创业者,在发布产品的时候,也大多谈到了与CUDA的兼容,这足以证明一个好的编译器的价值。而根据英伟达在GTC 2022上公布的数据,CUDA 平台自 2008 推出以来已经下载了 3300 万次以上,仅在 2021 年就有 800 万次下载,三年内增长了 3 倍。
李丰也指出,编译器虽然不是新技术,但基于并行计算的编译器还并不算成熟,运算单元利用率很大程度上取决于编译器,或者说即使硬件层面实现了足够高的并行度,但由于编译器的原因导致实际能调用的运算单元达不到要求,从而体现在算力不够。
“另外,量化技术五花八门,多种流派并存,量化手段的多样性虽然给用户带来了多种选择,但似乎没有哪个流派最终胜出,这就给跨平台的开发和移植带来一些不便。”李丰告诉记者。
“总之,这两个工具是AI芯片的难点,能做好并不容易!”李丰强调。
AI芯片何去何从
虽然困难重重,但人工智能是大势所趋,AI芯片也是必然需求。对于相关从业者而言,需要考量的就是,未来的AI芯片会走向何方。
针对这个问题,李丰回应道,这很大程度依赖于AI算法的演进。他指出,当前CNN和transformer两种算法架构并存,单从硬件上看这是两种运算类型,前者是卷积运算,后者是矩阵乘法,对硬件设计要求不同。
“处理卷积运算时,专用硬件有发挥空间,或者说有创新机会;但处理矩阵乘法运算时,是否一定要用专用硬件都是未知数,因为通用处理器应对此类运算已经足够成熟。”李丰表示。
他同时重申,在数据中心(IDC)市场,GPU架构已经是事实标准,其他架构难以撼动,特别是专用硬件在云计算领域基本上没有机会。“在端侧市场,如果transformer最终胜出,那么不排除出现直接将算法硬件化的芯片,这与我们近年来提出了DSA(domain specific accelerator)概念也是相符的。”李丰接着说。
同时,李丰还谈到了近年来火热的存内计算概念在AI市场的机遇。
他指出,这些年比较火的存内计算和神经形态计算(neuromophic processing)都可以划归在模拟计算领域(analog computing)。其中,存内计算首先在AI领域出现源自三个原因:第一,访存问题,也即存储墙问题;第二,量化精度进入int8时代;第三,AI本质是近似计算。三者是存内计算在AI领域出现的条件。
“但是这里有一个问题就是,与模拟计算整体配套的软件开发环境并不成熟,换句话说虽然硬件上是模拟计算,或者非冯诺依曼架构,但软件还被迫与冯氏架构兼容,否则开发者无法使用,其实这是一个很严重的问题。”李丰告诉记者。“说的通俗一点,像存内计算或者神经形态计算这种模拟计算应该有属于自己的软件开发流程和方法学,但现在还没有,何时能有,并不清晰。”李丰解释说。
在李丰看来,在现在这个过渡时期,模拟计算或者存内计算优势比较有限,证据之一就是这类芯片中存在大量的ADC/DAC用于数模转换。但这些ADC/DAC对芯片整体指标的影响是显而易见的。
“这好比给苏炳添穿上紧身皮裤,那么从此再无9秒83。”李丰表示。