[GeForce] 到人工智能 [AI]:[NVIDIA] 围绕 [CUDA] 的决定为何改变了一家公司的未来?

引言:能否放弃今天的利润,去构建明天的计算世界?
一家公司为了客户并未立即要求的功能投入巨资。加入这项功能推高了生产成本,但客户并不愿意为此多付钱。尽管如此,这家公司没有退缩,因为它不只是想卖一件新产品;它想搭建一个计算平台,让未来其他人能在其上创造自己的作品。
这正是 [NVIDIA] 在 [GeForce] 图形处理器 [GPU] 中引入 [CUDA] 功能时所作决策的核心。正如黄仁勋 [Jensen Huang] 所解释的,这个决定并没有给公司带来立竿见影的成功;相反,它带来了成本、利润压力和漫长的等待。但后来,它成为了深度学习 [Deep Learning] 发展的基石之一。
1. 从单一任务的加速器到广阔的计算平台
起初,[NVIDIA] 是一家把某一项特定任务做得很快的公司。这种专长给了它力量;但与此同时,只依赖一个狭窄的市场,也可能限制它的研发 [Research and Development] 能力。
这里存在一个矛盾:如果过度针对专门任务来设计,通用计算任务就可能难以完成;如果什么都想做,又可能失去最初的专长。黄仁勋的做法,是在两者之间循序渐进。
他解释说,第一步是可编程像素着色器 [Programmable Pixel Shader]。随后,着色器 [Shaders] 中引入了符合标准的32位浮点运算 [IEEE-compatible FP32]。这让研究者提出了一个问题:为图形打造的处理器,能否用于其他计算?
之后出现了以 (C) 编程语言为基础的 [Cg]。这段旅程最终走向了 [CUDA]。所以,这不是一天之内诞生的神奇方案,而是一段把一项技术能力与下一项能力相连接的持续旅程。
2. 比创造 [CUDA] 更重要的,是把它带到了哪里
创造出一项优秀技术,并不意味着人们就会开始用它。这需要编写程序的开发者 [Developers],也需要能够使用这些程序的大量用户。
一个计算平台 [Computing Platform] 的力量,不仅在于其设计之美,还在于它已经覆盖了多少人。黄仁勋将此解释为装机基础 [Installed Base] 的重要性。
他举的 [x86] 架构尽管饱受批评,却凭借广泛使用的力量屹立不倒;同时他指出,一些设计精简的精简指令集架构 [RISC Architectures] 并未获得预期的成功。这并非说所有 [RISC] 设计都失败了;关键在于,技术上的精巧本身并不能保证一个平台的成功。
那时,[GeForce] 已经以每年百万计的销量出售。因此,[NVIDIA] 手中已有一条现成的路,可以把新的计算能力带给大众。
3. 每一颗 [GeForce] 处理器中的 [CUDA]:在用户开口之前就建好的地基
他们本可以把 [CUDA] 功能只放在少数高价的研究机器里;但那样一来,能接触到它的人数会非常少。
相反,公司决定通过 [GeForce],把这项能力带进广泛普及的个人电脑 [PC]。为游戏购买的产品里,也有了用于研究的可能。学生、大学实验室,或独自搭建电脑的研究者,都能用手头已有的工具尝试新的计算。
这并不意味着 [CUDA] 在每一台电脑上都真正运行起来。要点是:他们以 [GeForce] 的装机基础为起点,让这项能力被更多人触手可及。
黄仁勋说,他们不止于提供工具,还走进大学授课、写书、开课。构建一个平台,并不止于卖出它的产品;还必须培养会使用它的知识与社区。
4. 眼前的代价:上升的成本与承压的利润
这一决策的经济负担并不轻。黄仁勋回忆道,加入 [CUDA] 能力使该处理器的成本上升了约50%,而当时公司的运营毛利率 [Gross Margin] 约为35%。
游戏用户不会为自己用不到的计算能力多付钱。因此,公司只能自己承担这部分成本;他形容说,那几乎吞掉了公司的全部毛利额 [Gross Profit Dollars]。
不能直接把这两个百分比相减来断定公司的财务状况:一个的基础是生产成本,另一个的基础是从收入算出的利润比率。他强调的不是简单的算术,而是当时的艰难处境:必须为明天的平台牺牲今天的收入。
他大致说道,当时公司的市值 [Market Capitalisation] 约为六十亿至八十亿美元,后来跌到约十五亿美元。这些是他凭回忆给出的估算,也不能据此断定 [CUDA] 是那段变化的唯一原因。
不过,他的另一个看法很重要:预期的成果花了大约十年才到来。这个决定不是为下一个季度的收入而做的。
5. 为什么这个决定成为深度学习的地基?
新研究面临的一大障碍,是获得工具所需的成本与困难。如果能在许多人已有的工具上开始新的尝试,这道障碍就少了一截。
通过 [GeForce] 普及开来的 [CUDA],建起了一个让研究者在相同的编程环境 [Programming Environment] 中做实验的地基;在其上积累的知识、程序与经验,也服务于一轮又一轮的新尝试。
当深度学习 [Deep Learning] 兴起时,适合其所需大规模并行计算 [Parallel Computing] 的工具,以及懂得使用这些工具的人,都已经就位。这是关键的先发优势。
深度学习的全部历史,并不只依赖于一家公司或一件工具。但在让它所需的计算平台广泛可得这一点上,这个决定占有重要位置。正因如此,黄仁勋强调:[NVIDIA] 是 [GeForce] 盖起来的房子。
6. 在技术决策之前建立起来的信任
一位领导者的脑海中,未来或许清晰可见;但如果董事会、管理者、员工、客户与股东不能接受,仅有这份清晰是不够的。
黄仁勋把自己的方法描述为循序渐进的解释。每当出现新的信息、研究进展或工程成就,他都会向周围的人说明,它们与未来的方向有何关联。
在宣布重大决定的那天,它对谁都不该是突如其来的惊雷;相反,它的地基应当早已打好,好到人们反而会想:为什么花了这么久?这是他的想法。
[CUDA] 决定的背后,也有着这种长期的信任与耐心。选定技术路线的同时,还必须让承担其成本的公司为这段旅程做好准备。
7. 不是一件产品,而是一个让伙伴共同创造的平台
[NVIDIA] 将自己视为一家平台公司 [Platform Company] 的思路,在这里同样重要。这种方式的核心,是在自己的每一层上,都为其他公司留出贡献与共同创造的空间。
这并不意味着它的所有软件都以开源 [Open Source] 方式提供;为伙伴提供共同创造的机会,与把源代码完全公开,是两回事。
一个好的平台,不只靠创造它的公司成长;研究者、开发者、企业与教育机构在其上构建的应用,同样让它成长。[CUDA] 相关的决定,打开了通往这种成长的大门。
8. 今天的启示:只加速一个处理器是不够的
在大规模分担的计算任务 [Distributed Workloads] 中,只加速其中一个部分,整个系统并不会以同样的幅度变快。阿姆达尔定律 [Amdahl's Law] 解释了这一点。
假设我们只能改进一项任务中一半的时间:无论把这一半加速多少,未被改变的另一半依然存在;即使被改进的部分快到几乎不花时间,整项任务最多也只能快一倍。
正因如此,图形处理器 [GPU]、中央处理器 [CPU]、网络 [Networking]、内存 [Memory]、供电 [Power] 与散热 [Cooling] 必须被设计成彼此配合的整体。黄仁勋将此称为极致协同设计 [Extreme Co-design]。
在这里,可以看到它与早期 [CUDA] 决定之间的延续:仅有单个工具的能力是不够的,使用它的整个生态也必须一同成长。
结语:一个创造了未来用途的决定
[CUDA] 问世的重要性,不只在于多了一项新的编程功能;它更深层的意义在于,他们把这项功能与已经在大量销售的 [GeForce] 结合在一起,提前把它送到了未来将会使用它的人们手中。
如果只看当时的成本,这个决定或许显得错误;但 [NVIDIA] 明白,一个计算平台的价值,也存在于别人将在其上构建的应用之中。
当技术、广泛的使用、教育、开发者社区与企业的耐心走到一起,一个新的机会诞生了;而这个机会,后来与人工智能 [AI] 世界的成长汇合。[CUDA] 的决定告诉我们的是:为了明天的大变革,今天就需要一个许多人能够共同搭建的地基。
Powered By K7
