在Google I/O 2023活动中,Google软件产品组合中的生成式AI功能成为焦点,这一点毫不奇怪。如今的共识是,也许Google并不像在今年3月发布有限公测的Bart聊天机器人前端一度看起来的那样,落后于OpenAI/Microsoft的动态二人组。这意味着OpenAI和Microsoft可能不会像四十年前的Microsoft和Intel那样成为AI软件和硬件的垄断。这种垄断局面在三十年前扩展到数据中心。
在这个可能形成的双头垄断中,OpenAI是软件供应商,而Microsoft Azure是硬件供应商。据说微软使用了10,000个Nvidia A100 GPU来训练来自OpenAI的GPT 4大型语言模型,并且有传言称他们正在积累25,000个GPU来训练GPT 5的继任者。国外媒体推测这些GPU将是Nvidia A100和H100混合型号,因为即使对于微软和OpenAI来说,获得25,000个H100 GPU可能也是一项挑战。
在使用Azure云服务的Microsoft和OpenAI之外的客户在可获得的资源方面更有限。nextplatform最近与微软Azure HPC和AI总经理Chappell的交谈得知 Azure在构建其AI超级计算机时并没有采取任何奇特的做法。微软正在使用标准的八路HGX-H100 GPU板和来自Nvidia的双插槽Intel “Sapphire Rapids” Xeon SP主机节点,以及其400 Gb/秒的Quantum 2 InfiniBand交换机和ConnectX-7网络接口,将节点与彼此连接起来,构建Azure实例,这些实例以4,000个GPU(或500个节点)为区块进行扩展。
谷歌将A3 GPU实例称为“超级计算机”,鉴于它们将使用同样作为谷歌网络骨干的“Apollo”光电路交换(OCS)网络进行互连,为什么不把一组A3实例称为超级计算机呢?Apollo OCS网络可重新配置以适应不同的拓扑结构,并且在其他数据中心互连任务中,用于将TPUv4节点连接到那些4,096个TPU pod中的其他节点。OCS层在leaf/spine Clos拓扑结构中取代了spine层。
A3实例基于相同的HGX-H100系统板和直接来自Nvidia的Sapphire Rapids主机系统,这些系统板被其他超大规模云服务提供商和云构建者用于部署”Hopper” GH100 SXM5 GPU加速器。HGX-H100卡上的八个GPU使用非阻塞的NVSwitch互连,具有3.6 TB/秒的双向带宽,有效地将GPU及其存储器连接成一个单一的、类似NUMA的GPU计算复合体,通过共享内存实现跨计算资源的共享。主机节点运行一对Intel的56核Xeon SP-8480+ Platinum CPU,频率为2 GHz,这是用于双插槽服务器的顶级通用部件。该计算机配置了2 TB DDR5内存,运行频率为4.8 GHz。
Google的主机还使用了与英特尔共同设计的“Mount Evans” IPU,该IPU具有200 Gb/秒的带宽,以及一个可编程的P4编程语言的定制数据包处理引擎和16个Neoverse N1核心,用于在大规模通信中进行辅助处理。Google拥有自己的“服务器间GPU通信栈”,以及NCCL优化.
谷歌表示,A3 超级计算机的 AI 性能可以扩展到 26 exaflops,这意味着 FP8 或 INT8 精度。 如果是这样的话,H100 GPU 加速器的额定峰值为 3,958 万亿次浮点运算,这意味着在 26 万亿次浮点运算时,A3 超级计算机拥有 6,569 个 GPU,相当于 821 个 HGX 节点。 这比 Microsoft 和 Oracle 分别提供的 500 个节点和 512 个节点的商用产品要大大约 60%。
据悉谷歌以更大的规模来训练其 PaLM 2 大型语言模型——可能远远超过 10,000 台设备, PaLM 1在一对 TPUv4 pod 上进行训练,每个 pod 都有 3,072 个 TPU 和 768 个 CPU 主机。 目前尚不清楚为什么它没有使用每个 Pod 的全部 4,096 个 TPU,但 Google 确实声称在 PaLM 1 训练运行中的计算效率为 57.8%。
谷歌之前在2022年10月推出了基于Mount Evans IPU和Sapphire Rapids Xeon SP的C3机器系列,并于今年2月开始提供公开预览。而基于Nvidia的”Lovelace” L4 GPU加速器用于推断的G2实例则自今年3月以来一直处于公开预览阶段,单个虚拟机中可扩展从一个到八个L4 GPU加速器。与H100类似,L4支持F8和INT8处理,以及更高的精度(随着精度的提高,吞吐量相应减少)。
外媒认为谷歌的GPU数量远多于TPU。谷歌的GPU数量可能是TPU数量的2倍到3倍,即使TPU在谷歌内部工作负载中被广泛使用,即使比例正在缓慢向TPU转变,GPU数量仍然非常庞大。
然而,TPU不支持Nvidia的AI Enterprise软件堆栈,而全球许多AI组织使用该软件堆栈来训练模型。如果谷歌想吸引客户来使用其云服务,就必须支持GPU,并且只有在客户使用了GPU之后,谷歌才能向他们展示TPU的好处。亚马逊网络服务(Amazon Web Services)的自主研发的Trainium和Inferentia芯片也面临着相同的问题,而据一直流传的传言,微软也在不断开发定制芯片,但目前还没有看到Azure推出的重型计算引擎。