近期,DeepSeek 已成为各行业关注的焦点。其卓越的语言理解和生成能力使其能够精准处理各种复杂的自然语言任务,无论是文本生成、语义理解还是智能对话,都能轻松应对。随着 DeepSeek 的迅速走红,众多厂商纷纷加入这一技术浪潮,积极接入这一强大的语言模型。从互联网科技巨头到传统制造业企业,从金融行业到教育领域,DeepSeek 的应用范围不断扩大,成为推动企业数字化转型和智能化升级的重要力量。
在此趋势下,越来越多的企业开始选择私有化部署 DeepSeek,以更好地满足自身业务需求。私有化部署不仅能够满足企业对数据安全和隐私保护的严格要求,还能根据企业的特定业务进行定制化优化。然而,在企业热衷于私有化部署 DeepSeek 的过程中,有一个关键细节容易被忽视,那就是网络配置。网络作为连接训练和推理集群节点的关键要素,其稳定性、速度和效率直接关系到集群的整体性能。无论是训练阶段节点间的频繁参数同步,还是推理过程中模型数据的快速交互,良好的网络环境都是确保集群通信顺畅、高效的必要条件。如果网络配置不当,即使投入了强大的算力资源,也可能导致集群通信性能下降,进而影响 DeepSeek 的正常运行和业务的顺利开展。
为此,星融元凭借其在开放网络领域的深厚积累,为客户提供了一套完整的网络解决方案。该方案包括 25G-800G 规格的 RoCE 交换机及 EasyRoCE Toolkit 等实用工具,精准对接 AI 与大模型领域的网络需求,助力客户在 AI 浪潮中抢占先机,携手共铸行业优势地位。
大模型训练过程中数据并行、张量并行、流水线并行是主要的流量来源,同一服务器不同GPU、不同服务器不同GPU之间都需要高效准确的数据传输,因此,GPU卡(而非服务器)为单位的通信模式形成了服务器多网卡多出口的连接方式,与传统数据中心单一出口连接方式不同。
并行计算涉及多个计算节点(如CPU、GPU等)协同工作,以加速大规模计算任务。集合通信库是实现这种协同工作的关键组件,集合通信库提供了高层次的API、屏障(barrier)、集体通信原语(如广播、归约等)等同步机制,用于协调节点之间的执行用于在节点之间传输数据,确保数据的快速和可靠传递。
NVIDIA NCCL是NVIDIA提供的开源通信库,是目前大厂主流使用的集合通信库。在实际应用中,NCCL和MPI常常结合使用。MPI负责节点之间的通信,而NCCL负责GPU之间的通信,通过两者的协同工作,实现高效的并行计算。
NCCL自2.12版本起引入了 PXN 功能,即 PCI × NVLink。取代了原先需要通过CPU的QPI调用和CPU进行buffer交互。PXN 利用节点内 GPU 之间的 NVIDIA NVSwitch 连接,首先将数据移动到与目的地位于同一轨道上的 GPU 上,然后将其发送到目的地而无需跨轨道传输,从而实现消息聚合和网络流量优化。
轨道优化拓扑即是适应这一通信特征,将不同服务器上位于相同位置(轨道)的NIC连接到同一台交换机上。
由于每个服务器有8张连接计算平面的网卡,整个计算网络被从物理上划分为8个独立并行的轨道(Rail)。由此,智算业务产生的并行通信需求(All Reduce、All-to-All 等)可以用多个轨道并行地传输,并且其中大部分流量都聚合在轨道内(只经过一跳),只有小部分流量才会跨轨道(经过两跳),大幅减轻了大规模集合网络通信压力。
轨道优化聚合了同一对 NIC 之间传递的消息,得以最大限度地提高有效消息速率和网络带宽。反观NCCL 2.12 之前,同样的端到端通信将经过三跳交换机(上图的L0、S1 和 L3),这可能会导致链路争用并被其他流量拖慢。
首先是需要明确GPU卡的连接方式。如果是N卡,你可以使用nvidia-smi topo -m
的命令直接查看。但综合考虑成本因素,要想在更为通用的智算环境下达到GPU通信最优,最好的办法还是在采购和建设初期就根据业务模型特点和通信方式预先规划好机内互联(GPU-GPU、GPU-NIC)和机间互联(GPU-NIC-GPU),避免过早出现通信瓶颈,导致昂贵算力资源的浪费。
智算环境下以GPU卡(而非服务器)为单位的通信模式形成了服务器多网卡多出口环境的路由策略,通常会有8张网卡用于接入参数/计算网,每张网卡位于各自的轨道平面上。为避免回包通信失败,服务器上的网卡配置需要利用Linux多路由表和策略路由机制进行路由规划,这与传统云网的配置方式完全不同。
第一步是按照组网规划和网段规划,进行IP地址规划和Rail平面划分。在我们的EasyRoCE Toolkit 下的AID工具
(AI Infrastructure Descriptor,AI基础设施蓝图规划)中,Notes字段用于标注Rail编号,即0代表Rail平面0、1代表Rail平面1,以此类推。
截取自星融元 EasyRoCE AID 工具
确认好了上述信息,到这里其实可以开始手动配置了,但你也可以使用另一个EasyRoCE的IRM工具
(In-node Route Map,GPU内部路由规划器)。IRM 从AID 生成的配置文件中获取适合当前集群环境的路由规划信息,并且自动化地对集群中的所有GPU服务器进行IP和策略路由配置。
CLos架构下,各交换节点分布式运行和自我决策转发路径容易导致无法完全感知全局信息,在多层组网下流量若发生Hash极化(经过2次或2次以上Hash后出现的负载分担不均)将拖慢集群性能。
为解决满足AI集群规模化部署的通信需求,一般来说我们会通过规范流量路径来解决性能和规模方面的痛点(例如负载均衡、租户隔离等),按照如下转发逻辑去配置RoCE交换机:
当然,这里也可以使用EasyRoCE Toolkit 下的PPD工具
(主动路径规划,Proactive Path Definer)自动生成以上配置。以下为PPD工具运行过程。
正在生成配置文件
100%[#########################]
Configuring leaf1's port
leaf1的端口配置完成
Generating leaf1's ai network config
The ai network config finished.
正在生成配置文件
100%[#########################]
Configuring leaf2's port
leaf2的端口配置完成
Generating leaf2's ai network config
The ai network config finished.
正在生成配置文件
100%[#########################]
Configuring leaf3's port
leaf3的端口配置完成
Generating leaf3's ai network config
The ai network config finished.
正在生成配置文件
100%[#########################]
Configuring leaf4's port
leaf4的端口配置完成
Generating leaf4's ai network config
The ai network config finished.
正在生成配置文件
100%[#########################]
show running config
是否需要查看生成的配置(Y|N):
PPD可以独立运行在服务器上,也可以代码形式被集成到第三方管理软件中,利用AID工具来生成最终配置脚本,将配置呈现在统一监控面板(例如Prometheus+Grafana)进行浏览和核对。
星融元CX-N系列交换机正是为智算中心AI训练场景而生的超低时延以太网交换机——在保持极致性能的同时,实现可编程、可升级的能力,与计算设备形成协同,共同打造10万级别的计算节点互联,将数据中心重构为可与超级计算机媲美的AI超级工厂。
详细信息请前往星融元官网https://asterfusion.com/product/cx-n/
参考链接:
https://blog.csdn.net/qq_41904778/article/details/145930361
https://blog.csdn.net/qq_40214669/article/details/143307857
https://developer.nvidia.com/blog/doubling-all2all-performance-with-nvidia-collective-communication-library-2-12/
https://mp.weixin.qq.com/s/yQn56hh56FE1XDGrrKme7Q
https://mp.weixin.qq.com/s/vZL-4Cpb1BFyH1CpVw3IJQ
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。