英伟达的「镰刀」,不是AI芯片

转载
401 天前
3503
AGIing

文章转载来源:AGIing

原文来源:硅基研究室

作者:白嘉嘉

图片来源:由无界 AI生成

英伟达又一次被推上了风口浪尖,这次不是因为它扶摇直上的业绩,而是过去将它捧在手心的微软、OpenAI、谷歌等人工智能排头兵起了「异心」。

据The Information报道,微软计划在下个月的年度开发者大会上推出首款为人工智能设计的芯片。这款芯片是为训练和运行大型语言模型(LLM)的数据中心服务器设计的。OpenAI也在探索制造自己的人工智能芯片。公开信息显示,OpenAI至少投资了3家芯片公司。

谷歌的自研芯片TPU更是迭代到了v5世代。此前有分析师爆料谷歌的算力资源比OpenAI、Meta、亚马逊、甲骨文和CoreWeave加起来还要多,它的优势正是来源于拥有庞大数量的TPU。

这些企业为什么要下场造芯,市场上已经有了许多分析,原因主要集中在英伟达的GPU价格过高、产能不足。通过自研芯片,有望削弱英伟达在人工智能芯片领域的定价权,同时比没有自研芯片的企业更具战略自主。

但是,自研芯片真的能迫使英伟达放缓手中的镰刀吗?

一个事实是,市面上H100 GPU已涨到了原价的两倍,依旧供不应求。即便是自研芯片已经「上线」的谷歌,仍在大量采购英伟达的芯片。

为什么?

由于英伟达的GPU销量过于亮眼,以至于常常被简单定义成一家硬件公司。但很多人不知道的是,英伟达的软件工程师数量比硬件工程师还要多。

这句话背后的意思是,英伟达真正的护城河从不来自于层出不穷的新芯片(当然这也很了不起),而来源于软硬件生态。

而CUDA,正是这条护城河的第一道河堤。


英伟达真正的王牌——CUDA


2019年,英伟达CEO黄仁勋在密尔沃基工学院介绍企业发展史时,说了这样一段话。

“一项接着一项的应用,一个接着一个的科学领域,从分子动力学、计算物理学,到天体物理学、粒子物理学、高能物理学,这些不同的科学领域开始采用我们的科技,因为这是向前发展的最佳解法。而我们深深地以这项贡献为荣。”

这项英伟达深以为荣的技术,正是CUDA。

CUDA是一种英伟达推出的并行计算架构,正是在它的加持下,GPU才得以打败CPU,成为今天运行大数据计算的基础。运行相同任务的情况下,支持CUDA系统的英伟达GPU比CPU的速度要快10到100倍。

为什么CUDA有这种魔力?

CPU和GPU都是计算机处理器,都能执行计算任务,其不同点在于,CPU更擅长线性计算,而GPU更擅长并行计算。业内常用的一个类比是,CPU就像一位大学教授,能独立解决各种复杂问题,但要按部就班进行,GPU像一群小学生,单核运算能力不如CPU,但胜在核的数量庞大,能同时计算。

而CUDA,则是调动这群小学生的指挥棒。在CUDA的中介下,研究员、编程人员得以实现通过编程语言与硬件设施对话,从而将复杂的数学问题转化为多个简单的小问题,分发给GPU的多个计算核。

如黄仁勋所说,CUDA问世后成为了“科学向前发展的最佳解法”,庞大的运算能力成为了搭建超级计算机的首选。

10月11日,美国能源部下属橡树岭国家实验室宣布,他们研发出的超级计算机“顶点”(Summit),浮点运算速度峰值可达每秒20亿亿次,接近“神威·太湖之光”超级计算机的两倍。

这台算力巨兽身上搭载了近28000块英伟达GPU。而橡树岭国家实验室,正是第一家大量采用英伟达「CUDA+GPU」套餐的研究所。

事实上,从2006年英伟达推出CUDA至今,涉及计算机计算的各个领域,几乎已经被塑造成了英伟达的形状。航空航天、生物科学研究、机械和流体模拟及能源探索等领域的研究,80%在CUDA的基础上进行。

并且,在大模型热的带动下,CUDA生态合作者规模仍在翻倍增长。

根据英伟达2023财年年报,目前有400万名开发者正在与CUDA合作。英伟达通过12年的时间达到200万名开发者,在过去的两年半里该数字翻了一番,目前CUDA的下载量已经超过了4000万次。

与此同时,英伟达仍在不断扩大CUDA生态,推出了软件加速库的集合CUDA-X AI。这些库建立在 CUDA之上,提供对于深度学习、机器学习和高性能计算必不可少的优化功能,是针对数据科学加速的端到端平台。

CUDA生态如日中天,与之相辅相成的GPU成为消费者的首选,英伟达因此赚得盆满钵满。不过,面对这么大一块蛋糕,竞争对手自然不可能只眼铮铮地看着。

比如,AMD推出了生态平台ROCm,同样兼容不少计算框架;OpenAI的Triton被认为是CUDA的最有力挑战者;由苹果设计,后交由Khronos Group维护的开源构架OpenCL,借鉴了CUDA的成功经验,并尽可能的支持多核CPU、GPU或其他加速器;谷歌用「TPU+TensorFlow+云」的模式吸引开发者和拓展客户。

但这些「理论上」的竞争者,在实际工作中,却暴露出了各种各样的问题。

今年2月,半导体研究和咨询公司Semi Analysis首席分析师Dylan Patel曾写了一篇名为《Nvidia 在机器学习领域的 CUDA 垄断如何被打破(How Nvidia’s CUDA Monopoly In Machine Learning Is Breaking - OpenAI Triton And PyTorch 2.0)》的文章。

文章的留言中,一位程序员表示:

“我希望如此,但我非常非常怀疑。我使用的所有东西都是基于CUDA构建的。实际上,在非NVidia硬件上没有任何功能。‘实际上有效’与‘理论上有效’不同。我使用的很多东西理论上都支持 ROCm,但在实践中,当你尝试使用它时,你会遇到大大小小的错误,并且会崩溃或无法正常工作。”

一线研究人员的言论证明了,在软硬件均坐稳头把交椅,并且培育了市场近20年的英伟达面前,至少眼下这个阶段,没有企业能和它正面竞争。


英伟达帝国,诞生于「再造世界」


为什么恰好是英伟达捏住了CUDA这张王牌?从2006年CUDA面世起算,已经过去了接近18年时间,为什么在如此漫长的时间里,英伟达的护城河不但没有被攻破,反而越来越宽阔?

这些问题背后都有一个默认的前提——CUDA是那个「正确」的方向。而在英伟达孤注一掷的21世纪初,这句话黄仁勋对股东和市场重复了千百遍。

如果我们想要一个美好的世界,要做的第一件事,就是模拟它。某种程度上,这个想法就是GPU时代的原点,将那些复杂的物理定律模拟出来,并以画面的形式呈现。然而,那些模拟物理定律的应用不会从天上掉下来,它需要有人一个一个地去开发。

因此,即便GPU的运算能力已经被证明未来有可能超过CPU,应用程序匮乏,编程过程太过繁琐,缺少底层语言代表的现状,仍让程序员们对其敬而远之。

2003年,英特尔推出了4核CPU,英伟达为了与之竞争,开始着手发展统一计算设备架构技术,也就是CUDA。

这个想法由首席科学家大卫·柯克博士提出,后来也是他说服黄仁勋,让英伟达未来所有的GPU都必须支持CUDA。因为柯克在计算机高性能计算领域所发挥的重要作用,他后来被誉为「CUDA之父」,还当选为美国国家工程院院士。

这些荣誉都是后话,当时黄仁勋需要解决的问题是,如何让股东接受产品成本需要上升一倍,去搏一个回报周期可能在10年以上的未来。

事实上,围绕着CUDA的质疑一直持续到了AI时代的前夜,英伟达的市值常年徘徊在10亿美元的水平,股价甚至一度因为CUDA附加成本对业绩的拖累跌至1.5美元。股东多次提出希望他们专注于提高盈利能力。

2010年,当时的CPU王者英特尔曾传出计划收购英伟达。《芯片战争》中描述到,“对英特尔来说,(收购英伟达)价格不是问题,问题是该给黄仁勋一个什么职位。然而双方一直没有达成一致意见,最后不了了之。”

在市场看空英伟达的这些年里,黄仁勋从未质疑过CUDA的价值。

为了吸引开发人员编写应用程序并展示GPU的优势,黄仁勋先是使用了当时已经拥有庞大游戏玩家市场的 GeForce GPU来作为安装CUDA的基础。然后又创建了一个名为GTC的会议,在全球范围内孜孜不倦地推广CUDA。

近年来最为市场称道的一个案例是,2016年,黄仁勋亲自去彼时刚成立的OpenAI交流,并赠送了一台搭载有8颗P100芯片的DGX-1,那是英伟达当时最强力的浮点运算GPU。

这件事往往被解读为黄仁勋的眼光老辣,但对他本人来说,这无非是确保CUDA成为前沿科学研究者最习惯的框架的又一次尝试而已。

与英伟达的笃定恰好能形成对比的,是英特尔。

作为CPU时代的王者,英特尔本该成为英伟达最具竞争力的对手。

然而,在2010年取消了CPU和GPU融合的独立显卡计划后,英特尔就失去了和英伟达硬碰硬的兴趣(当然也可以说是因为纳米制程陷入停滞而失去底气)。先是试图收购英伟达,然后又转身去和高通在移动基带市场上较劲,2015年第一波人工智能热潮席卷而来时,大梦初醒的英特尔一手收购人工智能方向的芯片公司,一手将AMD的芯片纳入到自己的系统芯片当中。

可惜的是,彼时英伟达的市场份额超过了60%,CUDA垄断已然初具雏形,在GPU领域,英特尔已经没有资格和英伟达坐在同一张牌桌上了。


DPU和DOCA,英伟达的新战场


2020年,创投圈曾流行过一个笑话。

“DPU是什么?”

“支付宝到账,一亿元。”

只要触发了DPU这个关键词,钱就会滚滚而来。

这轮DPU热,正是英伟达掀起的。

2020年上半年,英伟达以69亿美元对价收购以色列网络芯片公司Mellanox Technologies,并于同年推出BlueField-2 DPU,将其定义为继CPU、GPU之后的「第三颗主力芯片」。


那么到底什么是DPU?


DPU最核心的功能,是取代CPU,建立以数据为中心的计算架构。

众所周知,CPU的全称是中央处理器,它除了承担运行应用程序、执行计算的任务外,还扮演着数据流量控制器的角色,在GPU、存储、FPGA和其他设备之间移动数据。

你可以简单理解成,校长抛出一道难题后,老师(CPU)对其进行拆分,其中较为复杂的部分由自己解决,容易但繁琐的分发给学生(GPU)来做。过去题的数量比较少,老师还可以分得过来。但随着题目的数量增加,拆分、分发题目的时间反倒占用了老师的大量时间。

此时,再聘请一个专门拆分、分发题目的人,就成为了提升系统整体运算效率的关键。而DPU就是那个人。

近年来,随着数据中心建设、网络带宽和数据量急剧增长,同时CPU性能增长速度放缓,越来越难以适应未来计算芯片的需求,DPU应运而生。英伟达官网是这样定义它的——DPU是一个用于数据中心基础设施的先进计算平台。

就像GPU背后有CUDA生态作支撑一样,黄仁勋同样为DPU量身定做了一套软件生态,同步推出了DOCA。

借助DOCA,开发者可以通过创建软件定义、云原生、DPU 加速的服务来对未来的数据中心基础设施进行编程,并支持零信任保护,以满足现代数据中心日益增长的性能和安全需求。

与CUDA不同的是,已经功成名就的英伟达不再需要苦口婆心地向市场证明自己眼光的独到之处,创投圈的DPU热就足以说明这一点。

不过伴随而来的,DPU市场的竞争也远比当年GPU要来得激烈。

国外厂商中,Marvell、英特尔、AMD均研发了DPU或DPU的对位产品。国内亦涌现出一批DPU初创企业,如云豹智能、中科驭数、芯启源、云脉芯联、星云智联、大禹智芯。

云厂商方面,亚马逊的AWS和阿里云已经实现大规模商用DPU构架,腾讯和字节跳动则加入了DPU研发大军,其中腾讯推出了水杉和银杉两代DPU。

这一次英伟达还能靠DPU+DOCA的软硬件生态复现GPU+CUDA的奇迹吗?

各国、各企业之间的算力竞赛愈演愈烈,在产能受限并且DOCA生态尚未形成的情况下,对手们并非毫无机会。