Intel面临困境,主要有两个原因:IDM模式的拖累和CPU时代的落幕。 IDM(Integrated Device Manufacture)模式是芯片设计和芯片制造于一体的模式,大型处理器类的芯片公司,采取IDM模式的,目前有Intel和三星,其他IDM模式都是相对小规模的芯片,对工艺要求较低。
1 总结过去:Intel势弱的原因
Intel是CPU的发明者,Intel x86架构处理器,占据了PC和服务器处理器的绝大部分市场份额,我们的大部分软件都构建在Intel的x86架构CPU之上,Intel是无可争议的时代王者。
目前,Intel面临困境,主要有两个原因:IDM模式的拖累和CPU时代的落幕。
1.1 原因一,IDM模式的拖累
IDM(Integrated Device Manufacture)模式是芯片设计和芯片制造于一体的模式,大型处理器类的芯片公司,采取IDM模式的,目前有Intel和三星,其他IDM模式都是相对小规模的芯片,对工艺要求较低。
而NVIDIA、AMD、高通、博通、Marvell、MTK等一众巨头都是无晶圆设计(Fabless)模式,也包括其他混业的公司,如苹果、谷歌、亚马逊、微软等自研芯片的公司,自己没有生产工厂。提供芯片制造的则是台积电TSMC、三星、中芯国际SMIC、格罗方德GlobalFoundries等代工厂(Foundry)。
在Finfet工艺之前,不管是微米工艺还是纳米工艺,Intel自己的芯片销售规模都能很好的覆盖成熟工艺的成本摊销和新工艺的研发投入。但量变引起了质变,随着Finfet工艺资金投入量巨大,台积电靠着,除Intel之外的,几乎所有芯片公司支持它的新工艺研发和试错(成本摊销),而Intel仅能靠自己一家公司来消化巨量的研发成本。于是,出现了AMD CPU比Intel CPU工艺领先两代的局面。于是,在Intel几乎独占的,并且是Intel利润主要来源的,服务器(CPU)处理器领域,被AMD和ARM阵营分去了2-3成的市场份额,同时还大幅度的压缩了Intel的利润空间。
设计和制造,本来是相互成就,如今却成了相互拖累。制造工艺拖累了CPU处理器产品的竞争力,而反过来,处理器产品销量低利润低,没有了巨量的资金投入,制造工艺也就无法赶超TSMC。
1.2 原因二,CPU时代的落幕
CPU之外,Intel也进行了很多探索,但这些探索都不算太成功:
- 探索一,早期打算进军移动设备领域的ARM架构CPU XScale,后来卖给了Marvell;
- 探索二,收购来的Altera FPGA,也是不温不火,和公司的其他产品协同效应也不显著,最近在计划再独立运营;
- 探索三,收购英飞凌的手机基带芯片,后来卖给了苹果;
- 探索四,网络版块,也做了很多的努力(包括收购Barefoot),但依然不敌被NVIDIA收编的Mellanox。
在Intel的核心CPU领域,Intel其实没做错任何事情,他仍然是CPU的王者。问题出在CPU本身,CPU的时代过去了!
在异构加速计算架构下,CPU仍然很重要,CPU、GPU以及其他各种PU里,CPU是那个管理者(控制)的角色;问题在于,CPU现在承担的计算任务相对较少,大家对CPU的性能需求不足。这样导致两个问题:
- 一方面,对新一代CPU产品不够渴望(上一代,甚至上上代的产品性能能够满足要求);
- 另一方面,因为CPU性能需求不足,导致Intel CPU即使有性能优势,但却没有了价值优势,客户可选择其他家的CPU产品,虽然性能不如Intel CPU,但性能够用,并且价格更便宜。
在这两个问题的共同作用下,显著压缩了Intel的利润空间。
2 肯定现在:新时代的王者NVIDIA
NVIDIA的GPU和CUDA发展有几个关键的节点:
- 1993年,NVIDIA成立。公司开发的产品,是面向图形加速计算的加速卡。
- 1999年,NVIDIA推出GeForce 256,这是第一款被命名为GPU的产品。
- 2003年,两个研究小组独立发现了基于GPU解决一些通用计算问题, GPU比CPU更快。GPGPU概念被首次提出:GPU不再以图形加速为唯一目的,而能够用于并行计算。
- 2006年,NVIDIA发布GeForce 8系列,这是真正意义上的可用于并行计算的GPGPU。
- 2007年,CUDA发布,CUDA为基于GPGPU的计算框架,方便开发者使用GPU进行编程,并充分发挥GPU的计算能力。
- 2010年,中国首台千万亿巨型机“天河1A发布,同年,获得超算TOP500第一名。天河超算,全球第一次把(NVIDIA)GPU异构计算引入到超算领域,并实现了超大规模的异构集群计算,开辟了一个新的超算时代。
- 2012年,AlexNet发布,深度学习流行。开启了算力需求猛增的时代。2012-2018年,算力需求每3.4个月翻倍,远高于摩尔定律的芯片性能增长速度。这一时期,单台GPU服务器逐渐从单卡到多卡,AI所需算力,也逐渐从单机到集群。
- 2018年,AI进入大模型发展时代,算力需求继续加速,每2个月翻倍。GPU集群规模进一步扩大,有了千卡、万卡的GPU集群。
- 2022年底,ChatGPT获得巨大的成功,千亿参数模型成为主流,万亿、十万亿模型也都在路上。AI集群未来很可能继续扩展到十万卡、百万卡的集群规模。
- 观点一,产品or平台。传统GPU,仅用于图形图像处理,本质上是一个面向图形领域的ASIC加速卡。而GPGPU,本质上,是一个可编程的并行计算平台。和NVIDIA同期的很多做GPU(加速卡)的公司,都烟消云散了;而NVIDIA做GPGPU(GPGPU+CUDA的平台和生态),才获得了成功。
- 观点二,生态。Transformer之所以流行,是因为其能够把NV GPU强大的并行计算能力充分发挥出来,Transformer具有NVIDIA GPU的亲和性,从而才能脱颖而出。CUDA生态的强大能力,可见一斑。
- 观点三,技术驱动需求 or 需求驱动技术。经常有人说“需求驱动创新”,这句话放在应用层的创新是对的,但对处理器这种底层的“硬科技”创新,这句话是不太对的。技术的创新并不是需求驱动的,而是超前于需求的。国内有句话叫“要想富,先修路”(路也是底层的基础设施),只有先把路修了,才有可能富;几乎不太可能等富了再修路,因为不修路,根本不可能富。
- 观点四,技术前瞻。技术的发展,需要有一定的前瞻性,这样才能抢占有利的技术、市场和生态地位。如果等需求明显,再去做研发,可能无法争到多少收益;还可能因为别人已经形成的生态,自己的事情事倍功半。
总之,异构计算时代的王者是NVIDIA。目前,NVIDIA市值两万亿美金左右,超过了其他几个芯片巨头的市值总和。
3 展望未来:未来在哪里?
Intel的时代已经落幕,NVIDIA的时代会落幕吗?
答案是,肯定会。
每个时代有每个时代的英雄:异构计算时代也会过去,会被新的时代所代替;新的时代,必然有新时代的英雄。
3.1 (超)大模型时代的算力挑战和改进方向
GPU,是现在大模型的主流计算平台;那么,GPU仍然会是未来超大模型的主流计算平台吗?
我们看如下两个案例:
- 案例一,百万卡集群。目前,主流的8卡GPU服务器价格在300万左右(价格有波动,新型号发布,旧的型号价格会显著下降),那么百万卡集群,仅服务器的费用就高达3750亿左右。
- 案例二,微软与OpenAI的新一代AI基础设施项目。微软和OpenAI制定的新一代AI算力芯片和基础设施项目星际之门,预计耗资1000亿美元。
AI大模型,如此巨量的资金投入,如何收回成本?
对于其他中小型(甚至包括大型)公司来说,这样的投入几乎不可能。难道人工智能,就只能是巨头的“游戏”?
有挑战,就必然有技术进步。解决这些问题的方法,我们抛砖引玉。改进方向主要有三个:
- Scale Up的优化。提升单芯片的性能,如果单芯片性能能够提升10倍,百万卡集群就可以缩减到10万卡集群,并且其集群效率会更高。
- Scale Out的优化。进一步优化节点间的网络互联性能和带宽,进一步提升集群交互效率。
- 成本的优化。技术上的成本优化有很多方面,比如上面Scale Up和Scale Out的优化,也比如工艺的进步。而更关键的成本优化,其实在于生态。目前,因为生态的影响,我们对某些计算平台存在依赖,算力客户很多的成本是在为生态“溢价”付费,为性能(算力)和实际价值付费反而占比较少。这样封闭生态的状况,不利于产品的竞争和创新。只有在完全开放的生态下,业务不对特定的芯片产生依赖,芯片的价格也仅跟芯片的性能和价值相关,客户不需要为生态“溢价”付费。这才是健康合理的行业生态。
3.2 依据指令复杂度的处理器划分
世间万物由基本粒子组成,复杂处理由基本计算组成。软件和硬件通过一定的“接口”解耦,而指令(集)则是软件和硬件的“接口”。指令的复杂度(计算粒度或密度)决定了系统的软硬件解耦程度。
ISA(指令集架构)之下,CPU、GPU等各种处理器是硬件;ISA之上,各种程序、数据集、文件等是软件。
有的指令非常简单,就是基本的加减乘除等标量计算;有的指令是向量、矩向或多维张量计算;还有的指令非常复杂,不是纯粹的向量、矩阵或多维张量计算,而是各种维度计算再组合的一个混合的宏指令,夸张的甚至一个算子甚至算法,就对应到一条(单位计算)指令。
按照指令的复杂度,典型的处理器平台大致分为CPU、协处理器、GPU、FPGA、DSA、ASIC。从左往右,单位计算越来越复杂,性能越来越好,而灵活性越来越低。
CPU、GPU、DSA等各种类型的处理器,本质上是在不同层次的软硬件解耦基础上的软硬件协同。
我们对各类处理器的情况进行分析:
- 主流的计算处理器主要是CPU、GPU和DSA,其他类型处理器使用的范围较小。
- CPU。CPU具有极致的灵活可编程能力,几乎可以通过编程的方式,实现任何功能。CPU,是最广泛使用的处理器。
- Co-Processor。这里指的是CPU扩展的协处理器。工程形态上跟CPU是一个整体,可以认为属于CPU。
- GPU。通用的并行加速处理器。是目前大模型时代,异构加速的主流处理器。
- NP。相对于GPU,网络处理器因为其使用范围较窄,并且没有像CUDA这样的易于编程的开发框架,并且也没有非常强的业务需求驱动,因此目前大规模使用的NP产品非常少见。
- FPGA。在系统规模较小的时候,FPGA开发门槛相对低一些,在一些用量较少,但有一定性能要求的场景,FPGA是非常合适的。其在CPU和ASIC之间,找到了自己的定位:比CPU性能要好,比ASIC芯片一次性成本要低。不过,量变引起了质变,随着系统规模越来越大,FPGA的开发也越来越困难,基于FPGA开发的软硬件耦合性越来越高,相互掣肘,从而大幅度约束了FPGA的业务范围。随着系统规模的进一步扩大,FPGA的未来前景一般。
- ASIC。专用集成电路,通常是将业务逻辑和算法/算子完全固化的一种芯片。功能确定,无法编程,仅能进行简单的配置和控制。也跟FPGA类似,随着系统规模的增大,量变引起了质变,未来几乎不会存在完全ASIC形态的芯片。
- DSA。DSA是ASIC向通用可编程能力的一个回调,谷歌TPU是全球第一款DSA,目前主流的AI加速芯片几乎都可以归属到DSA范畴。NVIDIA Tensor core也可以理解为一种DSA,但因为其工程实现上是纳入到GPU内部(CUDA core+Tensor Core),所以把其归属到GPU范畴。
- GP-DSA。对目前的大模型来说,GPU太贵,DSA不够灵活。那我们是否可以在这两者之间找到一个平衡点?也就是更加通用的DSA。需要注意的是,虽然从指令复杂度角度,它和FPGA放在一个位置,但两者有本质的差别。
- 量子芯片和类脑芯片,以及其他类似的创新架构。通常都拥有相比ASIC更大的指令复杂度,可以归属为超级ASIC的范畴。这类芯片,在处理特定算法或数学难题时有一定的优势;但即使解决了相关的技术问题,这类芯片大规模商业落地仍有非常长的路要走。
- 存算一体。存算一体,是一种具体的芯片实现技术,和依据指令复杂度划分的各类处理器是不同层次的技术概念,两者之间没有必然的对应关系。存算一体芯片也可以是CPU、GPU或者DSA等类型的处理器。但从目前的主流实现上来说,存算一体芯片通常都是面向特定领域(主要是AI)的DSA架构。
3.3 依据灵活性特征的系统分层
复杂的系统,都是分层分块的。我们可以把系统中的这些块,也即工作任务,按照其灵活性特征进行分类。灵活性意味着变化,可以从两个方面理解(横向和纵向的差异):
- 横向。同一个工作任务,不同的客户,其业务逻辑会有差异性吗?
- 纵向。这个工作任务,未来会经常迭代更新业务逻辑吗?还是已经非常成熟,几乎不会变更?
依据任务的灵活性特征,我们可以把系统分为三层(类):
- 基础设施层。任务非常确定,适合DSA甚至ASIC级别的处理器进行加速处理。
- 业务加速层。业务变化适中,适合GPU平台进行加速处理。
- 业务应用层。一些控制类任务,以及场景规模较少,也包括性能不敏感的计算任务,都可以放在业务应用层,由CPU进行处理。CPU同时承担兜底的角色,DSA和GPU都无法处理的任务,都由CPU处理。
3.4 从同构到异构,再到异构融合
在同构计算、异构计算的基础上,我们可以定义一个新的阶段,异构融合计算阶段:
- 第一阶段,CPU同构计算。所有的计算任务都在CPU里运行。
- 第二阶段,CPU+GPU异构计算。受“二八定律”影响,通常情况下,有80%左右的计算任务适合于加速计算,而另外20%的计算任务仍只能进行通用(非加速)计算。
- 第三阶段,CPU x GPU x DSAs异构融合计算。系统越来越庞大,“二八定律”分层更加明显,80%左右的计算任务由更加高效(相比GPU)的专用加速DSA处理器完成。DSA处理器有很多个,专门处理不同领域的任务加速。而20%*80%也就是16%的计算任务由GPU加速完成。最后,CPU兜底,完成剩余4%的计算任务。
- 异构计算阶段,重心在于GPU。但异构融合阶段,重心则在“融合”。因此,在异构融合阶段,采用了“乘号”,而不是“加号”。
(关注软硬件融合公众号,后台回复“白皮书”,下载工信部电子5所发布的《异构融合计算技术白皮书》。)
3.5 新一代通用计算的王者,在哪里?
1971年,Intel发明了CPU。第一代通用计算的巨大成功,成就了Intel的王者地位。
1999年,NVIDIA发明了GPU。随着深度学习和大模型的流行,异构计算成为主流。基于GPU的第二代通用计算,成就了NVIDIA的成功。
从1971年到1999年,时间为28年。从1999年,经过28年,则到2027年。
那么,2027年,是否会出现第三代通用计算处理器?
第三代通用计算,刚刚开始萌芽。希望国内有厂家能够脱颖而出,抓住“换道超车”的重大历史机遇,成就伟大事业。