人工智能(AI)芯片有两个功能,AI构建者首先获取大量数据集并运行复杂的软件来寻找该数据中的模式,这些模式被表示为模型,因此我们有芯片来“训练”系统生成模型。
然后,该模型用于根据新数据进行推理,并且该模型从该数据中推断出一些可能的结果。在这里,推理芯片针对已经训练过的模型运行新数据。
训练芯片旨在全速运行,有时一次运行数周,直到模型完成。因此,训练芯片往往很大,对算力要求较高。
推理芯片更加多样化,其中一些用于数据中心,另一些用于智能手机和摄像机等设备的“边缘”。这些芯片往往更加多样化,旨在优化不同方面,例如边缘的电源效率。当然,还有各种中间变体。关键是“AI芯片”之间存在很大差异。
对于芯片设计师来说,这些是非常不同的产品,但与所有半导体产品一样,最重要的是在它们上面运行的软件。从这个角度来看,情况要简单得多,但也复杂得令人眼花缭乱。
推理芯片通常只需要运行来自训练芯片的模型,训练芯片之所以复杂,是因为在训练芯片上运行的软件千差万别,这是至关重要的。现在有成百上千个框架用于训练模型,有一些非常好的开源库,但也有许多大型 AI 公司/超大规模公司构建了自己的库。
由于训练软件框架的领域非常分散,实际上不可能构建针对它们优化的芯片。正如我们过去指出的那样,软件中的小改动可以有效抵消专用芯片提供的增益。此外,运行训练软件的人希望该软件针对其运行的芯片进行高度优化。运行这个软件的程序员可能不想弄乱每个芯片的复杂性,他们的工作已经够辛苦的了,他们不想只为一个芯片学习低级代码,以后又要为新芯片重新学习技巧和快捷方式。即使该新芯片提供“20%”更好的性能,重新优化代码和学习新芯片的麻烦也会使该优势变得毫无意义。
这让我们想到了 CUDA——英伟达(Nvidia) 的芯片编程框架,任何从事训练系统工作的软件工程师都可能对使用 CUDA 有所了解。CUDA并不完美,但它很好用,巨大的财富建立在这样的奇思妙想之上。由于用于训练的软件环境已经如此多样化且变化迅速,因此,训练芯片的默认解决方案是 Nvidia GPU。
目前,所有人工智能芯片的市场规模为数十亿美元,预计在可预见的未来每年将增长 30% 或 40%。麦肯锡的一项研究显示,到 2025 年,数据中心 AI 芯片市场将达到 130 亿-150 亿美元,相比之下,目前 CPU 市场总额约为 750 亿美元。
在价值 150 亿美元的人工智能市场中,大约三分之二是推理,三分之一是训练,这是一个相当大的市场,所有这一切的一个问题是训练芯片的价格达到1000美元甚至10000美元级别,而推理芯片的价格在 100 美元以上,这意味着训练芯片的总数只占总数的一小部分,大约 10%-20%。