死磕AI大模型网络,鹅厂出招了!

news2024/9/22 13:42:03

2023年,以ChatGPT为代表的AIGC大模型全面崛起,成为了整个社会关注的焦点。

大模型表现出了强悍的自然语言理解能力,刷新了人们对AI的认知,也掀起了新一轮的“算力军备竞赛”。

大家都知道,AIGC大模型的入局门槛是很高的。玩AI的三大必备要素——算力、算法和数据,每一个都意味着巨大的投入。

以算力为例。ChatGPT的技术底座,是基于微调后的GPT3.5大模型,参数量多达1750亿个。为了完成这个大模型的训练,微软专门建设了一个AI超算系统,投入了1万个V100 GPU,总算力消耗约3640 PF-days(即假如每秒计算一千万亿次,需要计算3640天)。

业内头部厂商近期推出的大模型,参数量规模更是达到万亿级别,需要的GPU更多,消耗的算力更大。

这些数量庞大的GPU,一定需要通过算力集群的方式,协同完成计算任务。这就意味着,需要一张超高性能、超强可靠的网络,才能把海量GPU联接起来,形成超级计算集群。

54306e1d1ad8741bb7eec4d6df4eda77.png

那么,问题来了,这张网络,到底该如何搭建呢?

高性能网络的挑战

想要建设一张承载AIGC大模型的网络,需要考虑的因素非常多。

首先,是网络规模。

刚才我们也提到,AI训练都是10000个GPU起步,也有的达到十万级。从架构上,目标网络就必须hold得住这么多的计算节点。而且,在节点增加的同时,集群算力尽量线性提升,不能引入过高的通信开销,损失算力。

其次,是网络带宽。

超高性能的GPU,加上千亿、万亿参数的训练规模,使得计算节点之间的通信量,达到了百GB量级。再加上各种并行模式、加速框架的引入,节点之间的通道带宽需求会更高。

传统数据中心通用的100Gbps带宽接入,根本满足不了这个需求。我们的目标网络,接入带宽必须升级到800Gbps、1.6Tbps,甚至更高。

第三,流量调控。

传统的网络架构,在应对AI大模型训练产生的数据流时,存在缺陷。所以,目标网络需要在架构上做文章,更好地控制数据流路径,让节点和通道的流量更均衡,避免发生拥塞。

第四,协议升级。

网络协议是网络工作的行为准则。它的好坏,直接决定了网络的性能、效率和延迟。

传统数据中心的TCP/IP协议,早已已无法满足高性能网络的大带宽、低时延需求。性能更强的IB(InfiniBand)协议、RDMA协议,已然成为主流。有实力的厂家,还会基于自家硬件设备,自研更高效的协议。

第五,运维简化。

这就不用多说了。超大规模的网络,如果还是采用传统运维,不仅效率跟不上,还会导致更长的故障恢复周期,损失算力,损失资金。

目前,行业里的“大模头”们,都会根据自己技术和资金实力,选择商用网络组网,或者自研网络协议。

大家心里很清楚,想要赢得这场比赛,除了算力芯片足够强之外,网络的性能表现是至关重要的。网络越强,集群的算力提升就越大,完成模型训练的时间就越短,成本也就越低。

 星脉网络,鹅厂的算力集群杀手锏

对于AI大模型这场热潮,腾讯当然不会缺席。他们推出了业界领先的高性能计算网络架构——星脉

腾讯深耕互联网行业20多年,从QQ到微信,他们的超大规模业务承载能力,可以说是行业顶尖的。在网络技术的理解和驾驭能力上,也是世界领先水平。而星脉,则是他们多年技术研究的精髓,是真正的杀手锏。

根据实测,星脉实现了AI大模型通信性能的10倍提升、GPU利用率提升40%、通信时延降低40%。

基于全自研的网络硬件平台,星脉可以实现网络建设成本降低30%,模型训练成本节省30%~60%。

668558b8d47da7e8c8641aedd7494f5e.png

星脉网络的算力效率,远高于业界主流值

接下来,我们不妨深入解读一下,星脉到底采用了哪些黑科技。在前面所提到的几项挑战上,腾讯团队又是如何应对的。

  • 网络规模

在组网架构上,星脉网络采用无阻塞胖树(Fat-Tree)拓扑,分为Block-Pod-Cluster三级。

e04094e53f2e7a8f98c871f628d00db7.png

星脉网络的架构

Block是最小单元,包括256个GPU。

Pod是典型集群规模,包括16~64个Block,也就是4096~16384个GPU。

多个Block可以组成Cluster。1个Cluster最大支持16个Pod,也就是65536~262144个GPU。

26万个GPU,这个规模完全能够满足目前的训练需求。

  • 网络带宽

腾讯星脉网络为每个计算节点提供了3.2T的超高通信带宽。

单个服务器(带有8个GPU)就是一个计算节点。每个服务器有8块RoCE网卡。每块网卡的接口速率是400Gbps。

RoCE,是RDMA over Converged Ethernet(基于聚合以太网的RDMA)。RDMA(远程直接GPU通信访问)我们以前介绍过很多次。它允许计算节点之间直接通过内存进行数据传输,无需操作系统内核和CPU的参与,能够大幅减小CPU负荷,降低延迟,提高吞吐量。

2c4e3e0c5a4809755ef52ef1723214ca.png

大带宽带来的优势是非常显著的。对于AllReduce和All-to-All这两种典型通信模式,在不同集群规模下,1.6Tbps超带宽都会带来10倍以上的通信性能提升(相比100Gbps带宽)。

以AllReduce模式、64 GPU规模为例,采用1.6Tbps超带宽网络,将使得AllReduce的耗时大幅缩短14倍,通信占比从35%减少到3.7%,最终使得单次迭代的训练耗时减少32%。从集群算力的角度来看,相当于用同样的计算资源,系统算力却提升48%。

  • 流量调控

为了提升集群的通信效率,星脉网络对通信流量路径进行了优化,引入了“多轨道流量聚合架构”

该架构将不同服务器上位于相同位置的网卡,都归属于同一个ToR switch(机柜顶部的汇聚交换机)。整个计算网络平面,从物理上被划分为8个独立并行的轨道平面。

9ebe79ae4cbd75e06ff693d94c8bb347.png

在工作时,GPU之间的数据,可以用多个轨道并行传输加速。并且,大部分流量,都聚合在轨道平面内传输(只经过一级 ToR switch)。只有小部分流量,会跨轨道平面传输(需要经过二级 switch)。这大幅减轻了网络压力。

星脉网络还采用了“异构网络自适应通信技术”

在集群中,GPU之间的通信包括机间网络(网卡+交换机)与机内网络( NVLink/NVSwitch 网络、PCIe 总线网络)。

星脉网络将机间、机内两种网络同时利用起来,实现了异构网络之间的联合通信优化。

例如,在All-to-All通信模式时,每个GPU都会和其它服务器的不同GPU通信。

d1afdcf86420d52cb5d989dab5f7fcb3.png

基于异构网络自适应通信技术,不同服务器上相同位置的GPU,在同一轨道平面,仍然走机间网络通信。

但是,要去往不同位置的GPU(比如host1上的GPU1,需要向其它host上的GPU8 送数据),则先通过机内网络,转发到host1上的GPU8上,然后通过机间网络,来完成通信。

这样一来,机间网络的流量,大部分都聚合在轨道内传输(只经过一级 ToR switch)。机间网络的流量大幅减少,冲击概率也明显下降,从而提供了整网性能。

根据实测,异构网络通信在大规模All-to-All场景下,对中小数据包的传输性能提升在30%左右。

  • 协议升级

星脉网络采用的“自研端网协同协议TiTa”,可以提供更高的网络通信性能,非常适合大规模参数模型训练。

TiTa协议内嵌拥塞控制算法,可以实时监控网络状态并进行通信优化。它就好比是一个智能交通管理系统,可以让网络上的数据传输更加通畅。

03a5884c8ea6a92f911565514cac012c.png

TiTa协议的处理方式

面对定制设计的高性能组网架构,业界开源的GPU集合通信库(例如NCCL)并不能将网络的通信性能发挥到极致。为此,腾讯推出了“高性能集合通信库TCCL(Tencent Collective Communication Library)”。

TCCL就像一个智能导航系统。它在网卡设备管理、全局网络路由、拓扑感知亲和性调度、网络故障自动告警等方面进行了深度定制,对网络了如指掌,让流量路径更加合理。

例如,从GPU A到GPU B,原来需要经过9个路口。有了TCCL导航之后,只需要走4个路口,提升了效率。

根据实测,在AllReduce/AllGather/ReduceScatter等常用通信模式下,TCCL能给星脉网络带来40%左右的通信性能提升。

  • 部署和运维简化

算力集群网络越庞大,它的部署和维护难度也就越大。

为了提升星脉网络的可靠性,腾讯自研了一套全栈网络运营系统,实现了“端网部署一体化”“一键故障定位”“业务无感秒级网络自愈”,对网络进行全方位保驾护航。

先看看“端网部署一体化”

部署一直都是高性能网络的痛点。在星脉网络之前,根据统计,90%的高性能网络故障问题,是因为配置错误导致。原因很简单,网卡的配置套餐太多(取决于架构版本、业务类型和网卡类型),人为操作很难保证不出错。

腾讯的解决方法,是将配置过程自动化。

他们通过API的方式,实现单台/多台交换机的并行部署能力。

在正式部署前,系统会自动对基础网络环境进行校验,看看上级交换机的配置是否合理等。

然后,识别外部因素,自动选择配置模板。

配置完成后,为了保证交付质量,运营平台还会进行自动化验收,包括一系列的性能和可靠性测试。

6fe1c4be48b17b92281126074b094e9b.png

所有工作完成后,系统才会进入交付状态。

根据数据统计,基于端网一体部署能力,大模型训练系统的整体部署时间从19天缩减到4.5天,并保证了基础配置100%准确。

再看看运维阶段的“一键故障定位”

星脉网络具有端网高度协同的特点,增加了端侧的运营能力。运营平台通过数据采集模块,获取端侧服务器和网络侧交换机的数据,联动网管拓扑信息,可以做到快速诊断与自动化检查。

一键故障定位,可以快速定界问题方向,精准推送到对应团队的运营人员(网络or业务),减少沟通成本,划分责任界限。而且,它还有利于快速定位问题根因,并给出解决方案。

最后,是“业务无感秒级网络自愈”

在网络运行的过程中,故障是无法避免的。

为了将故障自愈时间缩短到极致,腾讯推出了秒级故障自愈产品——“HASH DODGING”。

这是一种基于Hash偏移算法的网络相对路径控制方法。即,终端仅需修改数据包头特定字段(如IP头TOS字段)的值,即可使得修改后的包传输路径与修改前路径无公共节点。

在网络数据平面发生故障(如静默丢包、路由黑洞)时,该方案可以帮助TCP快速绕过故障点,不会产生对标准拓扑及特定源端口号的依赖。

6a24bb95f01639b6e795728773aecc55.png

单路径传输协议下,使用本方案,实现确定性换路

结语

以上,就是对腾讯星脉高性能计算网络的关键技术分析。

这些关键技术,揭示了高性能网络的发展思路和演进方向。随着AI大模型的深入发展,人类对AI算力的需求会不断增加。

日前,腾讯云发布的新一代HCC高性能计算集群,正是基于星脉高性能网络打造,算力性能较前代提升3倍,为AI大模型训练构筑可靠的高性能网络底座。

未来已来,这场围绕算力和连接力的角逐已经开始。更多的精彩还在后面,让我们拭目以待吧!

5ef2c8efce61c865e15efb81c2972b24.jpeg

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

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

相关文章

西门子S7-1200系列PLC输入/输出接线

西门子S7-1200是一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务。下面分享S7-1200系列PLC输入/输出接线图给大家。 CPU 1211C 接线图 CPU 1211C AC/DC/继电器 (6ES7 211-1BE40-0XB0) ① 24 VDC 传感器电源 ② 对于漏型输入将负…

KingbaseES的学习心得和知识总结(三)|Kingbase数据库性能调优工具sys_kwr插件的简介和使用

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、KingbaseES V8产品文档首页,点击前往 2、Kingbase 文档库,点击前往 3、北京人大金仓信息技术股份有限公司 官网首页,点击前往…

单片机——时间表程序加仿真

一、程序 #include <REG52.h> #include "main.h" sbit key1P3^0; sbit key2P3^1; sbit key3P3^2; sbit key4P3^3; sbit SWP1^0; unsigned char code SEG[]{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8E,0x86}; unsigned char i,cp,cp1,flash,key…

Python小白必看

Python学习计划&#xff1a; 1.先学习Python基础知识&#xff0c;包括&#xff1a; 变量、数据类型、运算符条件语句、循环语句函数、模块、包 2.掌握Python的常用库和框架&#xff0c;例如&#xff1a; NumPy&#xff1a;用于科学计算、数据分析等Pandas&#xff1a;用于数…

Vue表单验证,表单填写完成无法通过rules验证问题

表单校验使用的是ElementUI官网的表单校验规则&#xff0c;但是表单在填写完成后还是通不过校验&#xff0c;这就需要进行相应的检查 1.检查rules与ref&#xff0c;rules与ref的名字可以随便定义&#xff0c;但是要确保在这块写的与在data中定义的一致 2.检查<el-form-ite…

Pandas 解决保存H5文件发生异常问题

代码&#xff1a; #保存h5文件 #指定文件路径和读写模式 hdpd.HDFStore(mystock.h5,w) #将my的数据存入到hd中 hd[data]my #关闭文件 hd.close() 发生异常&#xff1a; 原因&#xff1a;缺少pytables 解决&#xff1a; 执行命令 pip install tables 安装好之后重启jupyter内核…

2023年1月至4月天猫平台美妆品类销售数据分析

如今&#xff0c;随着人们消费观念的突破&#xff0c;越来越多的人用美妆来诠释个性表达&#xff0c;美丽经济获得更多关注&#xff0c;化妆品消费理念逐渐增强&#xff0c;因此&#xff0c;美妆市场也形成了较大的规模。 根据鲸参谋电商数据显示&#xff0c;2023年1月至4月&am…

争取一文说透NuGet

一、NuGet是什么? NuGet是一个为大家所熟知的Visual Studio扩展&#xff0c;通过这个扩展&#xff0c;开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件&#xff0c;同时也可以通过NuGet来安装一些Visual Studio的插件等。 二、官网&#xff1a;…

驱动开发:内核读写内存多级偏移

让我们继续在《内核读写内存浮点数》的基础之上做一个简单的延申&#xff0c;如何实现多级偏移读写&#xff0c;其实很简单&#xff0c;读写函数无需改变&#xff0c;只是在读写之前提前做好计算工作&#xff0c;以此来得到一个内存偏移值&#xff0c;并通过调用内存写入原函数…

Qt绘图高级编程-绘制文本

注意&#xff1a;以下代码是在paintEvent函数中使用的&#xff0c;坐标是在文本的左下角。 1、设置字体样式 /*-----------1、设置字体样式-----------*///设置画家写字的字体//字体名&#xff0c; 字体大小&#xff0c;粗体&#xff0c;是否斜体QFont font( "楷体"…

芝奇幻锋戟Z5 RGB DDR5-7200 24GB内存评测:稳上7800MHz、温度只有56度

一、前言&#xff1a;7200MHz CL36高频内存仅需1.35V电压 在DDR4年代&#xff0c;三星B-Die是当之无愧的超频王者&#xff0c;而今DDR5已然成为主流&#xff0c;大家公认的最好超频的颗粒是SK海力士A-Die。 但并不是每一款采用了海力士A-Die颗粒的内存条都会有强悍的超频能力&a…

B+数的设计步骤

1.节点的结构&#xff08;如下图&#xff09; &#xff08;1&#xff09;键值对--key是标识&#xff1b;value是存储的具体数据 &#xff08;2&#xff09;节点的子节点--存储的是具体的子节点 &#xff08;3&#xff09;节点的后节点--标记后一个节点 &#xff08;4&#xff0…

9 MFC CFileDialog

// SystemWndDlg.cpp: 实现文件 //#include "pch.h" #include "framework.h" #include "SystemWnd.h" #include "SystemWndDlg.h" #include "afxdialogex.h"#ifdef _DEBUG #define new DEBUG_NEW #endif// CSystemWndDlg 对…

git提交忽略target文件

背景 项目如果没有设置.ignore文件&#xff0c;则我们的idea待提交区域有好多红色的新增的target文件、.iml文件等。 解决 本来未忽略前如下&#xff1a; 在.ignore文件中新增如下命令 #忽略所有.svn目录 .svn/ #忽略所有target目录 target/ #忽略所有.idea目录 .idea/ #…

C#,保持亮度的动态直方图均衡化(Brightness Preserving Dynamic Histogram Equalization:BPDHE)源代码

图像增强的主要目的是显示隐藏的图像细节&#xff0c;或者用新的动态范围增加图像对比度。直方图均衡&#xff08;HE&#xff09;是用于图像对比度增强的最流行的技术之一&#xff0c;因为HE在计算上快速且易于实现。HE通过基于输入灰度级的概率分布重新映射图像的灰度级来执行…

学生使用的台灯该怎么选择?学生台灯应该这样选

随着时代快速发展&#xff0c;目前我国近视人数达到了7亿&#xff0c;呈现低龄化趋势&#xff0c;儿童及青少年人数占了53.8%。而且现在的学生学业负担都很重&#xff0c;每个家长都不希望自己的孩子近视或加深近视了&#xff0c;都会想尽一切办法保护视力。而护眼台灯就成了家…

光伏储能电能管理系统解决方案蓄电池管理

概述 在我国新型电力系统中&#xff0c;新能源装机容量逐年提高&#xff0c;但是新能源比如光伏发电、风力发电是不稳定的能源&#xff0c;所以要维持电网稳定&#xff0c;促进新能源发电的消纳&#xff0c;储能将成为至关重要的一环&#xff0c;是分布式光伏、风电等新能源消…

怎么用ai作图?简单几步教会你ai绘画

当我和我的朋友们闲聊的时候&#xff0c;一个话题引起了我们的兴趣——更新社交媒体头像。其中有一个朋友提出&#xff0c;想要制作一个与真人无异、美观大方的头像&#xff0c;但是却不知道该如何下手。于是乎&#xff0c;我们开始讨论ai绘画头像软件。大家都纷纷表示听说过&a…

基于Java+SpringBoot+vue的实验室管理系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

cubemx hal stm32 atgm336h GPS 北斗 定位 模块 驱动代码

代码部分 atgm336h.c #include "atgm336h.h" #include "stdio.h" #include "string.h"char rxdatabufer; u16 point1 0;_SaveData Save_Data; LatitudeAndLongitude_s g_LatAndLongData {.E_W 0,.N_S 0,.latitude 0.0,.longitude 0.0 };…