Perplexity展示如何在老旧GPU和AWS网络上高效运行大型AI模型

AI搜索提供商Perplexity开发了新的软件优化技术,让万亿参数大模型能在老旧、便宜的硬件上高效运行,包括使用亚马逊专有的弹性网络适配器。这项创新解决了大规模专家混合模型面临的内存和网络延迟挑战。研究显示,相比单节点配置,优化后的核心程序在多节点部署中实现了显著性能提升,使企业能更长时间利用现有硬件,或使用折扣云实例运行下一代前沿模型。

AI搜索服务商Perplexity的研究团队开发了一套全新的软件优化方案,使万亿参数或大型模型能够在老旧、更便宜的硬件上高效运行,并使用多种现有网络技术,包括亚马逊专有的弹性网络适配器(EFA)。

这些创新成果详见本周发布的论文,并在GitHub上开源供进一步研究。该方案为解决大规模专家混合模型(MoE)服务中的最大挑战之一提供了新方法:内存和网络延迟问题。

参数越多,问题越多

MoE模型,如DeepSeek V3和R1或月之暗面AI的Kimi K2,规模庞大,参数量从6710亿到1万亿不等。这意味着它们太大,无法在使用老旧H100或H200 GPU的八GPU系统上大规模运行。当然,在某些情况下,你可能能够装载模型权重,但不会有足够的内存来存储键值缓存(模型的短期记忆),无法以合理规模提供服务。

为了解决这个问题,你要么需要更大的系统,要么需要在多个较小的系统之间分片你的模型。

简单的解决方案是将这些模型部署在英伟达的GB200或GB300 NVL72机架系统上,这些系统本质上就像一台巨大的服务器,配备72个192GB或288GB的GPU,足以支持更大的多万亿参数大语言模型。

不幸的是,这些系统价格昂贵,需求极高,而且可能在某些地区无法获得——咳咳,中国。相比之下,基于老旧H100或H200的系统供应充足且相对便宜,但需要跨多个节点分布模型,这传统上会带来严重的性能损失。

从密集模型(每生成一个Token都要从内存中读取全部权重)转向稀疏MoE模型(请求被路由到较小的权重子集,我们称之为专家)的转变进一步加剧了这些损失。每个Token(想象成词汇片段或标点符号)可能由不同的专家集合生成。

这种架构的好处是减少了达到期望交互水平所需的内存带宽。另一方面,从网络角度来看,它的通信量也明显增加。

对于单节点或机架系统,NVLink或AMD的Infinity Fabric等高速互连可以轻松适应额外的流量。但对于跨多个节点分布的模型,模型专家可能在不同系统的GPU上运行,这些系统通过速度慢7到14倍的互连连接。

为了解决这个问题,DeepSeek V3背后的开发者开发了DeepEP——这里EP代表专家并行——一个软件框架,旨在最小化其模型在多个使用英伟达ConnectX网卡连接的H800系统上运行时的性能损失。

削减EFA开销

正如你可能已经推测的那样,问题是并非每个人在其计算环境中都使用英伟达的网卡。亚马逊云服务(AWS)就是一个典型例子。

AWS没有使用标准以太网或英伟达的InfiniBand互连技术,而是开发了自己的网络协议,称为弹性网络适配器(EFA)。

与英伟达Hopper代HGX和DGX系统中常用的ConnectX-7网卡一样,EFA支持高达400Gbps的聚合带宽。但正如Perplexity在其研究中指出的,这些网卡在几个显著方面存在不足。

首先,这家AI搜索服务商指出,EFA在MoE调度和合并过程中交换的消息大小方面不如英伟达的网卡。其次,EFA缺乏对GPUDirect Async的支持,这是一项允许网卡绕过主机CPU直接与GPU通信的技术。因此,EFA在某些工作负载中会产生延迟损失,因为数据必须首先通过CPU代理。

为了解决这个问题,Perplexity开发了一套新的内核——处理GPU之间通信的优化软件例程——该公司声称在ConnectX-7网卡上实现了比DeepSeek的DeepEP更低的延迟,并使EFA在MoE模型的分布式推理中变得可行。

与DeepSeek现有的DeepEP库相比,Perplexity的内核在英伟达ConnectX-7上运行时在某些指标上取得了略好的性能,同时也将EFA延迟降低到可接受的水平。

为了验证这些测试,Perplexity在其内部推理引擎上使用DeepSeek V3和Kimi K2测试了这些内核,运行在一系列AWS H200 p5en实例上,使用EFA进行节点间通信。

虽然DeepSeek V3不是万亿参数模型,参数量略低于7000亿,但它足够小,可以装入单个H200实例,因此可以作为评估性能提升的基线。

在测试中,Perplexity比较了单个八GPU系统与16个GPU(两个实例)或32个GPU(四个实例)的多实例设置的性能。虽然在低批次和高批次大小下性能保持相当一致,但Perplexity观察到,多节点配置中更高程度的专家并行性允许在中等批次大小下获得更高的性能。

与单节点基线相比,Perplexity的优化内核在将模型分布到两个和四个节点配置时提供了显著的性能提升。

这些性能特性也扩展到像Kimi K2这样的更大模型,该模型太大而无法装入单个实例。尽管与英伟达的NVLink或AMD的Infinity Fabric相比存在带宽限制(可能比以太网快14倍),Perplexity仍然能够在中等批次大小的多节点推理中展示有意义的性能提升。

Perplexity针对亚马逊EFA网络技术的内核优化工作仍在进行中。这家AI搜索服务商表示,它正在跟进亚马逊libfabric库的更新,以减少数据平面开销,并计划试验efa-direct以进一步降低延迟和提高整体性能。

然而,真正的好处可能是让那些现在可以更长时间利用现有硬件,或在全球最大的云服务商上利用折扣实例类型的用户,而不会错过下一代前沿模型。

Q&A

Q1:什么是专家混合模型(MoE),为什么它们需要特殊的优化?

A:专家混合模型是一种AI架构,如DeepSeek V3和Kimi K2,参数量从6710亿到1万亿不等。与密集模型不同,MoE模型将请求路由到较小的权重子集(专家),虽然减少了内存带宽需求,但增加了网络通信量,在多节点部署时会带来性能损失。

Q2:Perplexity的优化方案解决了什么问题?

A:Perplexity开发了新的软件内核,专门解决在AWS的弹性网络适配器(EFA)上运行大型MoE模型时的性能问题。EFA缺乏GPUDirect Async支持,数据需要通过CPU代理,产生延迟。新内核实现了比DeepSeek的DeepEP更低的延迟,使老旧GPU系统也能高效运行大模型。

Q3:使用老旧GPU运行大型AI模型有什么优势?

A:老旧的H100或H200 GPU系统供应充足且价格相对便宜,而新的GB200或GB300系统价格昂贵、需求极高且在某些地区无法获得。通过Perplexity的优化方案,用户可以更长时间利用现有硬件,或在云服务商上使用折扣实例,而不会错过最新的前沿AI模型。

来源:The Register

0赞

好文章,需要你的鼓励

2025

11/06

11:03

分享

点赞

邮件订阅