ASIC和GPU,谁才是AI计算的最优解?

2023-12-03 08:31:00

电子发烧友网报道(文/周凯扬)随着AI计算开始有着风头盖过通用计算开始,不少芯片厂商都将其视为下一轮技术革新。CPUGPUFPGAASIC纷纷投入到这轮AI革命中来,但斩获的战果却是有多有少。由于承载了绝大多数AI计算负载,GPU和ASIC成了市面上最炙手可热的计算硬件。表面上来看,这是市场提供了两种不同的灵活选择,但面对利润如此高的AI市场,两者总得争一个高下。

根据GMInsight的统计,2022年全球AI芯片市场规模超过150亿美元,预计将在2032年超过4000亿美元,年复合增长率高达35%。而在去年出货量最大的依然是GPU,占比高达47%左右,第二名为占比34%的CPU,其次才是ASIC与FPGA,但ASIC已经隐隐有迎头赶超之势。

选择通用性还是专用性

从2016年左右,就一直流传着这样一个说法,那就是AI计算作为特定负载的高性能计算,其未来肯定是属于ASIC这样的“专用芯片”。这个说法似乎也没错,毕竟我们转而看下目前排名前三的云巨头们,亚马逊、微软和谷歌纷纷都选择了自研ASIC,比如亚马逊的Trainium和Inferentia、谷歌的TPU、英特尔的Gaudi以及微软的Maia等。

Gaudi 2 /英特尔


要从通用性和专用性的角度来看,ASIC确实是最“专”的那个。即便是在GPU之外,CPU、FPGA的通用性也要远高于ASIC,但CPU并不适用于纯AI负载,更多的是给AI计算起到辅助作用,其提供的算力占比并不算高,哪怕是英伟达的Grace这种宣称为AI打造的CPU。而FPGA的应用市场则比较固定,比如汽车、工业和金融科技等,难以在大规模的服务器端进行部署。

由此看来,ASIC确实是上佳的硬件之选。尤其是目前LLM占据AI应用的主流,算法逐渐固定,反倒是专用的ASIC在性能、能效上占了上风,不再需要像过去一样,一代算法一代芯片地不断迭代。且随着云服务厂商开始扩大AI服务器规模,ASIC显然具备更强的扩展性,大量出货后也能控制好制造成本。

第一代TPU /谷歌


而且从谷歌的TPU设计来看,借助先进的接口IP、Chiplet和EDA工具,在已有架构上进行迭代设计也开始变得简单,更不用说谷歌在TensorFlow上有着深厚的积累。云服务厂商几乎评估了市面上所有具备商用可行性的AI芯片,如果他们没有这个底气是断然不会选择大规模部署的,而他们对ASIC的看好恰好说明了这一点。英特尔这几年开始分离各种业务,而Habana Labs的ASIC AI芯片业务虽然没有创造可观的营收,英特尔却依然看好这一业务,也证明了ASIC的前景无限。

市场和开发者依然偏爱GPU

但从市场和开发者角度来看,GPU依旧是最吃香的,且牢牢占据主导地位,这又是为什么呢?前英特尔图形部门负责人Raja Koduri也发表了一些自己的见解。首先,专用芯片的“专用”并不算稳定,与绝大多数人认知中不一样的是,AI计算并非一成不变,也并不是简单的一堆矩阵乘法运算。

而反观GPU这边,其系统架构已经经过了20多年的演进,比如页表、内存管理、中断处理和调试等,这些已经成了支持商用软件栈落地的必要因素。而ASIC在这方面确实有所欠缺,反而将不少重担甩给了软件开发者。而Raja认为,如今并没有太多年轻的软件开发者进入行业,所以绝大多数公司都还在争抢为数不多的老将。

需要注意的是,Raja此处指的软件开发者并非那些模型/算法开发者,在这类软件开发者上依然新秀层出不穷,但反观系统软件工程师,比如底层驱动开发者,就确实相对较少了。英伟达虽说也常有人员变动,但其在这类软件的开发上,至少比初创企业领先10多年。

再拿常见的AI基准测试MLPerf为例,这个对训练和推理性能提供公平评估的榜单,几乎所有的MLPerf应用都是原生基于CUDA开发。且原本GPU在AI计算效能上的劣势,也随着英伟达这几代不断添加TensorCore而得到了改善。ASIC的AI加速器虽然理论性能占优,但始终没法拉开较大差距。

对AI硬件的未来憧憬


即便目前AI硬件生态向好,但要想各类硬件都能活下去创造良性的竞争,我们也可以做一些“愿望清单”。首先,虽然各大AI芯片厂商都在宣扬自己在大模型下的优异表现,然而对于那些没法全塞进内存里的大模型的训练和推理来说,英伟达的GPU依然是唯一的可行方案,其他厂商明年还是应该继续努力。

第二则是软件生态的兼容性,对于GPU厂商、云服务厂商之外的第三方AI芯片厂商,还是应该加强对各类模型的兼容性,特别是要做到开箱即用。比如英特尔的Gaudi现在已经投入云服务商的服务器中正式使用了,且从性能角度来看着实不赖,但对于PyTorch的支持并不像英伟达的CUDA和AMD的ROCm般顺畅。连英特尔都受制于此,可想而知其他的ASIC AI芯片厂商要付出多大的成本和精力了。

另一个做法就是AI芯片厂商自己下场做大模型,如果厂商有这个软件开发实力的话,自己根据自研芯片开发大模型是最好的,无论模型的架构和芯片的架构怎么演进,都在自己的把控范围内。毕竟像浪潮这样的服务器厂商,都已经下场开发大模型了,更为上游的谷歌也已经投身其中。但这种方式也存在一个问题,那就是其模型和硬件往往都会选择闭源,这也就意味着放弃了庞大的开源开发生态,很难带动相关AI应用的真正腾飞。

第三是性能优化,在AI芯片厂商与软件开发社区的不懈努力下,我们看到不同硬件之间的软件兼容性已经有了可观的改善,但性能问题仍然摆在台前,即便是英特尔、AMD和苹果这样的大厂也没法彻底突破。所以在解决完兼容性的问题后,AI芯片厂商还是要持续投入硬件利用率的优化中去。当然了,如果GPU之外的ASIC真的能做到GPU三倍以上的性能,以力大砖飞之势力压GPU也不是不可能。

写在最后

我们现在处于AI硬件的“寒武纪爆发期”,从EDA厂商和晶圆厂的业绩就可以看出,AI芯片无论是新的设计还是制造都没有止步,市面上公开提供的选择就足以令人眼花缭乱了,还有不少初创企业处于“隐身阶段”,或是在等待先进封装的产能。不管如何,2024年都应该会有更多的产品面市。

AI应用开发者固然没法一个个买来测试,好在云服务厂商提供了AI服务器的租赁选项,在上面跑一遍自己的AI任务就能对其性能和开发难易度有个大致了解,毕竟AI应用的落地不在于跑矩阵乘法计算有多快,而在于开发者愿不愿意选择这个开发平台的硬件与软件。