本篇为“揭秘AI智算中心网络流量“系列的第三篇,前篇请参阅:
对于较小规模的AI模型,本地连接的磁盘存储可能就足够;进入大模型时代,则通常需要基于对象存储或并行文件系统的共享存储。一个完整的生成式AI的工作流的各阶段对存储有不同需求,具体可拆解如下:
我们大致可将AI智算中心内部的数据存储系统进行简单的层次分类,主要包括GPU内存、存储网和存储设备。
一般来说,在存储层次结构中位置越高,其存储性能(尤其是延迟)就越快。因为本文的定位在分析网络流量,我们将聚焦于存储网络(data fabric)层次,即智算中心内部GPU服务器内存与远端存储服务器之间传输的数据。
在一个计算和存储分离的部署场景中,一般推荐部署2张Spine-Leaf架构的物理网:前端网和后端网。其中,存储前端网和业务网共用一张物理网。
存储后端网则单独使用一张物理网,以保证分布式存储集群能够快速无阻塞地完成多副本同步、故障后数据重建等任务。存储节点对网络接入侧的可靠性要求相对较高,因此推荐使用双归(MC-LAG)或者多归(EVPN-Multihoming)接入。
存储网络流量主要发生在模型训练的场景,它是一种单播流量,逻辑上仅需要以存储服务器为中心的星型连接。
在一个epoch中,整个训练集被遍历一次,如果进行评估,验证集也将被遍历一次。以下假设在每个epoch中进行评估,整个数据集的存储大小为D。
以C4数据集为例,数据集的大小约38.5 TB,假设张量并行GPU数量为8,3D并行时每个epoch中加载数据集产生的网络流量为308TB。
Checkpoint中存储了模型参数、优化器状态和其它训练状态(包括模型配置、训练的超参数、日志信息等)。优化器包含了梯度、动量和二阶矩估计等,每一种数据大小都等于模型参数。其它训练状态的大小可以忽略不计。假设模型参数为P,数据格式为BFLOAT16,优化器为Adam/AdamW,则checkpoint总大小为:
2 x P + 2 x P x 3 = 8 x P
这个checkpoint要保存在存储服务器中,虽然在张量并行、流水线并行和3D并行时,这些数据从多个GPU上通过gather操作汇聚到存储服务器,但无论如何,数据总量是一个checkpoint大小。假设每个epoch存储一次。这样,每个epoch产生的流量为:
8 x P
以Llama3-70B模型为例,假设每个epoch均存储,则产生的网络存储流量为560GB。
相比训练场景,在智算中心存储网传输的流量与并行计算完全不在一个量级——虽然对链路带宽要求不那么高,但仍需满足高速分布式存储业务中所需的高吞吐、低时延、无损传输特性,并灵活满足存储集群规模调整所需的高可扩展性。
NVIDIA DGX SuperPOD™ 的方案在存储网采用的是200G的InfiniBand交换机。而事实上,随着近年来AI以太网技术的进步,RoCE与IB在转发时延上的细微差异,对分布式存储业务性能几乎没有影响。结合科学的网络参数调优,我们已在多个客户现场稳定测得了运行RoCEv2协议的交换机端到端性能全面优于IB交换机的结果。RoCE交换机作为IB平替已是不争的事实。
CX664P-N 是一款专为智算/超算中心设计的超低时延RoCE交换机,凭借以下特性在存储场景中脱颖而出。
除存储网之外,基于通用、解耦、高性能的以太网硬件和开放软件框架,星融元可为大模型算力中心提供10G-800G的全场景互联能力。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。