360智算中心万卡GPU集群架构分析

薪科技快评 2024-12-08 10:08:45

360智算中心:万卡GPU集群落地实践

360智算中心是一个融合了人工智能、异构计算、大数据、高性能网络、AI平台等多种技术的综合计算设施,旨在为各类复杂的AI计算任务提供高效、智能化的算力支持。360智算中心不仅具备强大的计算和数据处理能力,还结合了AI开发平台,使得计算资源的使用更加高效和智能化。

360内部对于智算中心的核心诉求是性能和稳定性,本文将深入探讨360智算中心在万卡GPU集群中的落地实践过程,包括算力基础设施搭建、集群优化、AI开发平台建设、以及训练和推理加速的实现。

01基础设施建设

1.1 服务器选型

以A100/A800为例,主机内拓扑采用如下

2片CPU2张存储网卡(负责带内管理、访问存储)4块PCIe Gen4 Switch 芯片6块NVSwitch 芯片8块GPU芯片4张IB网卡

2张存储网卡采用的是25Gb/s的网卡,通过PCIe直连CPU,主要有2个用途,第一个是带内管理,如ssh登录、监控采集等,第二个是访问分布式存储,如读取训练数据、写Checkpoint等。大语言模型训练过程中,对于文本类数据读取量级要求并不高,且一般都会采用异步加载的方式,此时25Gb/s的网卡带宽可以满足需求。但是模型训练过程中保存checkPoint时,会有瞬时大量写流量,此时25Gb/s的网卡会成为瓶颈,阻塞训练的正常进行。

为了平衡成本与性能的问题,内部采用了软硬件结合的方案,首先两张网卡采取bond4的网卡绑定方式,可以将整体带宽提高到50Gb/s,虽然牺牲了一定的容错能力,但是极大提高了网络的吞吐量。另外我们也在训练框架层做了2个方面的优化,

第一个优化是通过分布式的方式存储checkpoint,将整个模型的checkpoint部分分别在不同的节点上保存以减少网卡的压力。

第二个优化是多阶段异步保存,第一个阶段将模型与优化器从显存拷贝到内存,不阻塞模型的训练,第二个阶段将内存中的模型拷贝到分布式存储,其中第一个阶段结束后就可以继续训练了,第二个阶段可以在后台异步进行。

软件层的优化主要是在基于网卡受限的场景下,通过减少checkpoint保存时间最大化GPU有效训练时长,最后经过验证,智脑7B的模型保存时间从最开始的383s降低到5s,性能提升约70倍。8块GPU通过6块NVSwitch芯片全互联,在A100中每块GPU与每块NVSwitch芯片由2条双向25GB/s的NVLink3连接,所以每块GPU共有12条双向25GB/s的lane,即12 25 2 = 600GB/s。

A800在NVLink这里做了阉割,只有8条,所以变成了8 25 2 = 400GB/s,很多人都担心在大规模分布式训练时A800的NVLink会成为瓶颈,我们经过多次内部验证,至少在跑千卡训练任务时,NVLink并不是瓶颈。内部采用的是4张200Gb/s 的Mellanox CX6网卡,采用200Gb/s网卡的原因是同主机GPU与相邻的网卡之间通过PCIe Gen4 Switch芯片通信,PCIe Gen4 x16的通信带宽是单向32GB/s,网卡的通信性能是200Gb/s = 25GB/s,接近PCIe的通信性能,如果采用400Gb/s的CX7网卡,此时受限于PCIe Gen4的带宽,CX7的网卡性能很难发挥出来。

NVIDIA推荐的单台A100配备8张CX6网卡,经过验证和调研,如上图所示,Megatron-LM在32台A100节点上跑7.5B模型的时候,4张网卡单次迭代时间是2张网卡一半,但是8张网卡相比于4张网卡提升非常小,因此为了节约成本,我们采用了4网卡的方案。硬件拓扑为每块PCIe Gen4 Switch配备一张网卡,与之相邻的2块A800可以启用GPU Direct RDMA通信,可以通过nvidia-smi topo -m佐证查看,经过实际验证,开启了GDR后大模型训练速度最高可以提升50%。

1.2 网络建设

传统的数据中心网络一版聚焦在对外提供服务的流量模型设计,流量主要是数据中心与外部流量交互,即以南北向流量(数据中心外的流量)为主,东西向流量(数据中心内部流量)为辅。而智算中心的流量则以东西向流量为主,南北向网络为辅。360智算中心借鉴NVIDIA DGX-SuperPod-A100架构,如上图所示为SuperPod的一组基本单元SuperPod SU(Scalable Unit),每个SU包含200台A800以及4台Leaf交换机,这20台节点间的同号网卡之间通过单台Leaf即可直接通信。上图中展示的是200台A800的网络架构,即10组SU的组合,其中Leaf层和Spine层采用全互联架构,这种架构下,即使出现极端情况Spine交换机只剩下一台存活,整个集群仍能正常通信。但是Leaf交换机或者Leaf交换机与节点间的线缆、光模块等出现异常,会影响正常训练。不同GPU的通信路径如下:同一个Node内的GPU通过NVLink通信。在同一SU内,位于不同Node的挂载于同一网卡下的GPU可通过Leaf交换机实现同轨通信。当前,大规模模型训练主要依赖这种通信方式,通信路径为HCA -> Leaf -> HCA。在同一SU内,跨节点的GPU挂载在不同网卡下,需要进行跨轨通信。这种通信方式在大规模模型训练中较为罕见,通信路径为:HCA -> Leaf -> Spine -> Leaf -> HCA。优化后的文章:不同GPU间的通信需跨Spine,路径为HCA->Leaf->Spine->Leaf->HCA。

当前网络架构的GPU支持上限为200台A800主机。若要扩展规模,需将2层架构升级为3层,即在Spine层上增设一层Core Compute Switch,以支持更多GPU集群。

02Kubernetes集群建设

2.1 调度能力

360智算中心基于Volcano来优化调度流程,解决了在大模型基础设施中调度过程中碰到的一些难点,其实现的核心调度策略包括以下几点:Gang调度 :满足“All or Nothing"的调度需求,避免Pod的任务调度导致集群资源的死锁与浪费。

"Gang调度:实现“All or Nothing”的调度策略,防止Pod任务调度引发集群资源浪费与死锁。"BinPack调度是一种资源管理技术,旨在最小化资源使用量并最大化集群的整体利用率。通过将碎片任务调度到同一台机器,BinPack调度优先考虑整体效率,而不是单个任务的优先级。本系统提供6种优先级,分别为P0至P5。其中,P0至P2为高优先级任务,具有抢占P4和P5任务的能力。需要注意的是,P3任务既不会执行抢占操作,也不会被高优先级任务抢占。这一设计确保了关键任务能够顺利执行,满足不同任务重要性区分的需求。网络拓扑感知调度:通过智能分配资源和任务,有效利用各节点间的网络拓扑关系,将通信频繁的任务部署到高速且低延迟区域,从而大幅提升数据传输效率并降低网络瓶颈。在实际应用中,将任务尽可能地分配至同一交换机下的多个节点可带来超过20%的收益,这一策略在特定场景下尤为显著。延迟调度:大模型训练场景中,占用大块资源的任务结束时由于资源释放的顺序不确定,导致资源需求小的任务总是被优先调度,此时优先级规则是不生效的。基于这种场景我们提出了延迟调度的方法,当低优先级的任务资源满足时,采取延迟调度的方式,解决了资源需求大的训练任务长期饥饿的问题。异构算力调度:我们实现了在单一智算集群中构建NVIDIA-GPU和多种国产化芯片,兼容昇腾等主流AI芯片,并且全面适配支持了X86、arm架构,通过配套的AI开发平台一键调度海量异构算力资源。2.2 网络方案

360智算中心在RoCE V2和IB这两种主流的高性能网络方案都有落地,具体方案如下图所示:根据第二节中物理机上的介绍,A800共有6张网卡,其中以太网卡lan0、lan1做bond4后作为主机的管理平面网络,做南北向通信,IB网卡lan2~lan5作为主机的数据平面网络,做东西向通信。

主网络插件VPC负责维护整个k8s集群管理平面的网络,对应每个pod中的eth0网络接口。第三方网络插件multus cni、macvlan等主要负责维护整个k8s集群数据平面的网络,对应每个pod中的net1~net4网络接口。network-operator是NVIDIA推出的专门用来在k8s集群中启用RDMA网络的解决方案,包含以下核心组件:

"Mellanox网卡驱动,推荐直接在物理机上部署,而非通过network-operator的容器化方式。这样做能显著提高系统稳定性。若network-operator出现问题,可能导致宿主机失联,只能通过BMC方式重新连接。"rdma-shared-device-plugin:将服务器上的mlx网卡以k8s扩展资源的形式暴露,供业务申请使用。在k8s集群中,通过创建第二个网络平面(Secondary CNI),实现分布式训练多机多卡的高效网络通信。Multus-cni:在k8s环境中,一种强大的容器多网络解决方案。它能为pod附加多个网络接口,作为meta类的cni插件,与第三方插件无缝协同,避免冲突。"Container Networking Plugins:这部分包含多个CNI插件,其中主要的如macvlan插件,它能为Pod中申请的MLX资源创建新的MAC地址,以便从新地址进行流量转发。"

相比RoCE v2网络,IB网络有以下区别:除了IB网卡外,还需要专门的IB交换机支持,通过UFM来统一管理IB网络。

03训推加速

3.1 QLM训练加速

"Qihoo Large Language Model (QLM) -360内部开发的,Megatron-LM深度优化的训练框架,专为智算中心万卡集群设计。经过定制调优,QLM在训练MoE模型时MFU超过47%,Dense模型超56%。在其基础上,QLM进一步增强了核心能力,包括但不限于:"

千卡模型训练升级:突破千卡规模大模型训练瓶颈,长文本(>360K token)训练效能显著提升。针对智脑模型,特别优化GDR、3D并行加速及定制策略,Dense模型训练速度跃升至175TFLOPS,整体性能提升八倍。"QLM模型,兼容Hugging Face格式,一站转换,多平台畅行无阻,大幅提升了模型的可移植性与灵活性。""训练过程可视化:实时监控关键指标,如损失函数、学习率及训练性能等,助力研究者迅速识别问题并优化模型。"3.2 GLLM推理加速

"360自主研发的Gaia Large Language Module(GLLM),以其卓越的效率,应对着NLP领域日益增长的需求。GLLM兼容NVIDIA、昇腾等多平台硬件,并集成了多种推理加速技术,相较于VLLM,性能提升高达10%。这款高效大模型推理引擎,正助力360在NLP领域的深度发展。"

"GLLM跨平台卓越,轻松驾驭各类硬件。无论在企业内部还是为客户打造AI产品,都能提供高效稳定的推理服务。""通过动态批量处理推理请求,GLLM大幅提升了GPU使用效率,有效缩短了每个请求的响应时间,系统性能显著优化。"优化后的文章:PageAttention,一种内存访问机制的革新,大幅提升了长文本推理的效率和内存利用率。PrefixCache:减少重复计算,显著降低首字返回延迟,尤其在长上下文推理场景中表现优异。

GLLM在众多自然语言处理场景中展现出广泛的应用潜力,如智能客服、内容生成、信息检索和语音识别等。凭借多平台硬件支持、业界领先的技术特性和显著的性能提升,GLLM已成为360公司在大模型推理领域的重要资产。随着技术的不断发展,GLLM将持续引入新特性,为用户提供更高效、智能的大模型推理解决方案。

04AI平台建设

4.1 平台基础能力

现代AI开发平台的核心能力在于为企业和开发者提供强大的工具与基础设施,以支持模型开发到部署的全生命周期。随着大模型训练规模的不断扩大和任务复杂性的提升,AI平台必须具备灵活而高效的功能,以应对多样化的场景和需求。

以下是AI平台的核心能力的详细探讨:

- 基础设施:自研AI芯片将成为企业核心竞争力,自研芯片呈现架构创新、形态演进、软硬一体趋势。同时,围绕AI芯片的软件工具开始从基础计算向场景计算转变。

- 框架工具:TensorFlow依托工业界的部署优势持续位于第一,市场关注度第二名PyTorch 3倍以上。

交互式建模:AI平台助力数据科学家和算法专家实现实验性数据分析、特征工程、模型设计与验证。实时灵活,轻量化环境中快速迭代模型,调整参数并观察即时反馈。集成Jupyter Notebook与VSCode,云端IDE环境一键部署,多租户实时协作。分布式训练:AI平台的核心能力,尤其在大模型训练中至关重要。秒级调用海量计算资源,轻松启动千卡训练任务。支持3D并行、极致通信、训练过程可视化及故障自愈等多功能,广泛应用于大规模多模态训练和自然语言处理,大幅提升训练效率,缩短开发周期。在AI平台中,在线部署是一种关键功能,它能将训练好的模型以API或微服务的形式快速部署到线上,以供业务调用。这种能力让平台能够根据实际业务需求自动扩展和收缩部署实例,从而应对高并发场景。同时,平台还能实时监控模型服务的运行状况,包括响应时间、并发请求数和资源消耗,确保服务的稳定性和高可用性。资源池管理:AI平台为计算、存储和网络资源提供统一的管理与分配能力。在多租户环境中,确保资源分配公平且高效。通过动态调度、负载均衡、资源隔离、弹性伸缩和故障恢复等手段,实现多用户、多任务环境下的稳定计算资源利用。AI平台的核心竞争力在于优化资源配置,特别是在众多用户共享有限计算资源时。为确保高效运作,平台通过智能调度任务优先级、限制排队时长和抢占功能,自动识别并终止低效任务,从而避免资源浪费。在某些特定项目中,AI平台已成功将整体资源利用率提升超过25%。

AI平台的核心能力涵盖模型训练、资源管理及服务部署。分布式训练、交互式建模、在线部署等创新功能提升了开发与部署效率,同时为用户提供智能资源管理工具,确保平台高效运作和任务执行。

4.2 可视化能力

AI平台上的可视化能力是提升用户体验、优化系统性能和加速模型开发的关键工具。请参阅以下关于各项主要可视化能力的详细信息。

集群资源可视化:直观展示计算环境资源使用状况,助力用户与管理员洞察系统运行状态。包括节点状态监控、网络流量监控、磁盘IO监控及资源调度监控等关键指标。模型训练资源监控:关注计算资源实时追踪,包括GPU/CPU利用率、显存内存使用、温度功耗及SM利用率等常规指标。通过这些监控,识别硬件瓶颈,确保模型训练顺利进行。任务维度指标统计:深入洞察每个任务执行性能,包括运行时长、成功率、TFLOPS和Token处理速度等关键指标。支持基于这些指标进行任务成本评估和优化。训练过程的可视化是模型开发的关键工具,它提供了丰富的视图来调试和优化模型。这些视图包括损失函数和评估指标曲线、超参数调节与对比、实时训练日志、多模型对比可视化、以及梯度和权重监控等。通过这些视图,用户能够迅速找出最优的模型架构和训练策略,有效解决问题。

AI平台的可视化功能,通过多维度、多视角的数据展示与分析,极大地提升了开发者的模型训练和资源管理体验。它能迅速定位问题,优化训练流程,提高系统的透明度和效率,助力大规模智能模型的开发与部署。

4.3 故障容错

当训练任务规模扩大至千卡级别以上时,GPU故障导致的训练中断风险显著增加。在训练集群中,每周平均发生3-7次GPU故障,导致集群利用率下降。为确保AI平台的稳定性与高效性,我们推出了QihooSMI,一款多维度故障检测与自愈工具。该工具涵盖运行时环境、硬件故障、网络故障和慢节点检测修复等诸多方面。

运行时环境检测:运行时环境的异常主要表现为导致训练任务异常退出、训练任务性能下降、甚至内存泄漏等问题。如nvidia-fabricmanager服务未正常启动会导致训练任务失败,但是这个服务对于用户来说是屏蔽且无感的,用户无法通过应用程序的日志定位到这一问题。基于当前场景,QihooSMI实现了智算中心的运行时环境监测,检测的内容包括系统内核模块缺失与版本异常、驱动异常、关键软件服务状态异常及版本缺失、集群关键组件的检测与异常修复等。这些故障可以在秒级定位到运行时环境故障源,并可以立即修复同时不影响运行时任务。硬件故障检测:硬件故障通常表现为服务器宕机、GPU硬件故障、硬盘损坏等。这些故障往往会导致计算节点不可用或性能大幅下降,尤其在大规模模型训练场景中,硬件故障可能会严重影响整个训练任务。QihooSMI实现了GPU ECC故障检测、掉卡、网卡异常等常见GPU故障检测,同时采取了故障隔离、节点排干等一系列自愈策略,及时止损。硬件故障往往需要运维人员下线维修,因此当硬件故障发生时,QihooSMI便能秒级定位到故障且及时告警运维人员,在节点下线维修前这一过程完全做到自动化处理,提高运维效率。网络异常:网络故障在分布式系统中尤为常见,表现为节点间的通信延迟增加、网络中断、数据丢包等。网络故障会严重影响大模型训练任务的效率,因为分布式训练依赖于节点间的高速通信。IB网络的故障检测与恢复依赖于UFM,可以实现故障的隔离、网络拓扑自愈等能力,如当Spine交换机异常时,UFM可以自动调整路由,将数据流量引导到正常的链路上。RoCE网络异常主要通过Prometheus、Grafana等工具监控节点间的网络带宽、延迟、丢包率等指标,并通过告警及时监控感知。慢节点:慢节点是分布式训练中的常见问题,指的是某些节点的性能明显低于集群中的其他节点,导致整体训练任务的速度降低。慢节点的定位对于智算中心的挑战是该节点已经通过了QihooSMI的扫描与检测,但是将其加入到大规模训练中却会引起集群训练任务下降,因此如何从大规模机器中(如128台A800)定位到这台慢节点是一件非常耗时的工作。传统的方式是通过提交训练任务的方式以二分法定位,这种方式往往需要几个小时才能定位到慢节点。QihooSMI基于NCCL-Tests实现了轻量级检测程序,5分钟内即可定位到集群中慢节点,极大提高了检测效率。

AI开发平台中的故障检测与自愈机制通过软件、硬件、网络和慢节点的监控和自动修复,保障了平台的稳定性和高效性。针对不同类型的故障,系统应具备灵活的检测手段和自愈策略,以降低人为干预的频率,提升系统的自动化水平。当训练任务因遇到故障导致失败时,AI平台可以3分钟内做到定位故障源、隔离故障、并将任务自动拉起,整个过程完全自动化,无需人工干预。在未来,随着AI训练任务的规模和复杂度增加,360AI平台中的故障自愈能力将朝着更加智能化和精细化的方向发展。

05总结与展望

360智算中心的万卡GPU集群建设,结合了AI、大数据、异构计算和高性能网络等多种先进能力,为大规模人工智能计算任务提供了强大的计算能力。本文详细介绍了从基础设施建设、网络设计、调度优化到AI开发平台与训推加速的全面落地实践,以及在大模型训练中应对的诸多挑战。未来,智算中心将进一步扩展集群规模,提升异构计算支持,优化AI平台的可视化和监控能力,并积极探索智算中心相关技术和跨领域技术的融合。通过持续的技术创新与能效优化,360智算中心将在AI基础设施领域持续跟进,为未来的复杂AI任务提供更强大的支持。更多技术和产品文章,请关注👆

"360智汇云,汇聚数据宝藏,点燃智能未来。作为企业应用开放服务平台,我们以360强大的产品和技术为驱动力,致力于为您提供一站式解决方案。"

智汇云提供全面的产品与服务,涵盖数据库、中间件、存储、大数据、人工智能等领域,助力客户实现降本增效。

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

0 阅读:1