针对LLM大模型承载网发布星智AI网络解决方案

人工智能是数字经济的核心驱动力,AI 大模型是人工智能的新引擎。近年来,随着 ChatGPT 等生成式人工智能(AIGC)的突飞猛进,业内领军企业竞相推出万亿、10 万亿参数量级别的大模型,还对底层 GPU 支撑规模提出了更高的要求,达到了万卡级别。然而,如何满足如此庞大规模的训练任务,对网络的规模、性能、可靠性和稳定性等方面提出了前所未有的挑战。

一、AI大模型型对智算中心网络的需求

  1. AI 应用计算量呈几何级数增长,算法模型向巨量化发展,当前 AI 超大模型的参数目前已经达到了千亿~万亿的级别。训练这样的模型,毫无疑问需要超高算力。AI 超大模型训练使用GPU训练,互联网络需求在100Gbps~400Gbps,使用RDMA协议来减少传输时延可提升网络吞吐。

  2. 在 AI 大模型训练场景下,机内与机外的集合通信操作将产生大量的通信数据量。流水线并行、数据并行及张量并行模式需要不同的通信操作,这对于网络的单端口带宽、节点间的可用链路数量及网络总带宽提出了高要求。
  3. 网络抖动会导致集合通信的效率变低,从而影响到 AI 大模型的训练效率。因此在AI 大模型训练任务周期中,维持网络的稳定高效是极其重要的目标,这对网络运维带来了新的挑战。
  4. 在数据通信传输过程中产生的网络时延由静态时延和动态时延两个部分构成,其中真正对网络性能影响比较大的是动态时延。动态时延包含了交换机内部排队时延和丢包重传时延,通常由网络拥塞和丢包引起。
  5. 由于 AI 大模型训练中集群规模大,这进一步增大了配置的复杂度。在庞大的架构和配置条件下,业务人员能够简化配置部署,有效保障整体业务效率。

AI 大模型对网络的需求主要体现在规模、带宽、时延以及稳定性等几个方面。从当前数据中心网络的实际能力来看,完全匹配AI 大模型的需求在技术上仍然有一定的差距。

二、传统承载网络在AI算力网络的不足

随着大模型训练对于算力需求的不断提升,智算GPU从千卡到万卡,面对万卡以上的建设需求,传统网络解决方案为三级CLOS架构,通常让一台服务器配8块GPU卡,对应的8张万卡连接到单个HB域中的8台Server Leaf上,实现同一卡号GPU在一个Server Leaf上通信。同时为了确保高速转发,每个层级要保证1:1无收敛,以128端口盒式设备为例,Server Leaf和Spine设备的端口分配为上下各64个端口,Super Spine设备的128个端口全部用于下行接入,基于这样的端口规划,整体网络规模有8个HB域,64个POD和64个Fabric,网卡接入规模为32768。

可以直观的看到,整体网络架构极为复杂,不但网络建设成本高,网络转发路径跳数多,并且后续的运维和故障排障极其困难。

全Full Mesh网络成本高

  • 跨 Leaf 交换机,转发路径有 3 跳,跨POD流量跳数更多,极大的增加了业务时延
  • 网络结构复杂,运维以及故障排查困难

以32768个GPU,128端口交换机组网为例:

CLOS层数:3层

交换机需要:1280台=((64+64)*8)+256

光发射器数量:196608

两层胖数架构三层胖数架构
同GPU卡号转发条数1跳3跳
不同GPU卡号转发条数(无优化情况)3跳

5跳

为了缩小技术上的差距,星融元推出星智AI网络解决方案,针对LLM大模型场景构建了一张大规模、低时延、大带宽、高稳定、自动化部署的AI承载网。

三、Asterfusion星智AI网络解决方案

1、方案介绍

与传统方案相比,星智AI网络消除了跨GPU服务器不同GPU卡号之间的连接,只保留了与GPU相连的Leaf层交换机,将原本用于上连Spine的端口全部用于下连GPU,进一步提高Leaf交换机连接效率,并且这种网络架构仍然可以通过转发实现不同HB域之间的通信。

不同智算节点服务器间相同编号的网口需要连接到同一台交换机。如智算服务器 1 的 1 号 RDMA 网口,智算服务器 2 的 1 号 RDMA 网口直到智算服务器 N 的 1 号 RDMA 网口都连到 1 号交换机。

在智算服务器内部,上层通信库基于机内网络拓扑进行网络匹配,让相同编号的 GPU 卡和相同编号的网口关联。这样相同GPU 编号的两台智算节点间仅一跳就可互通。
不同GPU编号的智算节点间,借助NCCL通信库中的Rail Local技术,可以充分利用主机内GPU间的NVSwitch的带宽,将多机间的跨卡号互通转换为跨机间的同GPU卡号的互通。
星智AI网络解决方案轻松组建智算中心万卡网络,满足用户智算中心网络建设需求的同时,也避免了传统网络在智算中心的不足。

  • 不影响性能的情况下,网络架构精简极大的降低用户网络建设成本
  • 网络只需1跳,减少业务时延
  • 网络结构简化,降低运维以及故障排查难度

以32768个GPU,128端口交换机组网为例:

CLOS层数:1层(Rail Only)

交换机需要:256台

光发射器数量:65536

网络成本最大可降低:75%

2、方案优势

性能提升①:提升单机网络带宽

(1)增加网卡的数量,初期业务量少,可以考虑CPU和GPU共用,后期给CPU准备单独的1到2张网卡,给GPU准备4或8张网卡;

(2)提升单机网卡带宽,同时需要匹配主机PCIe带宽和网络交换机的带宽;

网卡速率40G100G200G400G
PCIe3.0*83.0*164.0*164.0或5.0*16
交换机Serdes4*10G4*25G4*50G8*50G

性能提升②:应用RDMA网络(RoCE)

(1)借助RDMA技术,减少了GPU通信过程中的数据复制次数,优化通信路径,降低通信时延;

(2)通过Easy RoCE技术,一键下发过去比较复杂的RoCE相关配置(PFC、ECN等),有效帮助用户降低运维复杂度;

性能提升③:减少网络拥塞

(1)减少网络测时延提高GPU使用效率:超低时延~400ns;
(2)通过DCB协议组减少网络拥塞:PFC、PFC WatchDog、ECN构建全以太网零丢包低时延网络;

随着 ChatGPT、Copilot、文心一言等大模型应用的横空出世,AI 大模型下的智算中心网络也将带来全新的升级。星融元持续投入研发,星智AI网络解决方案在一次次客户实地检测中得到认可。我们将与AI厂商通力合作,逐步推动AI 大模型下的智算中心网络关键技术的成熟与落地,针对用户场景,我们不断追求更加美好的解决方案,期盼与众多合作伙伴共同打造大规模、高带宽、高性能、低时延以及智能化的 AI 大模型智算中心网络。

背景内容参考中国移动研究院《面向AI 大模型的智算中心网络演进白皮书(2023 年)》

关注vx公号“星融元Asterfusion”,获取更多技术分享和最新产品动态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/674170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ad18学习笔记十八:如何放置丝印层敷铜?

我画板的时候,需要把板卡顶面丝印层的一个矩形区域,画成白色,但是这个区域内有好几个焊盘,丝印涂色的地方需要避开这几个焊盘,我觉得不能简单的在丝印层画一个矩形完事,最好让丝印层的这个区域,…

通过平扫CT实现胰腺癌早筛(平扫CT+AI)

Large-scale pancreatic cancer detection via non-contrast CT and deep learning - PubMed (nih.gov) 实验团队:海军军医大学第一附属医院(上海长海医院),放射诊断科曹凯主治医生为共同第一作者,邵成伟、陆建平等教…

Spring 的奇幻起源:从 IoC 容器到 Bean 的魔法世界 ✨

目录 什么是 Spring?为什么它如此流行? IoC 容器:从“依赖倒置”到“控制反转” Bean:IoC 容器中的基本组件 Spring 中的配置方式:XML、注解和 JavaConfig Bean 的作用域和生命周期管理 Bean 的属性装配和自动装配…

Unity类银河恶魔城学习记录4-7 P60 Counter‘s attack window 源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Enemy.cs using System.Collections; using System.Collections.Generic; …

【已解决】:pip is configured with locations that require TLS/SSL

在使用pip进行软件包安装的时候出现问题: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 解决: mkdir -p ~/.pip vim ~/.pip/pip.conf然后输入内容: [global] ind…

mac电脑flutter环境配置,解决疑难问题

准备工作 首先搭建flutter的环境需要使用到flutter的sdk,可以直接跳去官网下载:Choose your first type of app - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter,下载时要注意你电脑所使用的芯片是Intel的还是苹果的芯片。 下载好的…

面试 JavaScript 框架八股文十问十答第六期

面试 JavaScript 框架八股文十问十答第六期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)use strict是什么…

蓝桥杯Web应用开发-CSS3 新特性【练习二:获得焦点验证】

页面上有一个姓名输入框和一个密码输入框&#xff0c;当聚焦输入框时&#xff0c;输入框的背景颜色会发生改变&#xff0c; 新建一个 index3.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYPE html> <html lang"en"><head><meta charset&…

16:定时器和计数器

定时器和计数器 1、定时器和计数器的介绍2、定时器是如何工作3、寄存器4、51单片机定时器简介&#xff08;数据手册&#xff09;5、定时器中的寄存器&#xff08;数据手册&#xff09;5.1、TCON&#xff08;定时器控制寄存器&#xff09;5.2、TMOD&#xff08;工作模式寄存器&a…

Python报No such file or directory: ‘science‘的解决方法

接上一篇博文&#xff1a;时间序列异常检测论文TranAD: Deep Transformer Networks for Anomaly Detection in Multivariate Time Series Data-CSDN博客 还是想看看这篇论文的可视化结果。但是当我重新运行原版代码的时候&#xff0c;会报错&#xff1a; FileNotFoundError: …

java学习06---方法

一 方法 方法&#xff08;method&#xff09;是程序中最小的执行单元 注意&#xff1a; 方法必须先创建才可以使用&#xff0c;该过程成为方法定义 方法创建后并不是直接可以运行的&#xff0c;需要手动使用后&#xff0c;才执行&#xff0c;该过程成为方法调用 二 方法的…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行&#xff0c;进行连接池为10,20,30的梯度压测&#xff1a; select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

JSON简介

简介 JSON&#xff0c;即JavaScript对象表示法&#xff0c;是一种用于共享数据的格式。顾名思义&#xff0c;JSON 源自 JavaScript 编程语言&#xff0c;但也可被许多其他语言使用&#xff0c;包括 Python、Ruby、PHP 和 Java。JSON 通常发音为“杰森”。 JSON 也具有可读性强…

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二名&#xff0c;科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

数据平台:湖仓一体、流批一体、存算分离的核心问题

一、为什么出现湖仓一体的技术架构 目前数据仓库存储的数据结构单一,只能存储结构化的数据,对于非结构化数据的存储需求,以及存储成本是数据仓库的主要问题,而非结构化数据存储在业务库,也造成数据不能相融和利用,为了解决非结构化数据的低成本的存储诞生了湖仓一体的技术…

从零开发短视频电商 Tesseract OCR 的 Java 拓展库 javacpp-presets

文章目录 简介添加依赖识别示例示例一 识别本地图片示例二 识别图像中的各个组件&#xff08;比如文本行&#xff0c;单词&#xff0c;或单个字符&#xff09;示例三 使用迭代器遍历识别结果及其选择项示例四 方向和脚本检测示例五 结果迭代器示例六 设置引擎、页面分割模式、语…

c# 加密解密帮助类

public class DEncryptHelper { #region Md5加密 /// <summary> /// 获取字符串MD5加密字符串 /// </summary> /// <param name"str">原始字符串</param> /// <returns>MD5加密字符串<…

redis之布隆过滤

目录 1、redis之布隆过滤 2、布隆过滤器原理 3、布隆过滤器使用步骤 初始化bitmap 添加占坑位 判断是否存在圜 1、redis之布隆过滤 布隆过滤&#xff1a;有一个初值都为0的bit数组和多个哈希函数构成&#xff0c;用来快速判断集合中是否存在某个元素。目的&#xff1a;减…

Python Paramiko 使用交互方式获取终端输出报错

近期接到一个需求&#xff0c;要批量登录网络设备获取配置。 原计划使用 Paramiko exec即可&#xff0c;但是后来发现&#xff0c;有些设备命令也执行了&#xff0c;但是没有回显。 于是尝试使用 invoke_shell() 方式。 前期调试倒是OK&#xff0c;直到遇见一个输出内容较长的…

MySQL 日期和时间函数全面指南

介绍: 在数据库管理中,有效处理日期和时间对于各种操作至关重要,从简单的数据检索到复杂的分析。MySQL提供了丰富的内置函数来高效地操作日期和时间值。在本指南中,我们将探讨MySQL的基本日期和时间函数的用法和功能,探讨它们的语法和实际示例。 CURDATE 和 CURRENT_DATE:…