以铜为鉴,可正衣冠;以古为鉴,可知兴替。在这个人工智能和体系结构风起云涌的时代,在信息洪流的狂轰滥炸下,唯有拉长时间尺度滤掉高频的短期波动,才能看清人工智能与计算产业的兴衰更替。
今天不聊短期的技术热点,主要聊聊稍稍长一些的时间线上的兴替。
过去十年,是AlexNet引爆深度学习算法热潮的十年,用几块GPU就可以完成16000个CPU核才能完成的事情,也是GPU与NVidia在计算产业崛起的十年。AlexNet引爆的深度学习并推动了计算产业对算力的军备竞赛。过去十年,大家从GFlops卷到TFlops卷到PFlops,甚至卷到EFlops,单位算力的成本也是逐年下降,AlexNet当年用的GTX 580才512个cuda核心,到今天RTX 4090已经到了16384个cuda核心,足足提升了32倍,算力更是提升了上百倍,但售价也仅仅从500美元增加到了1500美元。老黄甚至喊出了“The more you buy, the more you save”,算力成本的下降也推动着深度学习模型在计算量越来越大的方向上一路狂奔,探索着智能的边界。
硬件、算法和钞票三者相互影响,不断塑造着智能的形态。市场可以接受的硬件成本受限于算法能力给大家塑造的预期,硬件成本又限制了给算法提供的最大算力规格和形态,算力规格和形态则反过来筛选了算法模型的规模和形态。Google Brain曾经提出过hardware lottery的说法。硬件通过自身形态在筛选算法的形态,为更适应硬件形态的算法提供超额的可扩展性,从而提高这一类算法在能力上胜出的可能性;算法也在通过在市场上证明其未来潜力来引导着硬件的形态,而硬件架构层面的各种基本原理又进一步与算法的引导相互制衡;市场则具有剧烈的波动性,当算法能力发生里程碑式的质变时,市场可以接受的硬件成本会急剧提升,进一步强化这种算法和与之匹配的硬件形态,形成对其他形态的进一步挤压,同时,软硬件形态也可以在这个阶段逐渐走向成熟,降低价格。波峰过后市场又会回到相对更加理性的成本范畴;而围绕这一切的软硬件和商业生态又会给整套软硬件和算法的演进赋予非常强的惯性,软硬件生态的兴衰更替存在巨大的路径依赖,只存在新增的部分解决新的需求和不再重要的需求被逐渐淘汰,基本不存在直接替换,这背后也是大大小小的软件生态位的成长和衰退。
上一个十年的起点,表面上是AlexNet让智能的形态跨上了一个新台阶,背后是老黄多年孕育的CUDA和GPGPU成功筛选出了以大规模并行计算为主的深度学习范式,而深度学习范式形成的16000核CPU和几张游戏卡的鲜明对比又进一步拉开了GPU和CPU在通用计算方面的巨大差异,让市场看到了低成本算力带来的智能形态的巨大可能性。但除了算力成本逐年下降这一主要推动力外,NVidia的成功还有老黄多方面选择共同铸就。
尊重生态的惯性,生态才能为你所用,GPU并不是直接取代了CPU,尽管NVidia早就确立了在深度学习市场的统治地位,但很长一段时间内一直作为PCIe卡形态存在,在Intel的游戏规则下切入数据中心市场,直到把自己做成了Intel塑造的计算机形态下的主角,才借着用户对于IO带宽的巨大诉求,开始推广自己的NVLink以及整机形态甚至CPU;软件上CUDA采用C/C++扩展形态切入早已成为infra层面事实标准的C/C++世界,骨子里与C/C++的设计哲学类似;虽然投入巨量资源做各个行业的上层软件,但并不争夺软件生态位,只是为了促进这些GPU之上的生态位变得足够大,至于这些生态位被谁占据了,老黄其实并不在乎,更多地是利用生态的惯性塑造这些生态位对CUDA的路径依赖。
是老黄没有能力自己设计一套互联协议吗?是NVidia的软件工程师写不出一个深度学习框架吗?无数AI芯片竞争者和效仿者在降低算力成本这一主干上卷出了无数的花活,但败在了无数其他的选择上。当然这些选择有主动的,也有被动的,面对一个庞然大物,面对一个近乎垄断的生态,有时候就是没得选。想创造一个完美符合上述逻辑的选择本身就是最难的一件事。而这种壮举,老黄自己就给大家示范过不止一遍。
其实放到三十年前NVidia刚成立的时候,CPU的统治力是惊人的,毕竟这是自计算机诞生以来就存在的唯一形态,一且软件世界都是建立在CPU的体系之上的。虽然软件世界和市场对计算机的需求越来越强,存在着广泛专用芯片的需求,但随着摩尔定律的演进,CPU性能也越来越强,晶体管也越发富余,这就导致很多专用设备承载的计算任务在变得稳定和普遍之后,会很快集成进CPU,与显卡同时代的还有声卡、视频解码、加解密的专用设备,最后都变成了CPU的几条指令,而相应的专用设备都被扫进了历史的垃圾堆。唯有显卡活了下来,因为三维图像领域天花板足够高,老黄与游戏厂商相互成就,创造了比摩尔定律跑得更快的黄氏定律,卷死了等待图像领域逐渐收敛的集成显卡,显卡不断消耗越来越多功耗和晶体管创造出精美的游戏画面,也阻挡了CPU吞噬显卡的脚步。
其实这也是为什么在过去几年里,我一直强调DSA路线不光要着眼于某一代DSA vs GPU的性能比较,更要去塑造一个比黄氏曲线更陡峭、能维持数十年的性能提升曲线极其背后稳定的方法论,否则,GPU就是新的黑洞。君不见,NVidia毫不犹豫地集成TensorCore、TMA,此情此景,恰如当年CPU不断吞噬各类专用任务加速卡。而老黄则是在创立NVidia的头几年就意识到这个问题,并且致力于去塑造黄氏曲线来扼杀了沿着摩尔定律行进CPU的吞噬显卡的企图。当然这只是第一步,让显卡作为独立的形态存在,而AI芯片在过去十年的厮杀中,仍然遵循着和黄氏曲线类似的步伐,甚至还跟不上这个步伐,也因此很难获得独立形态的资格。
后面建立CUDA和可编程着色器,更是神来之笔,展示了尊重生态惯性下与CPU竞争的正确姿势。整个计算机产业在Intel的带领下,绘制了整个软硬件生态,这种生态的巨大惯性并非一个颠覆式创新的全新处理器架构所能撼动的,数据流处理器与经典的CPU架构的竞争就是一个典型的例子,生态的惯性最终通过经典CPU架构引入乱序发射,彻底吞噬了数据流架构的精华而收场。而NVidia在通用计算领域的竞争也是在Intel构建的主从架构下开始萌发,始终把自己放在一个PCIe设备的角色上,并构建CUDA技术栈用于孕育未来增量的软件体系,而非试图颠覆或替换当时已有的软件体系,然后等待一个“硬件彩票”,等来了深度学习,从此让这部分从属设备和增量的软件体系成长的足够大,大到一台服务器要配置8张显卡,大到成为一个全新的甚至更主要的软件生态,这期间Intel也一直卡着PCIe标准的快速升级,老黄也是一直等着这一块带宽的需求以及自己的生态累积到一个阈值,才开始抛开Intel在自己的体系内搞NVLink。
今天的计算机体系,其实仍然是Intel一手建立的体系,我们仍然需要CPU作为中央处理器去运行操作系统,处理各种事务,即使是NVidia DGX整机,也同样保留了这个形态,只是NVidia自己作为从属设备已经占据了90%以上的硬件和软件价值。今天这个时代和过去并无不同,只是CPU变成了GPU,而GPU变成了广大AI芯片挑战者,今天我们看到的NVidia体系有多么强大,当年老黄看到的CPU的体系就有多么强大,只不过老黄找到了一条既尊重生态惯性,又有机会渐进改造生态的一套完美的逻辑。
老黄一手建立的CUDA生态和GPGPU在过去十年与深度学习发生了愈演愈烈的反应,也在深刻得影响着深度学习的形态,这种算法与硬件的螺旋反应几乎是在不断强化AI的形态就是NVidia的形态,可以说留给挑战者的空间几乎没有,CUDA生态绑定了GPGPU算力,又绑定了深度学习框架的生态,而GPGPU算力又不断推动深度学习向着算力黑洞方向演进,本身GPGPU在算力方面也是一个相当不错的架构,还扮演着DSA黑洞的角色,可以说几乎是没有留下多少给挑战者切入的机会。
不过也不是完全没有。老黄在深度学习引爆之后,为了划分计算和游戏两个市场可是在刀法上费劲了脑筋。毕竟臭打游戏的都抠抠搜搜,遍地等等党,定价没法太高;而深度学习都是数据中心企业用户,大把大把的钞票,定价低了太过良心;但无奈深度学习和打游戏对算力的需求都非常高,很难做出区分度,游戏卡简直就是深度学习良心卡,甚至发布过公告禁止数据中心买便宜又好用的游戏卡。后来老黄终于找到了合适的刀法,切在内存带宽和内存容量上,从此游戏卡是高算力小容量小带宽,计算卡是高算力大容量大带宽,后面再给计算卡插上NVLink,彻底让游戏卡和计算卡变成了两种形态。
这精准的刀法又产生了算法、硬件与钞票的微妙化学反应。深度学习开始从视觉领域,卷积这种只吃算力的形态上开始缓缓迁移,深度学习开始走向更适应大容量大带宽的形态,NVLink更是推动着深度学习模型在大和更大的维度一骑绝尘,不断探索着智能的边界。老黄也终于可以在兼顾臭打游戏的同时大把大把从数据中心坑钱了,显卡的价格也一路从几千块钱飙升到了几十万,老黄还在不断重新定义什么叫一个GPU,把DGX卖到了上百万的价格。
但这也给老黄自己埋下了一些隐患,毕竟CUDA生态更多绑定的是算力,通过巧妙地卡在硬件架构和软件编程形态的中间位置,使得竞争对手难以在算力和硬件形态贴近现有生态上取得一个平衡。而随着计算卡形态对内存和带宽重要性的放大,算法的需求会愈发朝着和CUDA生态绑定没有那么强的内存和带宽方向发展,事实上也确实如此。而这也一定程度上削弱了自己构筑的护城河。
算法、硬件与钞票的微妙化学反应,微妙就微妙在,其实没有任何人能真正控制它的走向,生态也是类似。ChatGPT其实一定程度引爆了上面说的隐患,NVidia辛辛苦苦布局数十年,终于伴随着AI的崛起构建了自己的护城河,但计算卡引爆的算法新形态却极大改变了对硬件的需求。
一年前前,ChatGPT再次引爆了AI的热潮,这场面,一如十年前AlexNet一样,全世界范围内都在购置成千上万的GPU来进行大模型上的布局,大模型在老黄的精准刀法下,搭配算法、硬件与钞票的微妙化学反应,变成了现在这样一副对内存容量和带宽有极致需求的模样,甚至在很多情况下算力利用率是非常低的。此情此景,与当年Google用上千台服务器16000个CPU核驱动算法识别猫何其相似,屠龙少年终成恶龙,谁又能成为新十年的NVidia呢?
不知不觉铺垫了这么多,终于回到标题了,ChatGPT和AlexNet是一个量级的算法里程碑,AlexNet拉开了上一个十年对算力的军备竞赛,ChatGPT也是为未来十年芯片军备竞赛奠定了基调。正如我在前一阵提到的那样,内存和带宽会成为全新的需求,这件事如果只是单单大模型的需求,确定性还没那么高,但随着NVidia、AMD和Intel今年在内存和带宽上的发力会变得确定性更高。硬件的对内存和带宽的升级改造会进一步强化模型在内存和带宽上的扩展,而ChatGPT又给这方面的扩展对模型能力能达到的高度带来的足够确定性。算法、硬件与钞票的微妙化学反应会不断强化这个逻辑,任何一方都没法控制这个走向。
从内存和带宽的角度来看,NVidia的形态其实非常奢侈,这里面不仅有NVidia极高的利润率带来的,也有NVidia在这方面的坚持,因为NVidia肯定希望自己在数据中心中的价值占比不断提高,而对大模型而言,硬件上最有价值的反而是三星海力士的内存和NVLink。而这些都没办法像CUDA之于算力那样构建稳固的护城河,唯有在内存和带宽的规格升级速度上塑造增长曲线,靠曲线的陡峭程度卷。这里面不仅是绝对规格的提升,也包含性价比的提升,也就是老黄所说的“The more you buy, the more you save”。而老黄目前的产品尚未呈现出这方面增长的潜力,目前更多是靠海力士挤的牙膏和NVLink在光模块层面的突飞猛进来迅速拉升。GH200已经堆到了TB/s级别的网络带宽,但性价比方面很难说有实质性提升。
在今天的大模型用DGX的情况下,成本已经偏高的情况下,进一步提高算法规模的动力其实是不足的,毕竟ChatGPT已经证明了在目前的规模下已经可以达到足够的高度,通过一个数量级的钞能力如果不能带来算法能力的大幅度提升,边际效益会越来越差。但这一轮芯片军备竞赛其实充满了太多提升内存和带宽性价比的方式,我们今天不讲短期的技术趋势,更多还是看长线的兴衰更替,NVidia超额的利润也是潜在的提升性价比的巨大空间,内存厂在过去几十年里无数次把内存价格打下去一个数量级,说起来NVidia自己的第一代产品也是致力于降低昂贵内存的使用上,最后死在了内存价格的暴跌上,不过今天其实仍然有很多人在这样的路线上前赴后继。
大模型的崛起和各方面的需求其实对于软件生态也带来的巨大机会,不过由于巨大的惯性,这种机会始终不会是替换的逻辑,如果不能尊重这种惯性,未来还是会不断走向失败。CUDA、PyTorch仍然会长期占据其所在的生态位,正如DGX中仍然保持着CPU的生态位,只不过huggingface等一系列与大模型相关的各种生态位逐渐出现和成长壮大,也会不断削弱其他生态位的重要性。正如NVidia不断削弱CPU在数据中心的重要性,直到某一天替换成ARM也不会对生态的惯性造成多大的震动,但这个过程中的路径依赖仍然是我们需要尊重和正视的。
愿未来芯片、大模型和钞票的螺旋继续飞舞,让大模型最终可以走进千家万户,真正改善我们的生活。
本文转载自“半导体行业观察”,作者:mackler;智通财经编辑:汪婕。