写今天这篇文章的时候,我内心是焦虑的,甚至有点悲观。
中国的芯片界同仁,不可谓不努力:充满艰难险阻的工作,数十年如一日的煎熬,直面国际巨头的竞争。在芯片具体产品层面,别人有性能优势,我们有价格优势。不敢说能打个你来我往,但至少还有还手之力。
然而,在计算生态方面,我们则完全没有招架之力。计算生态就像一只无形的手,抹去了我们仅有的一点可能的机会,阻挡着我们前进的步伐,让我们距离世界先进越来越远。
更令人焦虑的是未来:一方面,计算生态的作用在不断地加强;另一方面,不同领域不同处理器的计算生态有进一步融合的趋势,逐渐形成新的超级生态。两相叠加,一旦超级生态逐步建立,后进者再无翻身的可能。
未来5-10年,大算力芯片,将迎来终局之战。
1 计算架构的发展趋势
1.1 计算架构的发展阶段
随着算力需求越来越高,同构CPU的业务场景越来越少,基于GPU或AI等DSA处理器的异构计算已经成为主流。从发展的角度看,随着大模型等算力场景的持续挑战,未来会进一步从异构计算走向异构融合计算。
如果按照处理器类型的数量进行分类,可以分为三个阶段:
第一阶段,单个处理器,即CPU同构计算阶段。
第二阶段,两个处理器,即CPU+GPU或CPU+其他专用加速处理器的异构计算阶段。
第三阶段,三个或三个以上处理器,即多异构或异构融合计算阶段。
行业在创新处理器的设计和实现方面进行了很多探索,比如存算一体、重构计算、类脑计算、量子计算等等。这些新型的计算架构设计或实现方法,从系统指令复杂度的视角,可以归属到DSA或ASIC的范畴。因此,这些创新,没有跳脱异构融合计算的大框架。
以我目前浅薄的认识,个人觉得:异构融合计算,将是计算架构的终极形态。
1.2 CPU同构,单个处理器,单个生态
虽然仅仅只有一个处理器,但其计算生态已经是地狱级难度。
Intel x86架构的优势,是在众多处理器架构的厮杀中逐步确立的。随着x86的优势地位确立,基于x86架构的软件生态逐渐成熟,即便是Intel自己,也无法改变这一局面。
Intel的64位安腾(Itanium)处理器,是一个非常典型的失败的案例。安腾是Intel于2001年推出的64位架构的CPU处理器,Intel对之寄予厚望。虽然是Intel的亲儿子,虽然是功能强大的64位CPU架构,虽然安腾的架构和微架构设计非常优秀,但因为和x86的不兼容,完全一个新的生态,不可避免的走向了失败(2021年7月29日是安腾处理器最后的出货日期,英特尔正式告别了这款使用IA-64指令集的纯64位处理器)。
与此形成鲜明对比的,是AMD64的成功。2003年,AMD推出了业界首款 64 位处理器 Athlon 64,带来了AMD64(x86-64)指令集,即x86指令集的64位扩展超集,具备向下兼容的特点。因为向下兼容,继承性地往前发展,最终成就了AMD64的成功。
1.3 GPU异构,两个处理器,两个生态融合
相对于Intel的x86 CPU计算生态是百家争鸣的胜者,NVIDIA GPU的CUDA生态,则是数年孤独后的一鸣惊人。
在NVIDIA GPGPU之前,GPU真的就只是GPU,即专用于图形计算的加速卡。这一时期的GPU,符合DSA的定义规范,可以当作是专用于图像领域的G-DSA。直到NVIDIA GPGPU的出现。
2006年,NVIDIA发布GPGPU。NVIDIA发现,图像处理有很多并行处理的部件,于是决定将这些专用的处理完全改造成通用的高效能小CPU核,于是GPGPU诞生了。虽然此时,GPGPU已经足够通用,但其编程难度很高,于是NVIDIA又贴心地开发了CUDA计算框架。即便如此,早期的CUDA功能并不强大,开发仍然不够友好。很多开发者并不看好,认为CPU多核才是正确的发展道路。
直到2012年,Alexnet的问世,深度学习时代的来临,NVIDIA GPU+CUDA才成了热门的计算平台,助推着NVIDIA市值超越一众竞争对手,成为全球市值第一的芯片公司。再紧接着,2018年,AI大模型逐渐流行。进一步把这股浪潮推向高潮,NVIDIA CPU一时间“洛阳纸贵”,同时,NVIDIA的市值突破了万亿美金大关。
我们再来看CPU和GPU的融合。
2022年初,NVIDIA正式宣布,收购ARM失败。假如,NVIDIA收购ARM成功,这场大算力芯片的“战争”,基本上可以提前给出结果:NVIDIA获胜,其他家永无出头之日。好在这件事情没有成行,算力芯片“战争”的结果,仍存在变数,这场“战争”仍在继续。
之后,NVIDIA退而求其次,与ARM的深度合作,开发了Grace系列高性能CPU,以及CPU+GPU整合的Grace Hopper系列超级芯片。
2 计算生态的极端重要性
在之前,我一直以为Transformer之所以能够脱颖而出的最大原因就是那篇论文的标题:“Attention is all you need”,优势来源于算法本身。最近一段时间,跟好几位AI领域的专家交流下来,他们的观点是:有很大一部分原因是因为,Transformer比较好的实现了并行处理,能够最大限度的利用GPU并行的算力,因此才能够实现更大参数规模的大模型,进而获得更好的智能体验。
这个案例可以得到这样一个结论:只有NVIDIA GPU+CUDA生态亲和的模型才能最终走出来;如果不是NVIDIA GPU+CUDA架构和生态友好的模型,哪怕实际效果再好,也受限于模型效率、参数规模和成本等方面的优势,无法脱颖而出。
或者说,大模型发展,强依赖于NVIDIA的GPU+CUDA计算生态。
在我的个人观点里,一直以来,都是非常重视生态的难度和重要性的。但最近几年,随着认识的进一步加深,我的想法得到了进一步修正。计算生态很重要,但过去10年左右的发展,使得计算生态的重要性,比我们大家想象的要更加重要:
一方面,业务快速发展迭代的压力,使得大家更加依赖已有生态的持续优化,而很难迁移到新的平台和生态。
另一方面,计算从单机计算走向集群跨集群的分布式计算,计算生态的作用得到进一步放大。一方面是不同计算节点工作任务之间的协同,另一方面是计算任务在集群内部不同计算节点之间可迁移,这些原因进一步强化了计算生态的“强者更强,弱者更弱”。
还有一方面,随着异构计算和异构融合计算的发展,处理器之间的协同效应逐渐产生并进一步增大。不同处理器的单个计算生态开始发生化学反应,逐步会形成融合的超级生态。
我们定性分析一下:
芯片的难度很高,但生态的难度更高。
假设,在十几年之前,2010年前后,芯片的重要性和难度是1,计算生态的重要性和难度则为10。
假设,随着系统规模的增大,未来5-10年,也就是2030年前后,单个处理器芯片的重要性和难度可能上升到10。受业务迭代越来越快的影响,计算生态的重要性和难度需要再增加一个数量级,其值约为1,000。
在考虑集群/跨集群以及云网边端融合成为主流计算方式的影响下,计算生态的重要性和难度再增加一个数量级,其值进一步上升到10,000。
再随着异构的处理器越来越多,不同处理器计算生态的协同效应凸显,计算生态的重要性和计算难度再增加一个数量级,其值达到100,000。
最终,芯片和计算生态的重要性和难度比例变成10:100,000,或者是1:10,000。
3 算力芯片,终局之战
3.1 多异构融合,更多生态的融合
我们来分析一下Intel在多(超)异构和未来异构融合计算的布局:
首先是各类处理器。CPU生态,Intel首屈一指;GPU生态,Intel也有自己的产品,也在积极的布局;DSA类的生态,Intel有IPU和IPDK进一步整合和增强。
然后是Intel在多异构融合、跨平台,完全可编程和开放生态方面都进行了布局。Intel于2019年提出超异构计算概念,随后Intel布局了OneAPI框架、OpenVINO计算套件、IPDK计算框架,还发起了OPI开放计算联盟等。目前,Intel的多异构或异构融合的芯片解决方案还没有公开发布,拭目以待。
Intel目前面临的挑战是:上面列出的很多内容,Intel提出之后,并没有非常有竞争力的产品去承载。
(注:图片为Altan结构框图,Thor和Altan一致)
NVIDIA在汽车CCU方面,已经布局了Thor超级芯片,其核心计算部分由数据中心架构的Grace CPU、Ampere GPU、Bluefield DPU组成。一方面算力强劲,把汽车变成了一台超级计算机;另一方面,其架构跟数据中心处理器架构完全一致,为未来云边端融合提供了坚实的物理基础。
据说,NVIDIA在数据中心的CPU、GPU和DPU三芯片集成的、多种异构融合计算架构的超级芯片,已经在研发中。
3.2 异构融合,最后一场战役
在GPU领域,NVIDIA构建了牢不可破的CUDA计算生态;在DPU领域,NVIDIA拥有全球最好的DPU芯片,以及功能强大的DOCA计算框架;高性能网络可以看做DPU的一个重要的功能子集,NVIDIA拥有全球最好的高性能网络RDMA和独一无二的Infiniband技术,高性能网络才是AI大模型训练集群的最核心技术;在CPU领域,NVIDIA和ARM深度合作,抢占了比较有利的生态位。
一根筷子,轻轻地就会被折断;十双筷子,则牢牢地抱成一团,几乎牢不可破:
同构计算的时代,面临的仅仅是一个计算生态的挑战;生态劣势的厂家,仍然有翻盘的可能。
异构计算的时代,面临的则有两个计算生态的挑战,还有两个处理器协同生态的挑战;这个时候,生态劣势的厂家,面对计算生态的无形之手,已经有点力不从心。
异构融合计算时代,计算平台预计会多达5-10个处理器,面临的不仅仅是5-10个计算生态的挑战,更要面临这些处理器组成的融合计算超级计算生态的挑战;这个时候,会进一步放大计算生态的“强者恒强,弱者恒弱”效应,生态劣势的厂家,不但无法翻盘,甚至连微小的一点市场份额都很难维持。
在未来5-10年,随着生态的极端重要性进一步凸显,大算力芯片,即将迎来“终局之战”。
4 唯一可能的破局之道:开放
回到现实,大算力芯片的计算生态之争,“唯一可能”的破局之道:开放。“唯一”是说,有且仅有这一个办法;“可能”指的是,这个方法虽然存在赢的几率,但几率很低很低。
4.1 异构融合计算,架构必须收敛
指令复杂度越高,单个处理器引擎覆盖的场景就会越小,全场景覆盖所需的引擎种类就会越多。从CPU到ASIC,处理器引擎越来越碎片化,构建生态越来越困难。
异构融合计算时代,集成的处理引擎类型和数量越来越多,处理引擎架构越来越多,芯片平台的数量也越来越多,所处的位置(云网边端)也越来越丰富。
解决办法只有一个:让架构收敛。每一个类型或子类型的处理器,全球全行业能够形成标准的架构和接口。
不确定的是,未来是走向封闭的一家通吃?还是行业形成共识,大家基于开放架构做产品,行业走向基于产品竞争力的、真正的“公平”竞争?
4.2 除了最强者,开放是其他家的唯一选择
只要你不是第一,第二名能做的也只能是开放。
开放阵营,不仅仅会包括行业里的二线、三线芯片公司,以及广大的Startup公司,还会包括目前仍处于一线大厂的众多知名公司。
从目前看可见的未来,NVIDIA会是最后赢者通吃最有优势的那个。那么,包括Intel、AMD、高通、博通、Marvell等知名芯片公司,也包括互联网巨头等芯片的大客户,如苹果、谷歌、微软、华为、阿里、腾讯等,也包括OpenAI等AI/AGI新贵,对抗巨头的唯一做法,唯有凝聚共识,开源开放。
4.3 开放,让大家回到同一起跑线
我们设想一个乌托邦的时代,在这个时代里:
CPU领域,已经是形成共识的开放架构成为主流,比如RISCv占据90%以上市场份额;
GPU领域,也出现了全行业形成共识的开放架构和相应的开源的开发框架;
AI、网络、存储等领域也是如此,均形成了各自开放的架构和行业生态。
并且,进一步的,行业形成了开源开放的统一的异构融合计算框架。
那么,这个时候,大家会回到同一个起跑线:靠产品能力说话,而不是依靠无形的手——生态的力量。