马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1、AI 模型训练和推理的核心是数据计算 在AI系统中,一个模型从生产到应用,一般包括离线训练和推理部署两大阶段。 离线训练,就是产生模型的过程。用户需要根据自己的任务场景,准备好训练模型所需要的数据集以及神经网络算法。模型训练开始后,先读取数据,然后送入模型进行前向计算,并计算与真实值的误差。然后执行反向计算得到参数梯度,最后更新参数。训练过程会进行多轮的数据迭代。 训练完成之后,保存训练好的模型,然后将模型做上线部署,接受用户的真实输入,通过前向计算,完成推理。因此,无论是训练还是推理,核心都是数据计算。为了加速计算效率,一般都是通过 GPU 等异构加速芯片来进行训练和推理。
2、AI 模型参数规模不断扩大 随着以 GPT3.0 为代表的大模型展现出令人惊艳的能力后,智算业务往海量参数的大模型方向发展已经成为一个主流技术演进路径。以自然语言处理(NLP)为例,模型参数已经达到了千亿级别。计算机视觉(CV) 、广告推荐、智能风控等领域的模型参数规模也在不断的扩大,正在往百亿和千亿规模参数的方向发展。
3、大模型训练集群的网络要求 大模型训练中大规模的参数对算力和显存都提出了更高的要求。以GPT3为例,千亿参数需要2TB显存,当前的单卡显存容量不够。即便出现了大容量的显存,如果用单卡训练的话也需要32年。为了缩短训练时间,通常采用分布式训练技术,对模型和数据进行切分,采用多机多卡的方式将训练时长缩短到周或天的级别。
分布式训练就是通过多台节点构建出一个计算能力和显存能力超大的集群,来应对大模型训练中算力墙和存储墙这两个主要挑战。而联接这个超级集群的高性能网络直接决定了智算节点间的通信效率,进而影响整个智算集群的吞吐量和性能。 要让整个智算集群获得高的吞吐量,高性能网络需要具备低时延、大带宽、长期稳定性、大规模扩展性和可运维几个关键能力。 (1)低时延 分布式训练系统的整体算力并不是简单的随着智算节点的增加而线性增长,而是存在加速比,且加速比小于 1。存在加速比的主要原因是:在分布式场景下,单次的计算时间包含了单卡的计算时间叠加卡间通信时间。因此,降低卡间通信时间,是分布式训练中提升加速比的关键,需要重点考虑和设计。 RDMA 可以绕过操作系统内核,让一台主机可以直接访问另外一台主机的内存。
实 现 RDMA 的 方 式 有 InfiniBand、RoCEv1、RoCEv2、i WARP 四 种。 其 中 RoCEv1 技 术 当 前 已 经 被 淘 汰,iWARP 使用较少。当前 RDMA 技术主要采用的方案为 InfiniBand 和 RoCEv2 两种。
在 InfiniBand 和 RoCEv2 方案中,因为绕过了内核协议栈,相较于传统 TCP/IP 网络,时延性能会有数十倍的改善。在同集群内部一跳可达的场景下,InfiniBand 和 RoCEv2 与传统 IP 网络的端到端时延在实验室的测试数据显示,绕过内核协议栈后,应用层的端到端时延可以从 50us(TCP/IP),降低到 5us(RoCE)或 2us(InfiniBand)。
(2)大带宽 在完成计算任务后,智算集群内部的计算节点需要将计算结果快速地同步给其他节点,以便进行下一轮计算。在结果同步完成前,计算任务处于等待状态,不会进入下一轮计算。如果带宽不够大,梯度传输就会变慢,造成卡间通信时长变长,进而影响加速比。
(3)稳定运行 由于计算量比较大,分布式训练任务有可能需要数天或数周。在训练期间如果出现网络不稳定的问题,会影响整个训练任务的进度。因为网络故障导致的故障域通常会比较大,轻则需要回退到上一个分布式训练的断点进行重训,重则可能要将整个任务从 0 开始重训。因此,网络稳定性对分布式训练任务十分重要。 (4)大规模 随着数据并行和模型并行技术的不断完善和提升,分布式训练中可以使用千卡或万卡规模的 GPU 来缩短整体训练时长。 这就需要智算网络能够具备支持大规模 GPU 服务器集群的能力,并且能具备较强的扩展性,以应对未来更大规模 GPU集群的业务需求。 (5)可运维 在成百上千张GPU卡的智算集群中,集群的可运维性、可管理性是需要重点考虑的维度。整个智算集群的运行状态的可视化,配置变更的白屏化,异常状态和故障的快速感知,是对高智算集群进行高效运维管理的基础。
|