产业

穿越山谷的英伟达,会成为元宇宙最重要的基础设施吗?

人们往往会用波峰和波谷来形容股票的走势。但是往往却会忽视最重要的时间维度。从短期看,你也许能分出明显的波峰波谷,但如果再放眼到更长的时间维度,过去站在最高点的波峰,也不过是站在未来最低点的脚下而已。

编者按:人们往往会用波峰和波谷来形容股票的走势。但是往往却会忽视最重要的时间维度。从短期看,你也许能分出明显的波峰波谷,但如果再放眼到更长的时间维度,过去站在最高点的波峰,也不过是站在未来最低点的脚下而已。现如今,英伟达正在被市场看低,但一位知名科技博主指出,其实这家公司正在同时穿越三个山谷,一旦它成功抵达天国之城,就将成为未来元宇宙最重要的基础设施。文章来自编译。

英伟达的投资者之前一直都处在山谷之中:

英伟达的股价跌跌不休

不过,这张图表不是英伟达最近两年的情况,而是其从 2017 年初到 2019 年初的股价走势;下面这张是它从 2017 年到今天的股价走势:

英伟达当前的股价正在跌跌不休

过去三年,英伟达的业务发生了三件大事,将他们的股价推到了前所未有的高度:

疫情导致个人电脑购买量激增,尤其是游戏图形卡的购买量激增,因为客户既要买新电脑,手头又有一笔可自由支配的收入没地方花,就只能追求更好的游戏体验了。

机器学习应用在超大规模计算(hyperscalers)中出现爆发式增长,而这些都是用英伟达的 GPU 训练的。

加密货币泡沫导致对英伟达芯片的需求猛增,因为要挣钱(挖矿)得靠求解以太坊工作量证明(POW)方程。

加密货币的走势与其说是山谷,不如说是悬崖:以太坊成功切换到权益证明(POS)模型,令由成千上万的英伟达 GPU 搭建出来的一整个矿场在一夜之间变得一文不值;鉴于另一个采用工作量证明的主要加密货币网络,也就是比特币,几乎完全是用定制设计的芯片来开采的,所以所有这些旧的 GPU 都涌入到二手市场。对于英伟达来说,这是一段特别糟糕的时期,因为该公司之前为了满足对 3000 系列芯片的需求而付出的努力正值收获回报之际,疫情带来的购买热潮却已经结束。不用说,太多的新库存再加上太多的二手库存使得公司的财务业绩糟糕无比,尤其是英伟达还在打算为新系列清理渠道:

英伟达的游戏收入也下降了

上周在接受采访时,英伟达首席执行官黄仁勋(Jensen Huang)坦诚,公司没有预见到这一点:

我不觉得我们本可以预见到这一点。我不认为我会做什么不一样的事情,但我从之前的例子学到了一点,那就是一旦事情最终发生在你身上时,就唯有吞下苦果,然后放下……我们度过了两个糟糕的财季,在公司的背景下,两个糟糕的财季确实会让所有投资者感到沮丧,让所有员工感到艰难。

英伟达以前也遇到过这种情况。

出问题应对就是了,不要过度情绪化,了解问题是怎么出来的,让公司尽可能保持敏捷。但是一旦既成事实,你只能做出客观、艰难的决定。我们照顾好我们的合作伙伴,我们照顾好我们的渠道,我们确保每个人都有足够的时间。我们推迟了 Ada 的发售,从而确保各方都有足够的时间来对产品进行重新定价,这样即便在 Ada 的背景下,即便 Ada 出来了,重新定价后的产品其实还是具备非常好的价值的。我认为我们已经把各方都尽量照顾到了,这导致了两个相当糟糕的季度。但我认为从大局来看,我们很快就会回来的,所以我认为这也许是过去的教训。

这个说法也许有点托大;今年早些时候,Tae Kim 与 Doug O'Laughlin 等分析师预测英伟达的股价会暴跌,尽管鉴于英伟达在疫情中期已经订购了额外的一批 3000 系列 GPU,这些预测对于避开 PC 销售放缓与以太坊(从工作量证明)过渡的完美风暴大概已经为时已晚(黄仁勋还指出,芯片的生产前置时间增加是英伟达错得如此厉害的一个重要原因)。

对于英伟达来说,更令人担忧的是,虽然库存和以太坊问题是经历了“相当糟糕的财季”的最大的驱动因素,但这还不是其游戏业务正在经历的唯一低谷。我想到了约翰·班扬(John Bunyan)的《天路历程》(Pilgrim’s Progress):

可是在屈辱谷里,可怜的信徒可够受了;因为他还没有走多远,就看见一个叫做魔王(Apollyon)的凶恶的敌人在田野里迎面而来。

这个魔王叫做库存问题;故事里信徒打败了魔王,英伟达最终也能战胜库存问题。

走完这个山谷,又是一个叫做死荫谷的山谷;信徒必须要从这儿经过,因为到天国去的路就在它中间穿过。这山谷是个非常冷落的地方。先知耶利米对它这样形容过:“一片旷野,一片沙漠有深坑之地,一片干旱和死荫之地,一片无人(除了信徒)经过、无人居住之地。”

上周英伟达关于 GTC 的主题演讲令人震惊的是这个寓言在多大程度上契合英伟达的野心:该公司正在走上一段似乎相当孤独的旅程,去定义游戏的未来,现在还不清楚业界其他人会不会跟进或者什么时候跟进。此外,该公司在数据中心以及元宇宙方面也在追求同样大胆的战略:在所有这三个方向上,英伟达要追求的高度比它在过去两年里达到的那些成就都要高,但路径却是出奇的不确定。

山谷中的游戏:光线跟踪与人工智能

长期以来,3D 游戏的呈现都要靠一系列的技巧,尤其是照明方面的技巧。首先,游戏决定了你能看到什么(也就是渲染一个被其他物体遮挡的物体是无用功);然后,你得给物体(如一棵树、一棵草或任何你能想象到的东西)应用合适的纹理。最后,你得从预先确定的光源位置去打光,然后再给物体添加阴影。最后再把整个场景转换成一个个的像素,渲染到 2D 屏幕上;这个过程叫做光栅化。

光线跟踪对光线的处理方式是完全不一样的:光线跟踪不是用预先确定的光源来打光,应用阴影映射,而是从你的眼睛(或更准确地说,是你观察场景的摄像头)开始。然后再跟踪目光所及的屏幕的每一个像素,然后(基于像素所代表的对象类型)对像素进行折射处理,并继续跟踪该光线,直到光线击中光源(然后就进行光照处理),或者丢弃这条光线。这种处理能产生非常逼真的打光效果,尤其是反射和阴影效果。不妨看看下面这一来自《PC Magazine》 的图片:

我们来看看光线跟踪是如何改善了游戏的视觉效果的。我截取了 Square Enix 的《古墓丽影:暗影》PC 版的几张屏幕截图,这款游戏是支持Nvidia GeForce RTX 显卡的光线跟踪阴影效果的。可以仔细看看地面上的阴影。

采用光栅化的阴影效果采用光线跟踪技术的阴影效果

[…]与效果更粗糙的光栅化版本相比,光线跟踪的阴影效果更加柔和、更为逼真。其暗度取决于被物体遮挡住的光量多寡,甚至阴影本身都有明暗之分,而光栅化似乎给每个物体都赋予了一个非常生硬的边缘。光栅化的阴影效果看起来还不错,但是在玩了带有光线跟踪阴影效果的游戏之后,就很难回去了。

英伟达是在 2009 年首次宣布 API 支持光线跟踪的;不过,使用这种技术的游戏寥寥无几,因为这种技术的计算成本很高(电影 CGI 倒是运用了光线跟踪技术;不过,那些场景渲染一般都需要数小时甚至数天的时间;可游戏的渲染却必须是实时进行的)。所以 2018 年英伟达才推出了引入了专用光线追踪硬件的 GeForce 2000 系列显卡(所以才叫做“RTX”)。AMD 则走了另一条路,给其核心的着色器单元添加了光线跟踪功能(同时还进行光栅化处理);与英伟达的纯硬件解决方案相比 AMD 的要慢一些,但能用,而且重要的是,由于 AMD 同时为 PS5 和 Xbox 制造显卡,这意味着现在整个行业都支持光线追踪技术了。将来会有越来越多的游戏支持光线追踪,不过由于性能问题,大多数应用仍然相当受限。

不过,光线跟踪很重要一点在于:光照效果是动态计算出来的,而不是靠光线和阴影贴图,所以开发者可以“免费”获得光照效果。完全依赖光线跟踪技术的游戏或 3D 环境开发起来应该更容易、更便宜;更重要的是,这意味着环境可以以开发者从未预料到的动态方式发生变化,而且与大多数靠手工费力预制的环境相比,其光照效果还更为逼真。

对于两个新兴的应用场景而言,这一点尤其吸引人:一是像《我的世界》(Minecraft)一样的模拟游戏 。有了光线追踪技术,拥有高度详尽的 3D 世界这个梦想会变得越来越接近现实,因为这些 3D 世界都是动态构建的,而且拥有完美的光照效果。未来的游戏可以走得更远:英伟达的主旨演讲一开始就介绍了一款叫做 RacerX 的游戏,包括物体在内,游戏当中的每一个部分都进行了完整的模拟;游戏内的物理特性也利用了相同类型的光照计算。

第二个场景是我在《DALL-E、元宇宙与零边际成本内容》中讨论过的 AI 生成内容的未来。我上面提到的所有纹理目前都是手工绘制的;随着图形功能(主要由英伟达推动)的增强,由于需要创作高分辨率的资产,新游戏的开发成本也会随之增加。因此,可以想象,将来有可能资产完全是自动化创建出来的,而且是实时进行的,然后再通过光线跟踪技术赋予合适的光照效果。

不过,目前英伟达已经在用 AI 来渲染图像了:该公司此次还发布了深度学习超级采样(DLSS)技术的第 3 版。这项技术可以预测帧并进行预渲染处理,这意味着那些帧根本不需要计算(之前版本的 DLSS 需要对独立像素进行预测和预渲染)。此外,就像光线跟踪技术一样,英伟达也采用了专用硬件,让 DLSS 的性能更好。这些新做法搭配上英伟达 GPU 的专用内核,令英伟达非常适合为游戏与沉浸式 3D 体验(如虚拟世界)建立全新的范例。

但问题是:所有这些专用硬件都要付出代价。 英伟达的新 GPU 是大芯片——顶级的 AD102,以 RTX 4090 的形式出售,这是一款完全集成的片上系统,采用台积电 N4 工艺,尺寸为 608.4 平方毫米;相比之下,AMD 即将推出的 RDNA 3 显卡系列内置的顶级芯片 Navi 31 芯片是小芯片(chiplet)设计,采用台积电 N5 工艺,尺寸为 308 平方毫米,加上采用台积电 N6 工艺的 6 颗 37.5 平方毫米的内存芯片。简而言之, 英伟达的芯片要大得多(这意味着更贵),而且它采用了稍微更现代的工艺流程(可能成本会更高)。 Dylan Patel 在 SemiAnalysis 上解释了这种做法的潜在影响:

简而言之,通过放弃 AI 和光线追踪固定功能加速,转而采用先进封装的更小芯片,从而节省了大量芯片成本。 AMD 的 RDNA 3 N31 和 N32 GPU 的先进封装成本显著上升,但相对于晶圆和成品率成本来说,小型扇出 RDL 封装仍然非常便宜。到头来,与通过将内存控制器与无限的缓存拆分、使用更便宜的 N6 而不是 N5 ,以及更高的产出所节省的成本相比,AMD 封装成本的增加就不值一提了......在接近十年的时间里,英伟达在传统光栅化的游戏性能方面第一次出现成本结构更糟的局面。

这就是英伟达正在走进的山谷。由于 4000 系列的高昂价格,在英伟达做完主旨演讲之后,尤其是当英伟达的网站上的细则表明英伟达发布的其中一款二级芯片其实更类似于三级芯片换了个马甲时,游戏玩家们马上开始竭力反对,他们怀疑英伟达是在玩营销游戏来掩盖价格的大幅上涨。 Nvidia 的显卡性能也许是最好的,而且毫无疑问最适合未来的光线追踪与 AI 生成内容,但代价是它无法为当今的游戏提供最佳的价值。要达到纯模拟虚拟世界的高度,需要熬过一代的时间,对大多数游戏玩家还不关心的功能进行收费。

在山谷中的人工智能:是系统,而不是芯片

对英伟达在游戏方面的做法持乐观态度的原因之一,是该公司在发明着色器(shader)时已经对未来下了类似的赌注。我曾经在去年的 GTC 之后解释过着色器:

英伟达先是凭借 Riva 和 TNT 系列视频卡(经过了硬编码,可对类似微软的 Direct3D 等 3D 库进行加速)而声名鹊起:

不过,GeForce 系列可以通过一种叫做“着色器”的计算机程序进行充分编程。这意味着哪怕是在制造出来之后,GeForce 卡也可以通过开发新的着色器(比方说用来支持新版本的 Direct3D)来加以改进。

[…]更重要的是,着色器不一定就得是渲染图形;任何类型的软件——理想情况下任何可以并行运行的简单计算程序——都可以编程为着色器;诀窍是弄清楚如何写这种程序,这就是 CUDA 的用武之地。我在 2020 年的那篇谈英伟达的集成梦想的文章中解释道:

这种抽象层次的增加意味着底层图形处理单元可以更简单,这意味着图形芯片可以拥有更多的 GPU。比方说, 英伟达刚刚发布的 GeForce RTX 30 系列最先进版本的内核数达到了令人难以置信的 10496 个。

这种程度的可扩展性对视频卡来说很有意义,因为图形处理完全是并行处理的:一块屏幕可以分成任意数量的多个部分,每一部分均可同时独立计算。这意味着性能可以水平扩展,也就是说,每增加一个内核都能提高性能。不过,事实证明,可以充分并行运算的计算类型并不只有图形而已……

所以英伟达才从模块化的组件制造商变成了软硬件集成制造商。模块化组件是指它的显卡,而软硬件集成是指它的 CUDA(统一计算设备架构)的平台。 CUDA 平台可以让程序员通过多种语言访问英伟达显卡的并行处理能力,但又不需要了解如何对图形进行编程。

现在 Nvidia “技术栈”有三个层级:

不过,要想了解 CUDA ,重要的一点是要知道它并不仅仅是让外部程序员能够为英伟达的芯片编写程序,CUDA 也为英伟达本身赋能了。

这大部分是出于绝望。 去年春天,黄仁勋在接受我们采访时解释到,在他看来对公司未来至关重要的着色器的引入,几乎杀死了这家公司:

可编程性的缺点是效率要差一些。正如我之前所提到的那样,功能固定的东西更高效。任何东西只要是可编程的,任何光看定义可以做不止一件事情的东西,对于完成任何特定任务来说都会带来不必要的负担,所以这里的问题是“我们该什么时候做这件事(让自己的东西可编程)?”当时给我们启发的一点是,一切看起来都像 OpenGL 的飞行模拟(OpenGL Flight Simulator)。一切都可以看成是模糊纹理和三线性插值细化纹理,一切东西都没有生命,但我们觉得,如果不赋予媒介生命的话,就没法让艺术家创造出不一样的游戏,不一样的流派,讲述不一样的故事,而最终媒介也将不复存在。与此同时,我们也希望做出一个更加可编程的调色板,让游戏和艺术家可以用它做一些很棒的事情,我们受到了这种野心的驱使。还有一个动机也在敦促我们做这件事,那就是有朝一日就算显卡被商品化了我们也不会倒闭。所以当这些考量到了一定程度,我们就开始做可编程的着色器,所以我认为要这样做的动机是非常明确的。但后来我们受到的惩罚是我们没想到的。

什么样的惩罚?

这个惩罚来得太突然,所有我们对可编程性的预期,所有我们为将来所做的,在一切不必要功能方面的开销,这些都是惩罚,因为当前的应用并不能从中收获好处。除非出来新的应用,否则的话,我们的芯片会显得太贵,而现在的市场竞争非常激烈。

英伟达之所以能活下来,是因为他们的直接加速能力仍然是最好的。从长远来看,英伟达仍将蓬勃发展,因为他们为了利用着色器而开发了一整个 CUDA 基础设施。这就是数据中心增长的来源;黄仁勋解释道:

从你成为一家处理器公司的那一天起,你就必须内化这一点:这个处理器架构是全新的。以前从未出现过像这样的可编程像素着色器,或者这样的可编程 GPU 处理器,以及这样的编程模型,因此我们得内化这个。你必须内化这是一种全新的编程模型,而且与成为一家程序处理器公司或一家计算平台公司相关的一切你都得做出来。所以我们必须建立一支编译器团队,我们必须考虑做出 SDK,必须考虑建立自己的库,也必须与开发者接触,宣传我们的架构,并帮助人们实现它的好处,如果不行的话,甚至你得自己开发新的库,让人们可以轻松地将自己的应用移植到我们的库,然后看到它的好处。

这个故事之所以要再讲一遍,第一个原因是要指出着色器复杂性的成本与当前游戏的光线追踪和人工智能的成本之间的相似之处;二是要大家注意这一点,英伟达解决问题的方法一直都是自己把所有的事情都干了。在那时候,它意味着要开发出 CUDA 来对这些着色器进行编程;而在今天,这意味着要为人工智能开发出整套系统。

黄仁勋在上周的主旨演讲中谈到:

英伟达致力于通过加速计算来推动科学与工业发展。无需做加速计算即可取得更好性能的时代已经结束了。使用没有加速支持的软件,只能花费高昂成本来弥补其性能与扩展性的不足。近 30 年来英伟达始终专注于这一领域, 作为加速软件与扩展计算的专家,英伟达提供了百万倍的加速,远超摩尔定律。

加速计算是一项全栈挑战。需要对问题领域有深入了解,并对计算的每一个层次以及 CPU、GPU 与 DPU 这三种芯片进行优化。跨多 GPU 多节点扩展是数据中心规模所面临的挑战,要将网络和存储与计算资源统一调配,从 PC 到超级计算中心和企业数据中心,从云端到边缘,开发者和客户希望能在许多地方跑自己的软件。不同的应用希望在不同的位置以不同的方式运行。

今天,我们将着眼于全栈来讨论加速计算。我们将介绍新的芯片,并阐述其如何用有限的晶体管释放更多的性能,我会介绍新的库,以及这些库如何加速科学和工业领域的关键任务,还有特定领域专用的新框架,有助于开发性能更高且易于部署的软件。以及新平台,它可以让你安全、安心地部署软件,并获得数量级的提升。

在黄仁勋看来,光是有速度很快的芯片已不足以应对未来的工作负载:这就是英伟达要用上自己的所有设备来建设整个数据中心的原因。不过,再一次地,在一个每家公司都需要加速计算的未来里,英伟达专门为他们打造的数据中心——英伟达的天国之城(Celestial City)——却与现状形成鲜明对比,因为现在的数据中心里面,英伟达芯片的最大用户是那些自己的系统已经就位的大型玩家(hyperscalers)。

比方说,像 Meta 这样的公司就不需要英伟达的网络;他们发明了自己的。这些公司确实需要大量可大规模并行化的芯片来训练自己的机器学习算法,这意味着他们必须给英伟达交钱,贡献其高额利润。也就难怪 Meta 和之前的谷歌一样,正在开发自己的芯片。

这就是所有大公司都可能要走的一个过程:他们不需要英伟达的系统,他们需要的是可以满足他们的要求,跑他们的系统的芯片。这就是为什么英伟达会如此卖力地投入到人工智能和加速计算的大众化的原因:从长期看,规模化的关键在于为除了最大玩家之外的所有人开发系统。穿越山谷的诀窍在于,在英伟达目前的大客户停止购买英伟达昂贵的芯片之前,就能看到该生态体系的发展。 黄仁勋曾经预见到 3D 加速器将会被商品化,于是用着色器来实现跨越;你会感觉到他对芯片也有同样的恐惧,所以现在正在跃进到做起系统来。

在山谷中的元宇宙: Omniverse Nucleus

在去年春天的采访中,我曾问黄仁勋英伟达会不会自己做云服务;

如果我们要做服务的话,除了我们自己做的东西以外(如果必须自己做的话),这个服务还会运行在世界各地的 GPU 上,跑在每个云上面。我们公司制定的其中一条规则是不浪费公司的资源去做已经有的东西。如果某个东西已经存在,比方说 x86 CPU 这样的东西,我们会直接用。或者如果某个东西已经有了,我们会选择与其合作,因为我们不想把自己稀缺的资源浪费在那上面。所以,如果云端已经有了某个东西了,我们绝对只会用那个东西,或者让那个东西去做就行了,这样会更好。但是,如果做有些东西对我们来说行得通,但对他们没有意义的话,我们会找他们去做;如果其他人不想做,那么我们可能会决定自己去做。对于要做什么我们是很有选择性的,但对于其他人已经做过的,我们态度非常坚决,那就是不做。

事实证明,有个东西是没有其他人想做的,那就是为 3D 对象建立一个通用的数据库,这个数据库的用处是英伟达所谓的 Omniverse。这些对象可以是用于制造业或供应链的超级详细的毫米精度级对象,也可以是为虚拟世界生成的奇幻对象和建筑物;按照黄仁勋的设想,任何在 Omniverse Nucleus 上做开发的人都可以使用这些对象。

此处的天国之城是一个跨行业和娱乐可用的 3D 体验世界——如果你愿意的话,可称之为元宇宙的 Omniverse,它们全都连接上英伟达的云服务——且其雄心壮志足以让扎克伯格感到脸红!出于同样的原因,这座山谷似乎更加漫长,更加黑暗:你不仅需要创建所有这些资产以及 3D 体验,而且需要让整个市场相信其实用性和必要性。为一个尚不存在的世界建设一个云服务,就是为了攀上目前仍然看不见的高度。

黄仁勋与英伟达的雄心壮志之大是毫无疑问的了,尽管有些人可能会质疑同时穿越三座山谷的智慧如何;除了那场游戏业的完美风暴以外,他们的股票本身仍走不出山谷也许也是合理的。

不过,值得考虑的是, 英伟达客户(无论是消费者客户还是企业客户)对公司感到沮丧的首要原因是价格:英伟达的 GPU 价格昂贵,而且公司的利润(除了最近几个季度以外)非常高。不过,就英伟达的情况而言,其定价权直接来自英伟达自己的创新,这既体现在既定工作负载的绝对性能方面,也体现在其对 CUDA 生态体系的投资、为全新的工作负载创造出来的工具上。

换句话说,因为过去承担了自己现在正在着手的事情的那种风险,英伟达已经赢得了被憎恨的权利。举个例子,假设未来对所有游戏的期望不仅仅是要能光线追踪,而且要对所有粒子进行全方位的模拟:英伟达在硬件上的投资将意味着它会像光栅化时代一样主宰那个时代。同样地,如果 AI 应用被大众化,而且可供所有企业使用,而不只是超大规模的企业能用的话,那么英伟达的价值定位将是掌握整个长尾。再者,如果我们进入了元宇宙的世界的话,那么英伟达不仅在基础设施方面有领先优势,而且在让那个世界成为现实所必需的基本对象库方面也有领先优势(当然了,这些对象将在 AI 生成的空间里利用光线追踪点亮),从而让英伟达成为该领域最重要的基础设施。

这些赌注未必全都能获得回报;不过,我确实欣赏这个愿景之大胆,如果英伟达将来得以穿过山谷,到达天国之城,从而获

得可观利润的话,我也不会嫉妒的。

24快报
JSON抓取失败