算力这个词,一两年前还只是少数搞深度学习的人在群里讨论的话题,现在几乎成了所有科技公司CEO嘴边挂着的战略词汇。无论是大模型训练、AI推理部署,还是AIGC应用创业,底层都离不开“算力”这两个字。我在实际接触不少团队后发现,大家的认知正在快速分化:早期那种“有卡就能讲故事”的阶段已经结束了,算力竞赛明显进入了深水区——不是单纯比谁买到的GPU多,而是比谁的算力基础设施更完整、更高效、更经济。
这篇文章想系统梳理一下当前全球AI基础设施博弈背后的产业逻辑,同时把算力评估、平台选型、多机管理这些真正影响落地效果的实操问题讲透。内容主要面向做AI平台、大模型训练、AI Infra的工程师和架构师,也适合想搞清楚“算力到底怎么一回事”的技术管理者和创业者。读完你至少能回答三个问题:怎么评估自己的算力需求?不同算力供给方之间怎么选?多台算力服务器到底怎么管才不浪费?
1. 算力竞赛进入深水区:从“拼卡数量”到“拼系统效率”
过去两年,行业里对算力竞赛的理解经历了两次明显的转变。第一次转变是大家意识到,训练大模型真的需要海量算力,单张显卡已经无法支撑千亿参数模型的训练,于是开始疯狂采购GPU集群。第二次转变正在发生:很多团队买到了卡、搭起了集群,却发现自己根本跑不出论文里那种效率,GPU利用率常年徘徊在30%以下,这时候大家才明白,算力竞赛真正比的是系统整体效率,而不是单纯的硬件数量。
1.1 为什么说“有卡只是入场券”
先算一笔账。假设你要训练一个千亿参数的模型,如果用单张H800(按BF16算力约400 TFLOPS)来跑,即便理论计算量完全不损失,一个包含数万亿token的训练集也需要跑上几个月甚至几年。所以行业通用的做法是上集群,用上千张卡并行训练。但并行训练这件事,涉及计算、通信、存储三个子系统的协同,任何一个环节出问题,整体效率都会被严重拖累。
我在实际项目里见过太多这样的案例:客户花大价钱买了512张GPU,结果一跑多机训练,NCCL通信超时、网络拥塞丢包、显存OOM、甚至某个节点掉卡导致整个任务中断,每天的有效训练时间不到一半。这里面的核心逻辑是:算力是一个系统,GPU只是其中一个部件。就好比一辆跑车,发动机马力再大,变速箱匹配不好、轮胎抓地力不够,实际圈速照样上不去。
所谓“深水区”,指的就是大家终于开始把注意力从“买什么卡”转移到“怎么让集群持续稳定地跑出高利用率”上。这个阶段拼的是工程能力、系统设计能力和精细化运营能力。
1.2 算力基础设施的概念边界
聊算力基础设施,不能只盯着GPU。我在跟不少技术管理者交流时发现,很多人对“算力基础设施”的理解是模糊的,觉得就是一堆服务器堆在一起。实际上,一个完整的算力基础设施至少包括四层:
- 硬件层:GPU/NPU芯片、CPU、内存、NVMe SSD、网卡、交换机等
- 系统层:操作系统、驱动、CUDA/ROCm等计算平台、容器运行时
- 平台层:资源调度系统(如Kubernetes、SLURM)、任务编排、监控告警、日志系统
- 应用层:模型训练框架(PyTorch、DeepSpeed、Megatron)、推理服务框架(vLLM、TGI)、数据管道
这四层每一层都可能成为瓶颈。很多团队把大量精力花在选GPU上,却忽视了网络拓扑设计、存储IO性能、调度策略,结果整体效果大打折扣。理解了这四层,你再看各类算力供给方的报价单,就能看出来对方到底是在卖“卡”还是在卖“基础设施”,这两者之间的价值差异非常大。
1.3 产业博弈的主战场正在转移
产业层面的博弈也在发生变化。早期大家拼的是“谁有独家芯片资源”,现在逐步转向“谁的算力平台生态更完善”。这里的逻辑很直白:硬件指标只是起点,真正决定用户粘性的是开发体验、工具链完备度和实际运行效率。
我观察到几个明显的趋势信号:第一,越来越多的算力供给方开始提供预装好CUDA、PyTorch、DeepSpeed的镜像环境,目的就是降低用户的上手成本;第二,各家都在强调自家集群的互联带宽和故障恢复能力,而不是只讲单卡算力;第三,GPU虚拟化和算力切分技术正在普及,目的很简单——让一块卡能服务更多用户,提高单位硬件收入的效率。这些变化说明,大家争的是“谁能把算力真正用好”,而不是“谁名义上拥有更多硬件”。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 算力到底怎么算:Token、API、TOPS 与算力评估方法论
聊到算力,绕不开几个高频词:算力、Token、API、TOPS。很多刚入行的朋友会被这些概念绕晕,甚至把它们当成同一种东西。这节先把这个基础概念梳理清楚,再进入实操层面的算力需求评估。
2.1 什么是算力,怎么衡量
算力本质上就是“单位时间内能完成多少计算任务”的能力。在大模型领域,衡量算力最常用的单位是TFLOPS,即每秒执行的浮点运算次数。比如某款GPU的BF16算力达到400 TFLOPS,意味着理论上它一秒钟可以执行400万亿次BF16精度的浮点运算。
显卡市场还经常看到TOPS这个单位,尤其在端侧AI和自动驾驶领域。TOPS是Tera Operations Per Second的缩写,每秒万亿次操作。TOPS和TFLOPS的区别在于,TOPS把整数计算和浮点计算都算进去了,而TFLOPS只针对浮点运算。对大模型训练来说,TFLOPS参考意义更大;对边缘AI推理来说,TOPS更直观。这也解释了为什么不同产品宣传时偏爱不同单位,本质上是选择一个对自己更有利的数值口径。
2.2 Token、API 和算力不是一回事
很多做应用的同学经常问:Token、API和算力是不是同一个东西?我的回答永远是:不是,它们分别处于不同层面。
- 算力是底层资源,对应的是物理硬件的计算能力
- Token是模型处理文本的最小单位,大模型生成内容时按Token消耗计算资源
- API是使用算力的接口形式,你把请求发到API,背后为你干活的就是算力资源
用个通俗的类比:算力相当于发电厂的发电量,Token相当于你家用了多少度电,API相当于你家的电表和入户线路。你关心Token消耗,本质上是因为它反映了背后算力资源的消耗,但Token本身并不等于算力。
2.3 Token算力需求如何评估
这是实操中最常遇到的问题:我怎么知道一个项目需要多少算力?我提供一套自己常用的估算方法,不保证精确,但对前期预算和资源规划足够用。
先看推理侧。假设你做一个AI产品,日活用户1万人,平均每个用户每天调用100次模型接口(包括多轮对话的增量生成),每次交互生成约500个Token,那么一天的Token消耗量约为1万×100×500,等于5亿Token。再来看单张GPU能支撑多少:在主流7B-14B规模的模型下,单张H800配合vLLM这类推理框架,吞吐量大致能做到每秒1000-2000个Token。按1500算,一天的推理能力约为1.3亿Token。这么一算,至少需要4张卡才能满足高峰期需求,考虑到流量波动和冗余,实际配置建议再翻一倍。
训练侧的估算更复杂一些。一个粗略的经验法则是:训练一个X亿参数模型,在有效数据量为Y亿Token的情况下,总算力消耗约等于6×X×Y(单位:FLOPs)。把总算力除以单卡算力和集群规模,就能算出大致训练时长。这个“6倍法则”在业界被广泛使用,虽然不是精确公式,但作为前期估算完全够用。
2.4 评估算力需求时的常见误区
我在评测算力需求时踩过不少坑,也见过很多团队犯同样的错误,这里总结三点:
第一,只看峰值不看均值。有些场景(比如早晚高峰的对话应用)流量波动极大,只按平均流量估算会导致高峰期请求堆积。我建议至少按峰值的1.5倍预留在线推理资源,低成本流量走批量队列处理。
第二,忽略显存容量约束。算力够不够只是问题的一半,显存放不放得下模型是另一半。一个7B参数的模型,加载BF16权重就需要约14GB显存,加上KV Cache、中间激活值,单卡并发数上不去,再强的算力也白搭。实际选型时必须同时考虑算力和显存,不能只看TFLOPS。
第三,混淆训练和推理的资源需求。训练阶段吃的是持续高算力和高带宽,推理阶段更在意延迟和吞吐的平衡。一个常见的错误是用推理的部署方式去评估训练资源,结果要么算少了,要么算多了。两者分开评估、分开规划,才是正解。
3. 全球AI基础设施博弈的核心维度:芯片、集群、平台与生态
前面聊了概念和评估,这节进入产业格局层面。全球AI基础设施的博弈可以从芯片、集群、平台、生态四个维度来观察,每一层的竞争逻辑和参与者行为都完全不同。
3.1 芯片层:算力硬件路线的三派竞争
芯片层是整个算力基础设施最底层、也最关键的一环。目前市场上有三条技术路线在并行推进:
第一派是通用GPU路线。这一派的代表是NVIDIA的A100/H100/H800系列,以及AMD的MI300系列。它们的核心优势在于通用性强,CUDA生态成熟,几乎所有的深度学习框架都对它们做了深度优化。劣势也明显:单价高、供货周期长、功耗大。
第二派是专用ASIC路线。Google的TPU是典型代表,专门为深度学习矩阵运算设计,在特定任务上的能效比往往优于通用GPU。但专用意味着灵活性差,换框架、换模型结构可能需要重新适配。
第三派是国产加速卡路线。近年来国内厂商推出的各种AI加速卡,在单卡算力上已经接近主流水平,但生态和软件栈仍有差距。选择这个路线的核心考量是供应链安全和成本,但代价是需要做额外的框架适配和算子优化。
三层博弈的核心逻辑是:通用派吃生态红利,专用派吃能效红利,国产派吃自主可控红利。对用户而言,没有绝对的最优,只有结合场景的“够用且划算”。
3.2 集群层:万卡集群的工程复杂度被严重低估
如果说单卡选型是“面子”,那么集群设计就是“里子”。一个万卡规模的训练集群,涉及的工程复杂度远超大多数团队的预期。
最核心的问题有三个:网络拓扑、存储性能和故障容错。
网络拓扑方面,大模型并行训练存在大量的集合通信操作,比如AllReduce、AllGather等,对节点间的通信带宽和延迟极其敏感。业界主流方案是采用InfiniBand或RoCEv2这类高速网络,并按照Fat-Tree或Torus拓扑组网。实际部署中,我发现很多团队只关注交换机端口速率,却忽略了网络拥塞控制策略,结果带宽上去了,实际通信效率不到理论值的50%。
存储方面,训练数据的加载、Checkpoint的保存恢复,都需要极高的IO吞吐。很多人问为什么训练任务经常出现“GPU空转”,排查下来往往是数据读取跟不上。这个问题在越大规模的集群中越严重。一个可行的方案是把高频读取的数据放到NVMe缓存层,把低频冷数据放到对象存储,并通过预取策略减少IO等待。
故障容错方面,万卡集群里单卡故障是常态,不是异常。关键是要设计好故障检测和自动恢复机制,比如及时踢掉故障节点、自动从最近Checkpoint恢复训练。我见过有团队因为没做自动恢复,一次故障导致整个训练任务回退好几个小时,非常痛。
3.3 平台层:算力运营的“操作系统之争”
芯片和集群之上是平台层,也就是算力调度和运营的“操作系统”。这一层的竞争决定了一个算力系统能否把硬件资源真正盘活。
目前主流的平台方案有几类:高性能计算场景多用SLURM,支持各种任务队列和节点分配策略;云原生场景多用Kubernetes加各种自定义调度器,配合GPU虚拟化技术实现资源切分;AI训练场景也有像Ray这样的分布式计算框架,适合做弹性调度和任务编排。
平台层的设计原则我总结为四个字:弹性、隔离、观测、自愈。弹性是指资源可以按需伸缩,闲时释放、忙时扩容;隔离是指不同用户、不同任务之间的资源要互相不干扰;观测是指要有完善的监控体系,能够看到GPU利用率、网络流量、存储IO等关键指标;自愈是指系统能自动处理常见故障,不需要人工介入。
3.4 生态层:开发者体验决定基础设施的护城河
最后一层是生态,也是最难复制、最难短期追赶的护城河。所谓生态,说白了就是开发者在这个平台上干活是否顺手,踩坑时能不能找到答案,迁移成本高不高。
NVIDIA的CUDA生态就是最典型的案例。很多团队虽然抱怨显卡贵,但换了别家产品后,发现CUDA生态里那些随手可用的算子库、调试工具、优化工具全都要重新适配,综合成本反而更高,最后还是选择迁回。这说明算力竞争最终落脚到的是开发者习惯和工具链成熟度。
对于做算力平台的同学,我的建议是:不要只盯着硬件指标做宣传,把精力花在完善镜像市场、算子库、监控告警模板这些开发者真正在意的地方。生态建设不像买硬件那样立竿见影,但一旦形成粘性,其他平台用更低价格也很难挖走用户。
4. 算力平台选型与多机管理实操经验
前面讲了这么多产业逻辑,最终还是要落到“我怎么选、怎么用”上。这节分享一些我实际使用不同算力平台和管理多台GPU服务器的经验,内容偏工程落地。
4.1 公办云算力平台与自建集群的取舍逻辑
团队在规划算力时,第一个选择题通常是:用公有云算力平台,还是自建集群?这个问题没有标准答案,但可以给出判断框架。
自建集群的优势是长期边际成本低、数据私密性好、资源完全可控。缺点是前期投入巨大、建设周期长、运维压力大。对于算力需求稳定且持续的业务,自建是划算的。我认识的一个团队做了个测算:如果GPU利用率能长期稳定在60%以上,自建集群的三年总成本约为使用公有云的50%到60%。
公有云算力平台的优势是弹性好、上手快、几乎零运维。缺点是单价比自建高,逻辑隔离和数据安全也需要额外设计。对于业务需求波动大、还处于验证期的团队,公有云显然是更合适的选择。
实际的中间路线是:核心业务和常态化训练任务放在自建集群,弹性波峰和突发任务打到公有云。这种“混合云”策略我目前最推荐,既能保底成本,又不牺牲弹性。
4.2 怎么评估一个算力平台好不好用
选算力平台不能只看价格,我用过多个平台之后,总结了一套评估清单,供参考:
第一,算力规格是否透明。有些平台只写“A100 40G”,但实际分配到的可能是虚拟化切分后的实例,算力打了折扣。好的平台会明确标注是否独享宿主机、是否支持GPU直通。
第二,网络组网是否合理。多机训练场景下,节点间是接入同一个高性能交换机还是普通千兆网络,差异极大。我建议在正式采购前做一次NCCL全互联带宽测试,跑不过预期带宽的平台直接排除。
第三,存储方案是否完整。很多算力平台默认只提供系统盘,数据需要自己传到对象存储,训练时再拉取。如果平台没有提供高性能共享存储方案,大规模训练的效率会很差。
第四,故障恢复和售后响应。算力平台不是不会出问题,而是出了问题能不能快速解决。在选型阶段可以通过工单响应速度、是否有用户群、文档是否完善来做初步判断。
第五,计费方式是否灵活。按秒计费比按小时计费更切合实际需求,支持抢占式实例的平台可以帮助大幅降低成本。
4.3 怎么统一管理多台算力服务器
项目跑起来之后,多台服务器管理就是一个避不开的问题。我见过一些团队用Excel表格记录每台机器的IP和用途,卡多了之后完全失控。这里分享一套比较成熟的管理方案,按层次递进。
最基础的一层是配置管理和远程命令执行。推荐用Ansible加一套标准的初始化Playbook,负责所有服务器的系统配置、驱动安装、常用工具部署。这样新机器上线时,一条命令就能完成基础环境准备。我们自己的Playbook里覆盖了NVIDIA驱动、CUDA、Docker、NCCL环境变量、时区设置、日志清理策略等,效率提升非常明显。
第二层是任务调度。多机环境下,无论是训练任务还是数据处理任务,都应该通过调度系统来管理,而不是手动ssh到某台机器上nohup启动。SLURM适合传统的HPC风格团队,Kubernetes适合云原生风格团队。我的经验是,如果团队里已有Kubernetes基础,尽量统一用Kubernetes加调度插件,学习成本和工作效率都更优。
第三层是监控告警。没有监控的多机环境等于裸奔。推荐用Prometheus加GPU Exporter采集各节点的指标,Grafana做可视化展示。重点关注的指标包括:GPU利用率、显存使用率、GPU温度、PCIe/NVLink带宽、网络流量、存储IO延迟。告警规则至少要覆盖GPU掉卡、显存OOM、温度过高、节点失联这几类问题。
4.4 算力服务器常用命令速查
最后整理一份算力服务器和GPU节点常用的命令清单,都是我日常排查问题时使用频率很高的,供参考。
bash复制# GPU状态查看与监控
nvidia-smi
nvidia-smi -l 2 # 每2秒刷新一次
nvidia-smi --query-gpu=index,name,utilization.gpu,memory.used,memory.total --format=csv
# GPU健康检查与掉卡检测
nvidia-smi -a # 查看完整GPU属性
nvidia-smi --gpu-reset # 重置GPU(谨慎使用)
lspci | grep -i nvidia # 检查PCIe设备是否正常识别
# DCGM的进阶诊断(NVIDIA官方数据中心GPU管理工具)
dcgmi diag -r 1 # 快速诊断
dcgmi dmon -e 1001,1002,1003 # 持续监控GPU利用率、温度和功耗
# 网络带宽与NCCL测试
ibstatus # 查看InfiniBand网卡状态
ib_send_bw -a # IB带宽测试
nccl-tests/build/all_reduce_perf -b 8 -e 8G -f 2 -g 8 # NCCL性能基准测试
# 系统资源查看
lscpu # CPU信息
free -h # 内存信息
df -h # 磁盘空间
iostat -x 2 # 磁盘IO状态
4.5 成本优化的几个实操手法
算力成本是每个AI团队的心头之痛。以下几个方法是我实测下来最有效的,适合大多数团队参考。
GPU虚拟化算力切分是第一个方向。对于推理场景,很多时候单张GPU的算力远超单副本模型的需求。通过MIG或vGPU技术把一张卡切分成多份,可以让多个模型副本共享一张卡,把硬件利用率拉满。我们在一个对话场景中,通过MIG把A100切分成7个实例,单卡同时服务的QPS提升了近5倍。
训练和推理分离是第二个方向。训练任务通常是大规模、长时长的,推理任务通常是小规模、高并发的,两者混部在同一批机器上,既互相干扰,也不利于资源规划。把两类任务拆开,用不同类型的节点承接,整体资源利用率反而更高。
数据分层存储是第三个方向。很多团队把全部数据都放在高性能存储上,成本很高。更合理的方案是热数据放本地NVMe,温数据放分布式文件系统,冷数据放对象存储。数据显示,一个训练任务里大约80%的时间在读取一小部分热点数据,把这部分放到本地盘,IO瓶颈会明显缓解。
5. AI Infra 典型问题与排查经验
做AI基础设施,永远绕不开问题排查。这一节把我这些年踩过的坑和常用排查思路整理出来,做成一个速查风格的内容,方便遇到问题时直接翻。
5.1 多机训练常见问题速查表
| 问题现象 | 可能原因 | 排查思路与解决方案 |
|---|---|---|
| NCCL通信超时 | 网络拥塞、防火墙限制、RDMA配置错误 | 先用nccl-tests跑基础带宽测试,确认网络连接;检查UDP端口是否开放;确认RDMA和拥塞控制参数是否一致 |
| 训练吞吐远低于理论值 | GPU利用率低、通信占比过高 | 用Nsight Systems分析各阶段耗时;检查数据加载是否存在瓶颈;尝试加大Batch Size减少通信频率 |
| 节点掉卡或GPU消失 | 驱动不稳定、硬件故障、过热 | 查看dmesg日志和系统日志;运行dcgmi diag做硬件诊断;检查散热和供电 |
| 显存OOM | 模型过大、Batch Size过大、显存碎片 | 用显存分析工具查看内存分布;调低Batch Size;尝试开启显存碎片整理(如PyTorch的expandable_segments) |
| 训练Loss震荡不收敛 | 学习率过大、数据混乱、梯度同步异常 | 先单卡小规模跑通复现;确认数据Shuffle逻辑;用all_reduce对比多卡和单卡的梯度一致性 |
5.2 GPU利用率低的隐性原因
很多团队来问我,为什么明明买了高配GPU,训练时利用率却上不去。我排查下来发现,最常见的原因不是硬件问题,而是软件设计问题。
数据加载是头号因素。不少数据管道使用Python多进程从远程存储读取数据,IO延迟完全暴露在训练关键路径上。解决办法是加大prefetch容量,或者改用异步加载方案,把数据读取和计算充分重叠。
频繁的Checkpoint也会严重拖慢训练。有些训练框架默认每隔几百步就保存一次大Checkpoint,每次保存都触发全量权重落盘,SSD还好,如果是机械盘或者网络盘,性能损耗非常大。建议把Checkpoint频率降低,并采用异步保存机制。
混合精度策略不合理同样会影响效率。现在主流做法是BF16训练加FP32主权重存储,但有些模型结构对精度敏感,某些层需要回退到FP32计算。如果全模型都强制用BF16,容易出现数值不稳定甚至Loss不收敛;如果一刀切全用FP32,算力利用率直接减半。正确做法是把敏感算子用FP32计算,其余保持BF16。
5.3 关于调度策略的工程经验
最后聊一下资源调度策略。很多团队在多机环境下只用最简单的“先到先得”策略,这在算力紧张时会导致一个现象:先来的任务占着大量GPU,后来的高优任务只能排队,整体资源效率并不高。
我的建议是引入优先级和配额机制。高优的在线推理任务或者核心训练任务可以获得优先抢占权,低优的离线任务可以被抢占并自动恢复。GPU抢占会带来任务中断和重新调度的开销,所以抢占策略要设计得克制,比如只在资源实际不够时触发,并且给低优任务设置合理的Checkpoint间隔,减少被抢占时的损失。
调度系统里的资源配额也很重要。每个团队或每个项目设置一个资源上限,避免个别用户把集群资源全部占满。配额的存在表面上限制了自由度,长期看反而保证了所有用户的公平体验。
关于集群调度,我再推荐一个实践:所有任务统一走容器化方式部署,镜像做好版本管理。这样做的好处是环境一致性极高,“在我机器上能跑”这类问题大幅减少。我们团队现在任何任务都能用一条命令拉到指定镜像并启动,新成员上手成本也低了很多。
写在最后的实操感悟
聊了这么多,我最想强调的一点是:算力竞赛的深水区,真正深的是“系统”。GPU本身只是算力的载体,能不能把算力高效地释放出来,取决于网络、存储、调度、框架、运维这些环节的综合水平。我见过太多团队花大价钱买卡,却因为没有做好基础设施,每天的实际产出少得可怜。
根据我的个人经验,做AI Infra不必追最新的硬件,更重要的是把手头资源打磨到极致。先用好监控工具看清资源利用的真实状态,再用调度策略把碎片资源整理起来,最后通过数据管道和网络调优把瓶颈逐步消除。每一步的收益都是实实在在的。
如果你正在规划自己的算力体系,建议从一个小规模的集群开始,把监控、调度、训练流程完整跑通,再去扩容。跳过了这个阶段直接上大集群,大概率要交一笔不菲的学费。希望这篇文章能帮你少走一些弯路。
