在半导体行业的某些领域,少数公司的垄断已成为常态,特别是代工业务领域中TSMC和AI芯片中的Nvidia。凭借着为自己创造的绝对优势,这两个巨头几乎没有留给竞争对手任何可操作的空间。
这个行业是如何走到今天这种局面的呢?
Nvidia是控制着对AI进步至关重要的软件和硬件的歌利亚,而其他的AI处理器和加速器公司就像手中没有石子的大卫。
然而,这个赢家通吃的AI硬件市场,并不是因为Nvidia的竞争对手们没有足够努力造成的结果。
事实上,许多AI硬件初创公司在吸引VC社区投资半导体硬件方面发挥了关键作用。投资者对AI日益增长的热情最终导致了价值十亿美元的AI硬件“独角兽”的出现。
然而,这些初创公司没有一个能撼动Nvidia的AI堡垒。
Nvidia如何建立起迄今为止无人能敌的领先地位是有据可查的。(可出门右转阅读本公众号相关文章)
然而,我们到现在未谈到的是,是否还有其他公司有机会崭露头角。这个阶段的目标不是取代Nvidia,而是至少在AI市场上开启一个缺口。
Tenstorrent的Jim Keller去年在一次采访中说:“我们不是要打败Nvidia。”他指出,挑战一个年收入超过250亿美元的歌利亚是多么困难。(Nvidia去年第三季度的收入实际上是180亿美元。)
开源
面对这样的数字,竞争对手该怎么办?
如果Tenstorrent的说法(每个人都想要一个Nvidia之外的选择)成立,一种吸引AI开发者的方式是提供超越硬件的东西,比如一个易于使用的开源软件堆栈,即Nvidia Cuda的替代品。
本周,Tenstorrent宣布其内核级软件堆栈TT-Metalium开源。
Tenstorrent的高级研究员Jasmina Vasiljevic将TT-Metalium描述为“在抽象级别上完全可与Nvidia的Cuda或OpenCL比肩”。然而,Tenstorrent并没有打算让TT-Metalium来取代Nvidia的Cuda。她解释道:“这是一个低级别编程模型,它使开发者能够在Tenstorrent硬件上指令程序内核,并获得对公司所有硬件的完全访问权。”
该公司解释说,该举措旨在吸引那些希望编写高效代码并且可以不受限地访问硬件的AI和HPC开发者。
与Cuda这种闭源的并行计算平台和API不同,Tenstorrent希望新的TT-Metalium能够因其易用性而脱颖而出。引用Jim Keller的话,Vasiljevic表示,“Jim的高层策略之一是开源。”
争夺开发者的心智份额
然而,Tenstorrent面临的困境不仅仅是Cuda这种编程语言。Cuda是Nvidia耗时多年开发的一套库、工具和框架的简称。在许多方面,TT-Metalium的公告展示了许多AI硬件初创公司面临的不可能情况。一方面,他们必须通过尽可能多地销售硬件单元来盈利。此外,除非他们能向开发者证明他们能在Nvidia基于GPU的AI上更胜一筹,否则便无法打动市场。
Tenstorrent需要证明,其硬件不仅更加强大和高效,而且更灵活的“开源”编程模型和硬件架构能够满足AI开发者的需求。
Tenstorrent的首席客户官David Bennett坚持认为,一些机器学习和高性能计算开发者开始对Nvidia感到厌倦。
为了从新模型中获得最佳性能,开发者需要排队,并且强烈依赖Nvidia以获得对硬件的完全访问权。他们必须应对Cuda“复杂的API或封闭的特性”。
Bennett看到了Tenstorrent的机会。但这不会容易。
许多AI和高性能计算开发者已经使用Nvidia的工具链和软件生态系统,这为他们的所有需求提供了一站式服务。Tenstorrent面临的问题是,通过招募大量软件程序员来构建适用于其硬件的预编写代码集合,能够多快建立起自己的库。
在TT-Metalium的公告中,Tenstorrent几乎是顺便提到,其机器学习处理器Grayskull现已上市。尽管Tenstorrent需要销售Grayskull,但更紧迫的是将Grayskull开发者套件提供给尽可能多的AI开发者。Tenstorrent需要他们了解更多关于TT-Metalium的信息,并为这个开源项目做出贡献。
硬件优势?
随着生成式AI的出现,行业分析师不再热衷于特定的AI处理器或加速器架构。Yole Intelligence的高级计算和软件分析师John Lorenz说:“最近兴起的AI应用是由通用图形处理单元(GPGPU)训练的。这种解决方案的灵活性(例如使用Nvidia Cuda)是相对于许多AI硬件初创公司追求的更定制化的芯片的一个大优势。”
Jon Peddie研究公司的总裁Jon Peddie表示,“任何专用的东西都无法与Nvidia的规模经济竞争。Nvidia向游戏玩家、汽车客户、工程师、超算中心、电影制片厂以及AI研究者和开发者销售GPU。”
Peddie解释说,Nvidia在不同的封装和系统中都实现了FLOP单位成本最低。“GPU是一种通用处理器,擅长许多任务。一直以来,专用的应用特定处理器(ASP)在性能上都会超过通用处理器。但ASP在可扩展性、价格方面都不是很友好,也无法与通用处理器的进化速度相匹配,当然也无法与GPU这样的处理器相比。”
然而,Tenstorrent相信它在硬件上处于独特的位置。它的方法是将基于图形计算的AI硬件与RISC-V计算内核结合起来。通过增加RISC-V核,Tenstorrent打算提供一种具有灵活性的处理解决方案,支持未来的模型。Tenstorrent的AI处理基于数据流架构。正如Tenstorrent的Bennett所解释的,“如果出现一个新模型,可能在GPU上运行得不那么好,也许在传统的CPU上运行得更好。有了RISC-V计算内核,我们能够支持它。”
AI加速器的API标准化?
在半导体行业提供各种处理器选择的同时,软件开发者需要处理不同的API,迫使他们以不同方式编写软件,这种情况并不罕见。
一些行业观察者将当今AI市场的混乱与图形社区最初面对众多不同GPU时的情况进行比较。这种情况一直持续到微软设计出Direct X,有效地促使各种软件开发工作的整合。
一位Tenstorrent的发言人说,“如果你想为Windows编写游戏或一些图形密集型的内容,你必须使用Direct X。”在等同于Direct X的东西出现之前,AI软件开发仍然是一个混乱的领域。像Tenstorrent这样的每一家AI硬件公司都将依靠其自己的软件版本。
因此统一不同编程工作的希望,便指向了像Khronos Group的OpenCL和Intel的OneAPI这样的例子。
OpenCL
Nvidia的开发者生态系统副总裁兼Khronos Group和Metaverse Standards Forum Inc.的总裁Neil Trevett说,“这是不可避免的。”他认为“计算加速API”将继续发展。尽管如此,Trevett看到机器学习具有一些独特的特点。
即使在GPU图形市场中也不是只有一个API。有平台专有的API,如微软仅限Windows的DX12,以及跨平台的开放标准如Vulkan。Trevett怀疑,ML也是如此,Cuda就像是Nvidia GPU上计算的‘DX12’。
OpenCL(Open Computing Language),由Khronos推广,是一个开放的、无版税的标准,适用于超级计算机、云服务器、PC、移动设备和嵌入式平台上的不同加速器的跨平台、并行编程。
尽管有这种跨平台的使命,Trevett承认,“OpenCL无法与Cuda的投资水平竞争,因为OpenCL没有一个像Nvidia这样资金雄厚的平台倡导者。”Trevett解释说,在高性能计算和桌面计算方面,OpenCL远远落后于Cuda。
他总结说,计算/ML API将继续演进。CUDA和OpenCL计算API都将扮演角色,随着开发更多计算能力,像DX12和Vulkan这样的图形API也将如此。他说,“我们现在正处于一个混乱的演化阶段,很难精确地预测未来。”
OneAPI
与此同时,Intel正在向开发者推广一种名为“oneAPI”的加速计算规范。
Intel认为,该行业需要一种基于标准、可扩展、多供应商和多架构的API,以使加速计算更加普及。
Codeplay Software的首席商务官Charles Macfarlane在接受媒体采访时说,“oneAPI基于由行业定义的Kronos开放标准,并且是开源的。它已经跨平台支持包括Nvidia、AMD、Intel、RISC-V、RISC-V Vectors在内的GPU和加速器,而其他平台也在陆续实现中。”
Macfarlane补充说,为了使oneAPI更加独立,它正在向由Linux Foundation管理的Uniform Acceleration Foundation (UXL)过渡,该基金会由Intel、Qualcomm、Samsung、Fujitsu、Google、Arm、Imagination和VMware创立。
根据Macfarlane的说法,Codeplay Software正在通过在oneAPI中开源插件来促进这一过渡,使其能够支持Nvidia和AMD的GPU以及RISC-V加速器和其他处理器。Codeplay Software还提供了一个oneAPI构建套件,为新的处理器基础层提供支持,以使oneAPI SYCL生态系统得以实现。SYCL是一个高级编程模型,旨在提高硬件加速器上的编程生产力。
为何不加入行业的标准API?
考虑到为支持多供应商、多架构而设计的API正在取得进展,为什么Tenstorrent要寄托于TT-Metalium的开源呢?
Tenstorrent的Vasiljevic告诉我们,“从一开始就没有选择OpenCL是一个有意识的决定。”她解释说,OpenCL内核性能并不会自动转换到其他架构上。由于性能是Tenstorrent的首要目标,从那里开始并不合理。她指出Metalium软件和OpenCL的一个共同特点是“Host API非常相似,我们的目标是尽可能使它们相似,而不是在不必要的地方重新发明轮子。”
内核代码在C++这一点上与OpenCL类似。然而,她强调,“内核代码在底层驱动不同的架构。我们不像GPU那样执行线程。我们直接在我们的Tensix核上运行,这些内核执行张量数学。”
关于oneAPI,Tenstorrent的看法是什么?
Vasiljevic解释说,“Metalium是一个自下而上的软件堆栈,目标旨在集成到各种框架中,以增加我们的曝光度和对我们硬件的替代路径。她补充道,”尽管oneAPI“目前不在路线图上,但没有理由将其排除在外”。
为编译器
Tenstorrent的发言人指出,由于编译器对软件开发至关重要,Tenstorrent也在开发自己的编译器,名为Buda。“我们还有一个外部合作伙伴,以便我们能够在Metalium之上构建编译器。我们将在今年发布更多相关信息。”
Tenstorrent是许多正在开发AI芯片的公司之一。如果客户对Nvidia的主导地位感到不满,他们的选择是寻求另一种AI硬件或IP授权方式来开发自己的硬件。看到一个不可错过的增长机会,Tenstorrent在追求IP授权模式的同时也在销售自己的AI硬件。