
最近和几个做AI基础架构的朋友碰面大家口径高度一致不是买不到算力卡是电不够用。算力危机被念叨了好几年翻译成机房里的白话就一句——算力危机的本质是能效危机。这几天热搜上飘着的算力RTX 3090算力分布式算力AI算力集群架构都指向同一个问题我们到底怎么把每一度电换成更多的训练迭代这篇文章基于我自己做GPU集群运维、踩过大模型训练调度坑的经验把算力与能效的关系、资源配置建模方法、集群架构取舍一次讲透。想搞懂大模型训练要几张卡、怎么省钱省电或者正打算搭一个小规模AI算力集群的朋友应该都能从里面找到能直接抄作业的思路。1. 算力焦虑的另一面表面缺卡实际缺瓦1.1 算力危机的真实语义我先说个身边的观察。2023年以后市面上喊买不到卡的声音明显变了味头部云厂商的A100、H100都有货但新建机房的审批里最难过的不是采购单而是供电方案。一个8卡的H100服务器光GPU的峰值功耗就是8×700W加上CPU、内存、NVSwitch、电源转换损耗一台整机的输入功耗普遍在9到10kW。标准数据中心一个机柜一般只给6到10kW的供电容量所以现在流行的高密度机柜一去到30kW、40kW配电柜、母线、散热都得推倒重来。换句话说瓶颈已经从芯片产能转移到了电表容量上。这个转变不是小事。算力危机如果要翻译成一句人话那就是单位面积、单位时间能供给的瓦特数决定了你能跑多少大模型。GPU可以靠排队等货但电费是每个月实打实扣走的。我自己管过的集群电费在总成本里的占比从三年前的百分之十几涨到现在超过了三分之一。电这个东西瞬时功率不够会跳闸累计能耗太高会吃光预算两头都卡死你。1.2 把算力换算成每瓦特产出为什么说本质是能效危机因为我们真正需要的是有效的模型训练进度而不是裸算力。同样是FP16 Tensor Core的浮点运算不同GPU每瓦特能产出的结果差出一大截。打个比方算力就像汽车的马力能效就像百公里油耗。大马力赛车确实快但如果一箱油只能跑两圈赛道车队还是要掂量掂量。AI Infra领域有个常用的指标算力能效比单位是FLOPS/Watt或者TOPS/Watt指每消耗一瓦电能够完成多少次浮点运算。这个数越大说明芯片把钱花在刀刃上。很多做训练的人一开始只盯峰值TFLOPS等到电费单下来才发现错了。峰值算力再高如果功耗和散热限制了实际跑不到的频率那也只是纸面数字。能效比的本质是把容易算错账的两个维度统一成一个维度给一度电你能跑多少token。谁把这件事算明白谁就能在大模型军备竞赛里活得更久。2. 把能效拆开看单卡、整机、机房三层指标2.1 单卡能效从RTX 3090到H100的对照先看单卡。这里我按厂商公开参数做一个粗口径对比统一看FP16 Tensor Core稠密算力和TDP表格里的能效比就是两者相除型号架构FP16 Tensor稠密算力TDP每瓦算力(FP16 Tensor/W)典型定位RTX 3090Ampere消费级约71 TFLOPS350W约0.20个人尝鲜、廉价跑批A100 80GAmpere数据中心约312 TFLOPS400W约0.78上一代训练主力H100 SXMHopper数据中心约495 TFLOPS700W约0.71大模型训练主力RTX Pro 5500Blackwell工作站新一代架构INT8/FP4优化约160W能效优先设计工作站微调/推理很多人没注意H100在稠密FP16上的每瓦算力其实没有比A100高多少真正的代差体现在稀疏模式和FP8/FP4上那部分能效比能跑到1.4甚至2.8以上。而RTX Pro 5500这类Blackwell工作站卡定位很有意思它不追求绝对峰值而是把TDP压到160W级别主打够用、省电、安静适合个人工作站做微调和小规模推理。选卡的时候别被公司的PPT带偏先算清楚你要跑的任务吃的是稠密还是稀疏、FP16还是FP8。这里要提醒一句表格里的能效比是标称峰值功耗下的峰值算力真实负载里GPU利用率低于一半时每瓦产出可能只有标称的一半都不到。所以单卡能效只是起点还得看整机和机房的账。2.2 整机与机房PUE 是电费放大器单卡标称再漂亮放到机房就绕不开PUEPower Usage Effectiveness电能使用效率。PUE的定义很朴素机房总耗电除以IT设备耗电。1.0意味着电全部用在服务器上没有损耗现实里风冷机房普遍1.3到1.5液冷机房能压到1.1左右。别小看这0.2、0.3它会把你的电费放大三成。举个例子一套256卡A100集群IT负载功耗按102kW算如果机房PUE是1.5实际总功耗就是153kW一年下来光冷却和供电损耗就吃掉了45万千瓦时以上。换到液冷PUE 1.1的机房同样的IT负载总功耗112kW一年省下的电费可能够再买一台训练服务器。我在规划集群时会把PUE直接写进机型选型评审表风冷和液冷方案各出一版能耗预算用数字说话比什么都管用。注意PUE是动态指标不是纸面常量。签约机房前一定要看对方实际运行的历史PUE曲线尤其是低负载时段的表现否则宣传册上的1.15到你账单上很可能变成1.4。2.3 动态能效标称满载只是理想情况还有一个坑是动态能效。GPU不是一块纯电阻它在不同负载下的能效差异非常大。经常有人跑推理服务GPU利用率只有20%功耗却占满载的50%以上——因为显存、HBM、各类控制器只要上电就在耗电。实测下来H100空载功耗能有80到120WA100也有60到90W占TDP的15%到20%。所以一个集群最费电的状态往往不是满载训练而是有空闲GPU挂着没人理。针对这个现象我在生产环境里养成了两个习惯。第一个是给推理任务开功率上限比如把A100用nvidia-smi -pl 300限制到300W对延迟不敏感的批量推理能把利用率堆到80%以上性能损失通常不到10%功耗却能省25%左右。第二个是调度器里做严格的bin-pack按GPU整数卡占用来排任务把碎片化空闲卡合并关停或休眠能省出一大块电费。能效管理不是买几块省电卡就完事是持续跟功耗曲线作斗争。3. 算力约束下给大模型做资源配置建模3.1 先用6ND公式把算力需求算出来聊完能效指标落到具体问题给一个大语言模型做资源配置到底需要多少算力业内最常用的是Chinchilla论文给出的估算公式一次完整训练的浮点运算量FLOPs大约等于6乘以参数量N乘以训练token数D即FLOPs ≈ 6ND。这个公式背后的直觉是前向传播大概要2ND次运算反向传播是前向的2倍加起来约6ND。它不算精但足够用来做资源配置的顶格估算。举个例子训练一个70亿参数7B模型、训练数据2万亿token总FLOPs就是6×7×10^9×2×10^12约8.4×10^22。别小看这个数它就是一切后续规划的起点。有了总量再看单卡产能。以A100 80G为例FP16稠密算力312 TFLOPS一天的理论吞吐是312×10^12×86400秒约2.7×10^19 FLOPs。但真实训练还有通信、等待、访存瓶颈行业里通常用MFUModel FLOPs Utilization模型浮点利用率来衡量实际效率。A100集群MFU能到40%到50%已经不错按45%算单卡每天有用算力约1.2×10^19 FLOPs。8.4×10^22除以这个数约7000个A100·天。这就是算力约束落到账本上的样子。注意6ND只是一个理想估算真实训练还会被激活重算、通信、日志检查点等额外开销拖累建议在算出的GPU·天上乘以1.1到1.3的工程系数。3.2 一个可以直接照抄的估算模板我把这个流程整理成五步模板你直接往上套就行定参数量和token数用6ND算出总FLOPs。选卡查官方算力和TDP估算一个现实MFU训练用0.4到0.5推理用0.2到0.4。算单卡每日有用算力算力×86400×MFU。用总FLOPs除以单卡每日产能得到GPU·天。用GPU·天乘以24小时、乘以单卡功耗、乘以PUE得到总耗电。我拿7B/2T这个任务分别套H100、A100、RTX 3090三种方案假设都在一个组织靠谱的机房里、PUE取1.2结果是这样的方案卡数预计训练耗时IT负载功耗总耗电量(含PUE 1.2)H100256卡约17天约180kW约88MWhA100256卡约27天约102kW约79MWhRTX 3090512卡约76天约180kW约390MWh这里的MFU假设是H100和A100能到45%RTX 3090集群因为PCIe交换机通信瓶颈只能按35%算。看到最后一栏你就明白为什么我一直反对用消费卡堆训练集群——它单卡便宜但单位token的能耗和时间成本高得吓人训练一个7B模型要烧掉390MWh几乎是H100方案的4.5倍。省了卡的钱全在电费和人工等待里吐回去了。经验之谈千万不要用消费级显卡堆大模型训练集群它省下的采购成本会在电费、散热和时间成本上连本带利吐回去。3.3 资源配置还要跟训练策略联动资源配置建模不是算完GPU·天就算了它跟训练策略强耦合。同一个任务你用张量并行、流水线并行还是数据并行MFU天差地别你用BF16还是FP8显存压力和能效也完全不同。我的经验是先决定并行策略再定卡数最后才是选卡型。比如显存吃紧时很多人无脑开梯度检查点但梯度检查点是用额外计算换显存会让总FLOPs上涨10%到30%直接拉低能效。更划算的路线是先做序列打包、激活分区、offload优化器状态把显存利用率拉满再考虑检查点。此外通信占比过高的集群与其加卡不如换更好的互联设备——一张算力翻倍的卡如果天天在等AllReduce能效比就是一纸空文。这些策略层面的选择最终都会反馈到每度电能产出多少有效FLOPs上。4. 从单机到集群AI算力集群构成与能效架构4.1 一套AI算力集群的典型构成顺着资源配置再往上走就得看集群本体。现在一套正经的AI算力集群基本由五层构成算力层、网络层、存储层、调度层、配套层。算力层就是GPU服务器常见8卡一台靠机内NVLink和NVSwitch组成一个高带宽域网络层是跨服务器的通信骨架高性能场景用InfiniBand或RoCE低性能场景用普通以太网存储层要给训练数据提供高吞吐并行文件系统几乎是标配调度层用Slurm或Kubernetes把任务分给GPU配套层是电源、散热、机柜、监控它决定了集群能稳定跑多久。很多人搭集群只盯着算力层结果网络层配了张万兆网卡8卡H100之间数据搬不动MFU直接腰斩。存储层如果带宽跟不上dataloader一卡壳GPU就在那空转烧电。这个坑我见过太多配置集群时一定要把算力/网络/存储三者的带宽做匹配宁可GPU算力略吃紧也别让任何一个环节成为电费黑洞。4.2 架构选型里的能效取舍架构选型表面看是技术选型实际是能效取舍。第一层是机内互联NVLink能让8卡共享显存带宽但如果你只跑数据并行NVLink的优势发挥不出来不如用PCIe卡反过来做张量并行的超大模型没有NVLink就是灾难。第二层是机房散热风冷方案便宜但PUE高、噪声大液冷方案前期贵但能把PUE压到1.1以下还能让GPU在更高功耗下不撞温度墙、不掉频长期看电费反而省得多。第三层是调度器用Slurm按整数卡bin-pack把闲卡合并休眠比让任务乱跑省电得多。还有一点容易忽略供电余量。很多人按GPU峰值功耗加个20%就算完实际训练用DCGM测一下8卡H100瞬时总功耗冲到9kW很正常供电余量不够就会触发电源保护训练中断重来白白浪费电。我给每台服务器预留的供电余量都在30%以上宁可多报一点容量也不要让整机在临界点跳舞。4.3 分布式算力把闲置瓦特变成有效产出分布式算力这两年很热我的判断是它的本质是把碎片化的瓦特聚合成有效的算力。一家公司晚上空闲的几百张卡白天可以租给别的团队做推理或微调个人开发者手里的RTX 3090也能通过各类算力平台接一些小任务把闲置电费摊薄。这也是为什么很多厂商开始做面向开发者的算力申请计划——与其各自买卡吃灰不如把高能效的算力按小时分出去。但分布式算力不是万能药。跨机房、跨地域的带宽延迟很高做分布式训练要把任务拆成粗粒度按数据集切片做数据并行可以按层拆流水线也行唯独跨机房做张量并行是找死一个AllReduce的通信延迟就能让MFU掉到个位数。我建议把分布式算力定位在推理、微调、后训练对齐这类通信量可控的场景训练大模型还是老老实实放在同一个高带宽集群里。算力可以分布电费的账要集中算。5. 能效优化的实操总结与常见问题排查5.1 我亲手踩过的三个能效坑第一个坑是贪便宜组RTX 3090集群。两年前我接过一个项目为了省采购费买了上百张3090搭训练集群结果训练一个中型模型跑了快三个月电费预算爆掉机房空调天天满载不说PCIe交换机还成了通信瓶颈GPU利用率平均只有30%出头。后来算总账那颗省钱的糖衣里包的全部是电费和时间的苦药。第二个坑是只看满载算力没配监控。有段时间集群GPU利用率看着有80%但训练吞吐没有同步上升查下来发现部分卡因为温度墙自动降频实际运行功耗只有TDP的70%。没有DCGM和nvidia-smi dmon的逐卡监控你根本发现不了这种偷偷省力的卡。第三个坑是PUE被厂商宣传误导。签约时机房说PUE 1.15实际跑起来因为部分机柜闲置冷却机组在小负载下效率很差全年算下来PUE接近1.4电费凭空多出25%。签约前一定要看对方真实的历史PUE曲线而不是看宣传册上的数字。5.2 能效问题快速排查清单我把日常最常用的排查项整理成一张速查表现象排查手段常见原因与对策GPU利用率高但MFU低做NCCL带宽测试、看通信占比网络或PCIe瓶颈升级互联或调整并行策略训练速度突然变慢nvidia-smi -q查温度、功耗、频率温度墙降频清理风道或降低PUE整柜电费异常上涨核对DCGM功耗日志和机柜PDU读数存在空闲GPU未休眠补调度策略推理延迟没降但功耗高nvidia-smi -pl设功率上限对批量推理做power cap能效提升明显新任务频繁中断重启检查供电余量、UPS负载瞬时功耗超限预留30%以上供电余量这套清单不需要昂贵工具nvidia-smi、DCGM、ipmitool、机柜PDU自带的功率计基本能把九成问题定位出来。关键是养成习惯每周看一次功耗趋势每月做一次能效复盘。5.3 一些能长期受益的习惯最后分享几个我坚持了很久的做法。第一维护一张能效台账每天记录训练任务消耗的GPU·天、耗电量和有效token产出算出一个每度电token数的指标它会逼着你在每一次架构调整后量化对比而不是靠感觉。第二给所有GPU设置合理的功率上限训练卡可以放开推理卡和低优先级任务一律power cap收益立竿见影。第三不要盲目追新卡每张卡先跑一遍微基准测出它在你的任务负载下的真实每瓦算力再决定要不要采购。我在引入RTX Pro 5500这类工作站卡前就在自己的微调任务上对比过它的能效比发现比同价位旧旗舰高出一截才敢推荐团队换。说起来我这些年从堆卡到算能耗最大的转变是意识到一件事AI基础设施的战争最后会变成一度电产出多少token的战争。算力危机的本质是能效危机这句话不是口号而是每个月电费账单、每次硬件选型、每场集群扩容会议里反复验证过的现实。如果你看完这篇文章只记住一个动作我希望是从今天开始给你的训练任务建一张算力/能耗台账把GPU·天、耗电量、有效token三列数据记下来。三个月后再回看你会感谢自己现在做的这一步。未来真要扩集群也请先拿这些账本数字说话再决定要不要下单买卡。