网络如何承载AI大模型流量?
前言
随着AI大模型的兴起,数据中心正在经历前所未有的变革。AI模型的规模巨大并持续快速增长。自2017年起,AI模型的规模每半年翻一番,从初代Transformer的6500万增长到GPT-4的1.76万亿,预计下一代大语言模型的尺寸将达到10万亿。
什么是AI大模型?
AI大模型(Artificial Intelligence Large Model)是指具有庞大参数规模和复杂程度的神经网络模型,它们通过大规模的数据训练,能够在各种任务中表现出高度准确和广泛的泛化能力(即对新鲜样本或未知数据的适应能力)。
AI大模型具备以下特点:
- 参数规模庞大:AI大模型通常包含数十亿至数千亿个参数,这使得它们能够处理更加复杂的数据和任务。
- 学习能力强:由于参数众多,AI大模型能够从海量数据中学习到丰富的特征和模式,从而实现对复杂问题的准确预测和判断。
- 应用广泛:AI大模型在自然语言处理、计算机视觉、自动驾驶、医疗健康等多个领域都有广泛的应用。
不过AI大模型在展现其强大能力的同时,也为我们带来了如下挑战:
- 训练成本高昂:由于参数规模庞大,AI大模型的训练需要大量的计算资源和时间。
- 数据隐私和安全性问题:训练过程中可能涉及大量的敏感数据,如何保护这些数据不被泄露是一个重要问题。
- 泛化能力限制:尽管AI大模型在大规模数据上表现出色,但在少样本、小样本场景下的泛化能力仍有待提高。
AI模型是如何训练的?
上文提到AI大模型训练成本昂贵,那么AI模型是如何来训练的呢?它的训练步骤有哪些?
AI训练程序首先将模型参数加载到GPU内存中,之后进行多个epoch的训练。
每个epoch的处理过程可以简单描述为4步:
- 加载训练数据,在每个epoch中,根据batch size将整个数据集分为若干个mini-batch,分批次加载训练数据,直到遍历整个训练数据集。
- 训练,包括前向传播、计算损失、反向传播和参数/梯度更新,每个mini-batch都进行上述步骤。
- 评估,使用评估数据集对模型的指标进行评估。这一步是可选的,可以在整个训练完成后单独进行,也可以间隔若干个epoch进行一次。
- 保存checkpoint,包括模型状态、优化器状态和训练指标等。为了减少存储需求,通常经过多个epoch后保存一次。
AI大模型训练的网络流量有哪些?
在大模型出现之前,整个过程在一台AI服务器内部完成,训练程序从服务器本地磁盘读取AI模型和训练集,加载到内存中,训练、评估,然后将结果存储回本地磁盘。而大模型的出现改变了这一切。
首先是模型的参数规模超出了单个GPU的内存,以GPT-3为例,要加载1750亿参数及其优化器状态,需要至少125块H100/A100。其计算量也非常庞大,为了加速计算,需要更多的GPU,OpenAI在训练GPT-3时使用了1024块A100。 这些GPU要协同起来一起计算,需要相互之间通信以交换信息,包括参数/梯度、中间激活等。
同时,庞大的数据集被所有GPU共享,需要集中存放到存储服务器中。另一方面,定期保存的checkpoint包含了所有参数和优化器状态,也需要通过存储服务器共享。这样,在每个训练epoch中,都要通过网络读写数据,这些网络流量分为两类,如图1所示:
图1 AI训练时的网络流量分类
- 第一类是GPU之间同步梯度和中间激活的网络流量,它发生在所有GPU之间,是一种广播式流量,逻辑上需要所有GPU全连接。
- 第二类是GPU和存储服务器之间的流量,它仅仅发生在GPU和存储服务器之间,是一种单播流量,逻辑上仅需要以存储服务器为中心的星型连接。
网络如何承载AI大模型流量?
上述第一类网络流量——GPU之间的网络流量,与传统数据中心内部的流量迥然不同,具有广播式、超大流量、超低时延、超高频率、零容忍丢包和严格时间同步的特点。毋庸置疑,这样的流量特点对网络提出了新的需求。网络承载AI大模型流量是一个复杂而关键的任务,需要从多个方面进行优化和应对。
(一)网络架构优化
1. 高带宽网络:AI大模型训练需要处理大量的数据,因此网络必须具备高带宽以支持高速数据传输。传统数据中心的100Gbps带宽接入可能无法满足需求,需要升级到800Gbps、1.6Tbps甚至更高的接入带宽。
2. 多轨道网络架构:采用多轨道网络架构可以提高集群通信效率,减少跨交换机的通信量。例如星融元的星智AI网络——基于LLM大模型的Rail Only网络,架构图如下。
Rail-Only网络架构
3. 全互联架构:在AI大模型训练场景中,采用全互联架构可以减少网络跳数,降低时延。例如,在星融智算中心网络中,每个通道内Spine交换机和Leaf交换机之间做fullmesh全互联,如图2所示。
图2:full-mesh全互联组网
(二)协议与技术升级
1. RDMA:使用RDMA(远程直接内存访问)协议可以减少传输时延和提升网络吞吐。
图3:RDMA工作原理
从图3可以看出,RDMA绕过了操作系统提供的协议栈,规避了TCP/IP的限制,直接在网络传输层之下进行数据传输,并且允许网络适配器直接从内存缓冲区中读写数据,而无需CPU的干预。与传统模式相比,RDMA大幅度降低了消息传输中的处理延迟,能够充分利用网络带宽,提高数据传输的效率。
传统模式和RDMA模式的对比
国际组织(InfiniBand Trade Association, IBTA)发布了最早的 RDMA技术——IB。IB是为 RDMA 量身定制的网络技术,能够提供极高的网络带宽,以满足高性能计算中对数据传输速度的需求。但RDMA 在早期采用 IB 作为传输层,必须使用专门的IB 交换机和 IB 网卡才可实现,导致设备成本和维护成本高,兼容性和灵活性差。
而后IBTA 发布了RoCE技术,允许应用通过以太网实现远程内存访问。RoCE 技术可通过普通以太网交换机实现,只需服务器支持 RoCE 网卡即可。目前的 RoCEv2标准是UDP 协议,虽然 UDP 协议效率比较高,但不像 TCP 协议那样有重传机制等来保障可靠的传输,一旦出现丢包,必须依靠上层应用发现了再做重传,这就会大大降低 RDMA 的传输效率。因此,要想发挥 RoCE 真正的效果,必须为 RDMA 搭建一套不丢包的无损网络环境。星融元的CX-N系列云交换机搭建的超低时延无损以太网能够很好地承载RoCEv2,并基于RoCEv2打造了一张低时延、零丢包、高性能的HPC高性能计算网络。
2. 流量调控:流量控制技术的核心是限制单个客户端向服务器发送的数据量,以确保服务器能够及时处理这些数据。例如,星融元Asterfusion CX-N系列云交换机使用PFC技术来进行流控。
PFC是一种基于优先级的流量控制技术,如图所示,DeviceA发送接口被分成了8个优先级队列,DeviceB接收接口则存在8个接收缓存,二者一一对应。DeviceB接收接口上某个接收缓存发生拥塞时,会发送一个反压信号“STOP”到DeviceA,DeviceA则停止发送对应优先级队列的流量。
图5:PFC工作机制
3. 负载均衡:负载均衡技术的核心是将请求分发到多个服务器上,以提高系统的性能和可用性,避免拥塞和瓶颈。目前的负载均衡技术有DNS负载均衡、七层负载均衡、四层负载均衡等。下图是典型分布式架构的多层负载方案。
图6:多层负载方案
(三)硬件与设备优化
- 高性能交换机:使用高性能的交换机来支持高速数据转发和交换。交换机需要具备足够的端口数量和带宽,以支持大规模GPU集群的通信需求。如星融元CX864E-N 800G交换机等。
- DPU硬件卸载:通过DPU(数据处理单元)硬件卸载技术,可以将网络处理任务从CPU转移到DPU上,从而减轻CPU的负担并提高网络性能。例如,GPU Direct RDMA和GPU Direct Storage等技术可以优化GPU之间的通信路径和数据传输效率。
为AI流量而生——800G超级以太网交换机
上文提到优化硬件以承载AI大模型流量,数据中心交换机需要马不停蹄地升级换代,而星融元CX864E-N 800G交换机正是这样一款超级以太网交换机。它具有如下特点:
- 超大容量,支持64个800G以太网接口,共51.2T交换容量。
- 超低时延交换网,在800G端口上实现业界最强的560ns cut-through时延。
- 200+ MB大容量高速片上包缓存,显著减小集体通信时RoCE流量的存储转发时延。
- Intel至强CPU + 大容量可扩展内存,运行持续进化的企业级SONiC——AsterNOS网络操作系统,并通过DMA直接访问包缓存,对网络流量进行实时加工。
- INNOFLEX可编程转发引擎,可以根据业务需求和网络状态实时调整转发流程,最大程度避免网络拥塞和故障而造成的丢包。
- FLASHLIGHT精细化流量分析引擎,实时测量每个包的延迟和往返时间等,经过CPU的智能分析,实现自适应路由和拥塞控制。
- 10纳秒级别的PTP/SyncE时间同步,保证所有GPU同步计算。
- 开放API,通过REST API开放全部功能给AI数据中心管理系统,与计算设备相互协同,实现GPU集群的自动化部署。
总之,星融元CX864E-N 800G交换机在保持极致性能的同时,实现可编程、可升级的能力,与计算设备形成协同,共同打造10万级别的计算节点互联,将数据中心重构为可与超级计算机媲美的AI超级工厂。