☰
16万颗华为昇腾芯片组建AI集群:从芯片到算力的工程挑战
2026/10/24 11:20:29 网站建设 项目流程

“内蒙古要组史上最大华为AI集群?16万芯片待命”,这条消息在圈子里传开之后,我第一时间去翻了公开资料和几个熟悉的消息源。先说结论:如果最终落地,这很可能是华为昇腾生态目前公开已知最大规模的单体集群项目,没有之一。16万颗芯片是什么概念?按主流AI加速卡每颗功耗300瓦到400瓦来算,光是芯片的满载功耗就在48兆瓦到64兆瓦之间,加上服务器、交换网络、制冷系统、供配电损耗,整座智算中心的IT总功耗奔着100兆瓦以上去了。这已经不是“建一个机房”的体量,而是接近一个中型城市的用电规模。

我过去几年一直在做AI基础设施相关的工作,也亲手调过小规模的昇腾集群,对这种“万卡级”项目的复杂度多少有点体感。很多人一听到16万芯片,第一反应是“华为真猛”,但真正做这行的人清楚,难的从来不是买到芯片,而是把这么多芯片聚在一起之后还能高效干活。芯片只是起点,集群才是工程。这篇文章我就围绕“内蒙古华为AI集群”这件事,把背后的技术逻辑、关键选型、工程难点和运维成本拆开聊一聊,也给准备接触大规模AI集群的朋友一份参考。

1. 项目核心思路:为什么是华为,为什么是内蒙古

1.1 16万芯片背后的真实需求

先看需求侧。现在大模型训练的竞争已经从“百亿参数”卷到了“万亿参数”,单一模型训练一次动辄需要几万张加速卡连续跑几十天。单机八卡、单集群几千卡的模式早就撑不住这个体量了。公开的行业经验是,当你要训练一个万亿参数的MoE模型,算力规模至少得在万卡级别起步,如果要同时跑多个模型、支持研发迭代和对外算力服务,几万卡也只能算“刚够用”。

16万颗芯片放在一起,意味着这家算力中心可以同时支撑若干个万卡级大模型训练任务,也可以把算力切成中小心智的单元对外提供推理服务。它更像是一个算力“总装厂”,既能整机出货,也能拆零零售。华为在这个项目里扮演的角色不只是卖芯片,很可能是从底层整机、网络、集群软件到上层调度平台的全栈交付,这才符合华为一贯的“生态化”打法。

1.2 内蒙古选址不是拍脑袋

内蒙古建大型数据中心不是什么新鲜事,但做AI训练集群和普通的云计算数据中心有本质区别。AI训练对延迟和网络带宽极其敏感,不能随便把节点扔到偏远地区。内蒙古的核心优势是“电”和“冷”。

先说电。16万颗芯片加上配套设备,年耗电量大概率在几亿度甚至十几亿度级别。内蒙古作为能源基地,电力供应稳定且价格相对有优势。再说冷。AI集群的散热是生死线,当地年均气温低,干空气能大幅降低冷却系统的能耗,风冷、自然冷、蒸发冷却都能用上。夏天最热的时候虽然也有高温,但昼夜温差大,配合液冷系统,能让PUE压到非常低的水平。

还有一个容易被忽略的点:内蒙古的土地资源相对充裕,单栋数据中心楼可以建得足够大,便于做集群的分层组网。万卡集群不是把一万台服务器扔在一个房间里那么简单,需要按“机房楼-模组-机柜”三级架构规划物理空间,只有平面面积够大,才能把网络层级做舒展,减少长距离光缆布线的信号衰减和故障点。

1.3 华为全栈方案的底气

既然要做“史上最大华为AI集群”,就必须面对一个现实问题:用别人的GPU做集群,生态成熟、案例多,但用华为昇腾做万卡甚至十万卡集群,全球都没有现成经验可抄。华为敢接这个活,靠的是三样东西:昇腾芯片、CANN计算架构、以及MindSpore/ModelArts这套软件栈。

昇腾芯片这几年迭代很快,从910A到910B,再到新一代的910C,单卡算力和互联带宽都在提升。更重要的是,华为的HCCS(高速缓存一致性)互联协议,可以在服务器内部把多张卡组成高带宽域,跨节点再通过RoCE或IB类网络扩展。这套体系虽然和NVIDIA的NVLink+InfiniBand路线不一样,但思路类似:通过多层次互联,把“一堆卡”变成“一台超级计算机”。

不过我必须说一句公道话:华为硬件性能的纸面数据已经不错,但大规模集群能否跑出线性扩展效率,才是真正考验。这里面的坑,后面我会详细讲。

2. 核心硬件与芯片架构解析

2.1 昇腾芯片到底强在哪

先聊大家最关心的芯片本身。昇腾系列AI处理器采用的是达芬奇架构,和NVIDIA的GPGPU思路不同,昇腾更像是一个“为AI专用优化”的异构处理器,它内部有AI Core专门负责矩阵运算,同时还有CPU核负责控制调度。

以昇腾910系列为例,单卡FP16算力在320 TFLOPS级别(不同型号有所差异),显存容量从32GB到64GB不等。这意味着什么?拿一个700亿参数的稠密模型来说,光权重就至少需要140GB以上的显存才能放下,光靠一张卡肯定不行,必须做模型并行、流水线并行、张量并行,把模型切到多张卡上。所以显存带宽和互联带宽的重要性,有时候比单卡算力还高。

在16万芯片的规模下,芯片本身的算力反而不是第一关注点。我更关心的是三件事:单芯片的散热功耗比、芯片间互联的稳定性、以及芯片良率带来的故障率。华为公开的数据里,910系列的能效比在业内算是第一梯队,但大规模部署后,几万分之一的故障率乘以16万,就是每天都有几十颗芯片可能出问题,这必须靠系统层冗余设计和自动故障转移来解决。

2.2 服务器与机柜形态的猜测

虽然没有官方公布整机方案,但按华为的常用套路,不外乎两种形态:一种是Atlas 800T系列训练服务器,内置8颗昇腾910芯片,8卡全互联;另一种是更高密度的AI服务器,类似NVIDIA的DGX SuperPOD里的DGX H100,通过柜级互联把多个节点组合成一个超节点。

对于16万颗芯片,需要的服务器数量大约是2万台(按8卡一台算),算上管理节点、存储节点、网络设备,整项目服务器数量可能接近23000台到25000台。一个标准42U机柜大概能放4台到8台训练服务器(取决于是否是液冷高密度机柜),算下来需要3000个以上的机柜。一个标准数据中心楼如果按1000个机柜规划,至少需要三四栋楼。这已经不是一个“项目”,而是一个“园区”。

2.3 液冷:不是选择题,是必答题

160瓦到400瓦的单芯片功耗,8卡服务器的系统功耗往10千瓦以上走。传统风冷机柜的散热能力上限大约在15千瓦到20千瓦每柜,再往上就只能靠降频保命。16万芯片的算力密度,必须上液冷。

华为在液冷上有自己的方案,我记得是冷板式液冷为主,通过CDU(冷量分配单元)把冷却液分配到每个机柜,再通过管路进入服务器内部的冷板,直接给芯片和内存降温。这比浸没式液冷实施简单,维护也方便,但对管路密封性和水质要求极高。

我见过不少项目在液冷上栽跟头,主要问题集中在三处:接头漏水、水质不达标导致管路结垢、以及冷却液流量不平衡导致部分节点过热。内蒙古冬季低温环境下,如果液冷系统停机再启动,还要考虑冷却液冻堵的问题,所以管路里通常需要添加防冻成分,或者保持循环泵不停机。

3. 集群网络与软件栈:让16万芯片真正协同干活

3.1 互联网络的分层设计

16万颗芯片之间的通信,是比芯片本身更难解决的技术难题。大模型训练里,每计算一步,梯度同步就需要所有芯片交换数据。如果网络带宽不够或者延迟抖动过大,再强的算力也会被通信拖成“蜗牛”。

华为的超节点方案里,卡间通信走HCCS或者PCIe交换机,一个节点内的8张卡可以看作一个“超级卡”;节点之间通过RoCE网卡接入数据中心交换机。华为专门为AI集群设计了CloudEngine系列数据中心交换机,支持400G甚至800G端口,用脊-叶(Spine-Leaf)架构组网。

用一个简单的类比:如果把每张芯片比作一个城市,芯片内部的AI Core就是城市的街道,芯片间的HCCS就是连接城市的高速公路,而跨机柜的RoCE网络就是国道和省道。城市里跑得快没用,高速公路堵了,全城都得等。

对于16万芯片规模,RoCE网络需要分成多个Pod(一个Pod包含一定数量的服务器),每个Pod内部用Leaf交换机全互联,多个Pod通过Spine交换机汇聚,再通过超核心交换机连接。端口数量会是海量的,光模块成本可能占整个网络设备成本的40%以上。这也是为什么这种项目总报价里,网络设备单价看着不高,乘上数量就吓死人。

3.2 RoCE与无损网络的隐藏门槛

很多人以为用RoCE就是把网卡插上交换机就能跑,这是大误区。RoCE本身是基于以太网的RDMA,它要把传统以太网的丢包机制改造成“无损”网络,必须开启PFC(优先级流控)、ECN(显式拥塞通知)、DCQCN等机制,并且要反复调优缓存、门限值。

在万卡集群里,最容易出现的问题是PFC风暴。当一个端口的缓存溢出,PFC反向压住上游交换机,这种拥塞会像高速公路连环追尾一样向全网扩散,导致整个集群通信瘫痪。我见过一个三千卡集群,因为某个Leaf交换机的一个端口配置错误,训练任务直接断流,排查了整整两天才发现是PFC门限设置和网卡驱动版本不匹配。

华为这套方案里,为了避免这个问题,把网络管理软件和集群调度器打通了。在训练任务启动时,网络管理系统能预知流量模型,动态调整ECN门限。华为还支持在网计算(In-Network Computing),把梯度聚合的一部分计算卸载到交换机上,大幅减少东西向流量。这些细节,才是一家设备商真正的护城河。

3.3 CANN与MindSpore的适配工作量

硬件和网络之外,软件栈是最大的隐形工作量。华为的深度学习框架MindSpore虽然能兼容PyTorch,但大规模分布式训练时,很多开源工具链并没有原生支持昇腾,需要做算子适配、图编译优化、分布式训练策略重写。

我身边有团队做过昇腾上的模型迁移,一个常见的开源GPT类模型,从CUDA切到昇腾,如果没有现成的ModelZoo模型库,通常要花一两周做算子适配和性能调优。16万芯片集群上不可能只跑一两个模型,一旦模型结构复杂、使用了自定义算子,适配的坑会更多。

华为的做法是提供ModelZoo(预训练模型库)和MindSpore的自动并行能力,让用户尽量不手写分布式策略。但在真实场景里,无论模型并行怎么切,总有些环节要手工调整,尤其是MoE模型的专家并行、长序列训练的序列并行,这些能力在昇腾上还在不断成熟中。所以,16万芯片集群大概率会配备一支庞大的华为驻场团队,他们干的最多的活儿就是帮用户做模型适配。

4. 从16万芯片到可用算力:部署、调度与运维

4.1 算力调度:不是简单的“分卡”

我经常跟朋友说,大集群的算力调度比单机性能优化难十倍。普通用户拿到一台8卡机器,考虑的是如何把一个模型塞进去;拿到16万芯片,考虑的是如何用最小的碎片化损耗,把算力分配给不同任务,同时保证每个任务内的通信局部性。

任务调度器需要考虑三个维度:时间、空间、网络拓扑。时间上好理解,就是排队;空间上,一个任务最好尽量集中在同一组机柜内,减少跨Spine的远程通信;网络拓扑上,要让任务内部的通信流量尽量留在Leaf交换机范围内。华为的集群管理平台(比如 ManageOne 或 FusionDirector)里,已经有拓扑感知调度模块,可以做到这一点。

但在实际运营中,同样会有底线问题:部分用户的任务只需要1000卡,但调度器为了局部性,可能会把这1000卡集中在一个Pod内,导致Pod里的其他卡无法被别的小任务利用,产生“拓扑碎片”。这个课题目前行业内也没有完美解法,只能靠空间分块和动态迁移来缓解。16万芯片的集群如果能做到70%以上的平均利用率,已经是非常优秀的运营水平。

4.2 故障处理:每天都要面对“挂卡”

大规模集群的故障是常态,不是黑天鹅。我曾经看过一份运营报告,一个四千卡的GPU集群,日均故障卡数在3到5张,月故障率大约在1%左右。把这个比例放大到16万芯片,日均故障卡数可能达到20到50张。

这里说的“故障”不一定是芯片永久损坏,更多是训练过程中报错、掉卡、性能降级。比如HBM显存位错误、电压异常、PCIe链路不稳定、散热瞬时超标等等。针对这些问题,集群系统需要具备在线诊断、故障态迁移、弹性重调度能力。

华为的方案里,有一个概念叫“故障感知”,通过在AI芯片里加入RAS(可靠性、可用性、可服务性)功能,实时上报故障信息。训练框架层面,昇腾CANN也支持带检查点的训练恢复,一个任务挂了,能从最近一个保存的检查点重新拉起,而不是从头开始。即便如此,在大规模分布式训练里,频繁断点续训也会让实际有效算力大打折扣。所以,运维团队的核心KPI就是降低MTTI(平均故障发现时间)和MTTR(平均修复时间)。

4.3 性能调优:从“能用”到“好用”

一位做AI平台的老朋友跟我讲过一句话:硬件决定天花板,软件决定地板。16万芯片集群如果软件调优做不好,实际吞吐可能连理论峰值的30%都不到。

性能调优通常从四个层面着手。第一是通信拓扑优化,要让GPU通信流量尽量匹配物理网络拓扑,比如把同一个训练任务的节点放在同一个Leaf交换机下,减少跨Spine流量。第二是通信算子优化,针对AllReduce、AllGather这些集合通信算子做带宽压榨,华为CANN里提供了hccn_tool等调优工具,可以查看通信带宽、时延和拥塞状态。第三是混合并行策略,不同模型适合的并行方式差别很大,需要反复试。第四是存储和数据处理流水线,16万芯片的消费速度惊人,如果数据加载跟不上,芯片只能空转等待。

我在实际操作里发现,很多人会忽略一个细节:数据预处理用的CPU和内存是否充足。用几百个核的CPU去喂16万卡的数据,一定会饿死算力。这个集群里必须配备独立的CPU算力池用于数据清洗、图像解码、tokenization等预处理,并且把数据通过高速存储和缓存层提前放到每台训练节点本地。

5. 常见问题与排查技巧实录

5.1 大规模集群启动失败的3个“隐形元凶”

无论是三千卡还是十六万卡,我们在建集群时都会遇到一些“幽灵级”问题。这里分享几个高频“隐形元凶”:

第一个是光模块兼容性问题。很多项目为了省成本,光模块没有全部采用原厂,但部分方案的RoCE网络要求所有交换机端口支持相同的FEC(前向纠错)模式。混插光模块后,链路虽然能起来,但FEC无法协商一致,导致高负载下大量丢包,训练损失异常。排查方法是用ibstatus(如果是IB)或交换机的show interface counters看一段时间内的错包计数。

第二个是网卡和交换机缓冲区的不匹配。RoCE网卡的接收缓冲区如果太小,在微突发流量下会触发大量重传。不要以为“无损网络”就丢包了,实际上配置不当的无损网络比普通以太网更脆弱。排查方法是使用hccn_tool里的-traffic_stats或者hccn_tool -i 0 -link_status查看链路质量。

第三个是时钟同步问题。分布式训练对时间同步非常敏感,如果NTP(网络时间协议)配置混乱,节点间时间偏差超过毫秒级,分布式通信帧的时间戳就会乱,严重时甚至导致训练跑飞。一定要把PTP(精确时间协议)或者高精度时间同步部署好,并反复验证。

5.2 训练性能上不去?先查“木桶”的短板在哪

有一个训练任务,最初吞吐只能达到预期的40%,排查了大半天。后来发现不是网络也不是芯片问题,而是并行策略里,某些GPU上的数据不均衡,一部分卡在跑重计算模块,另一部分卡在空闲等待。这种情况在MoE模型里尤其明显,专家分发不均衡,会导致部分专家卡的负载是其他卡的三倍以上。

排查思路很简单:看训练日志里每个step的时间方差。如果不同节点的step时长差距超过10%,说明负载不均衡或者通信等待严重。这时要用 profiler(比如昇腾的 msprof 工具)抓一下通信热点,看看是集体通信时延高,还是某些算子执行慢。算子执行慢,有时候是因为输入shape过大触发了编译优化不充分的kernel,可以尝试打开算子融合或者调整数据切分。

5.3 功耗与散热运维复盘:一场“电”与“热”的双人舞

最后聊一点体验层面的东西。

我自己之前管理小规模集群的时候,觉得功耗监控很繁琐,但在16万芯片的规模下,功耗不仅仅是钱的问题,还是稳定性的问题。某区域突然升温,如果冷却系统没有及时跟上,芯片会自动降频,训练性能波动,严重的话会触发节点宕机。所以集群管理里必须有功耗和散热联动的自动化策略:当某一列机柜的入口温度超过设定值,冷却系统要提前加大流量;当电流负载突变时,UPS和柴发要能无缝接管。

另一个容易忽视的坑是冷通道密闭。大集群高密部署时,如果冷通道或者热通道没有做好密封,冷热空气混合,那液冷再好也白搭。我们机房做过一次测试,只是没关好一个冷通道门,那一列机柜的空调回风温度直接高了4摄氏度。大规模集群的运维就是这些鸡毛蒜皮的细节,但恰恰是这些细节决定了一个集群能不能7×24小时稳定输出。

内蒙古这个项目如果真的建成,它不仅是华为昇腾的旗舰标杆,也会是整个AI算力行业的一次压力测试。因为在此之前,国内单体超过万卡的昇腾集群已经是最具挑战性的工程,而这次是16万颗芯片的体量,意味着从规划、实施、运维到商业模式,所有环节都必须重新定义。

从我个人的判断来看,技术上的挑战虽然大,但最难的其实是“把这么多算力持续卖出去”。算力中心建好只是开始,后续能不能拉到足够多的大模型训练任务、推理任务、科学计算任务,把这16万芯片的每一天都变成产值,才是一个“史上最大”项目真正能跑通的关键。

最后再分享一个小建议:如果你之后有机会接触这种大规模集群的规划,不要只盯着芯片和框架,请一定把网络和运维团队拉到第一排,他们才是让16万芯片“待命”变成“干活”的核心保障。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询