☰
2025算力卡选型:消费级到数据中心级梯队与显存带宽瓶颈
2026/10/29 14:14:15 网站建设 项目流程

算力卡选型这件事,我在过去两年里被问过不下上百次,问题几乎都从同一句开场白开始:“有没有一份性能天梯图,我照着买就行?”每次我都得先泼一盆冷水:天梯图能告诉你谁快谁慢,但告诉不了你“这张卡放在你的机箱里、跑你的模型、连着跑三十天会不会出问题”。消费级卡和数据中心级卡之间的差距,从来不是一条平滑的曲线,中间隔着供电、散热、显存容量、互联带宽、驱动认证、连续运行稳定性这六七道坎。

所以这篇东西我不打算给你一张“第一名、第二名”的排行表,那玩意儿网上到处都是,而且大部分是拿厂商公布的峰值稀疏算力直接排序,水分大得能养鱼。我想做的是把 2025 年这个时间点上,从消费级到数据中心级的算力卡梯队拆开来讲清楚:每一档到底强在哪、弱在哪,什么场景该停在哪一档,多花的那笔钱到底买到了什么。不管你是想在家搭一台跑推理的小机器,还是在给团队规划一批训练节点,都能在里面找到能直接对号入座的部分。

下文涉及的具体型号我用档位代号来指代——消费级用 C 系、工作站级用 W 系、数据中心级用 D 系,后面跟档位字母。这样做的原因是各家产品线更新太快,具体型号半年就换一轮,但档位之间的性能关系和约束条件相对稳定。你看的时候把自己手上的采购清单往这几个档位里套,逻辑是通用的。

1. 天梯图的第一性问题:你到底在比什么

1.1 三条产品线的分界不是性能,是约束条件

很多人以为消费级、工作站级、数据中心级是按性能高低划分的,这是个挺大的误解。真实的分界线是约束条件,性能只是约束条件满足之后的自然结果。消费级卡的设计前提是:装进普通机箱、插普通电源、每天跑几个小时游戏或创作软件、机箱里有风道但不算强。工作站卡的前提是:装进塔式或机架工作站、可能要连续跑几天渲染或仿真、要有专业软件的驱动认证、显存不能出错。数据中心卡的前提是:装进 4U 或 8U 机箱、由专门的供电和散热系统伺候、7×24 满负荷跑三年、坏了要能热插拔换掉。

这四条前提一旦定下来,芯片设计的方向就完全不同了。消费级卡会把 PCB 做小、供电做够用、显存控制器做窄以控制成本;数据中心卡会把供电相数堆到夸张、显存用 HBM 堆到 8 层甚至 12 层、加一堆遥测和容错电路。你拿一张消费级旗舰去和一张中端数据中心卡比,纸面算力可能后者还低,但真跑起来跑满一周,前者早就因为显存温度或者供电波动开始掉频了。

我见过太多人踩这个坑:预算有限,想用消费级旗舰卡拼一个“小集群”,结果卡是买回来了,机箱塞不下、电源带不动、多卡之间没有高速互联通道,跑分布式训练时通信开销把算力全吃掉了。所以看天梯图之前,先在纸上写清楚你的三个约束:能接受多大功耗、需要连续跑多久、模型能不能拆开。这三个答案基本就把你锁在某一条产品线里了。

1.2 五个参数构成的真实排序

如果非要给一个排序口径,我一般按五个维度加权,而不是只看算力。这五个维度在不同场景下的权重差异极大,这也是为什么“全网最准天梯图”这种东西根本不存在。

维度消费级权重工作站级权重数据中心级权重说明
精度算力25%25%30%看稠密而非稀疏数值
显存容量20%30%30%决定能跑多大的模型
显存带宽30%25%25%决定推理速度和训练吞吐
卡间互联5%10%15%多卡场景下影响巨大
能效与稳定性20%10%0%(已达标)决定长期成本

这张表值得多看一眼。消费级这一列,显存带宽的权重我给了最高,因为绝大多数个人用户跑的是推理,推理的瓶颈几乎永远在带宽上。数据中心级这一列,能效和稳定性权重我直接写成“已达标”,意思是这一档的产品默认就能连续跑,不用你再操心,选型时不需要为这个付溢价——你付的钱买的是别的东西。

显存容量这一项,很多人低估了。模型参数是硬的,7B 参数用半精度存就是 14GB,加上激活值、KV 缓存、框架预留,20GB 显存跑 7B 推理已经比较紧张。你想跑到 13B、30B 甚至 70B,显存不够就是不够,算力再高也只能看着。所以我把显存容量单列出来,它是一道门槛型的指标,不是可以线性折中的东西。

1.3 为什么峰值 TFLOPS 的排序经常和实测反过来

这里得聊一个稍微硬一点的概念:Roofline 模型。一张卡的实测性能,取的是“峰值算力”和“带宽 × 算术强度”这两个值里的较小者。算术强度指的是每搬运一个字节的数据,能完成多少次浮点运算。

举个例子,一张卡峰值稠密算力 400 TFLOPS、显存带宽 2TB/s,那么它的拐点算术强度就是 400÷2 = 200 FLOPs/Byte。做大规模矩阵乘法的时候,算术强度可以到几千,远超拐点,这时候是算力受限,卡能跑到峰值的六七成;但做自回归推理的逐 token 生成时,每生成一个 token 要把全部权重读一遍,算术强度只有 1 左右,离拐点差了 200 倍,这时候是带宽受限,算力再高也只发挥出百分之几。

这就解释了一个特别常见的困惑:为什么 A 卡的峰值算力比 B 卡高 40%,实测推理速度却只快 5%。因为 A 卡的带宽只比 B 卡高 8%,而这个任务本身就是带宽受限的。你要是在电商页面看到“算力提升 40%”的宣传语,先翻到规格表最后一行看带宽涨了多少,那个数字才是推理场景的真实提升幅度。

还有一个坑是精度口径。有些宣传页上的数字标着“稀疏 INT8”,那是把稀疏化和低精度两个放大系数叠在一起的结果,实际可用值要除以四甚至除以八。我自己整理天梯图时只用三个口径:BF16 稠密、FP8 稠密、INT8 稠密,其他的一律不看。你要是拿到的资料里只有稀疏数值,直接用 0.5 乘一下当参考,误差会小很多。

2. 消费级梯队:从能用到“能干活”的跨越点

2.1 入门到中端:别被算力数字诱惑

消费级这一档我从下往上讲。C30 这个档位是入门卡,典型规格是 8GB 显存、128 位或 96 位显存位宽、带宽 250GB/s 上下、半精度算力十几 TFLOPS、功耗一百瓦出头。这个档位能干什么?跑 3B 以下的模型做推理、做图像生成的中低分辨率出图、跑一些传统的计算机视觉任务,够用。但它有个致命问题:8GB 显存在 2025 年已经接近临界值,稍微上点规模就 OOM。

C60 是主流档,12GB 显存、192 位位宽、带宽 360GB/s 左右、半精度算力三十 TFLOPS 上下、功耗 150W。这一档是我个人认为个人开发者的性价比拐点。为什么?因为 12GB 显存刚好能塞下 7B 模型的 4bit 量化版本加上一段不长的上下文,带宽 360GB/s 跑量化推理的 token 生成速度能到每秒几十个 token,体验上已经“能用”了。而且功耗低,普通 550W 电源就能带,机箱不用换,噪音也能接受。

C70 是性能档,16GB 显存、256 位位宽、带宽 600GB/s 左右、半精度算力六十 TFLOPS 上下、功耗 250W。这一档的性价比要看你干什么:如果只是跑推理,从 C60 到 C70 的体验提升大概是“从有点卡到不卡”,值不值这个差价得你自己判断;如果要做微调,16GB 是能跑 7B 全参数量化微调的底线,意义就完全不一样了。

这里有个我反复强调的点:入门和中端档位,显存容量比算力重要得多。同一代产品里,C60 和 C70 的算力差距可能只有一倍,但显存差 4GB,这 4GB 决定了你能不能跑某个模型。选卡的时候先按“模型需要多大显存”倒推,再从满足显存要求的卡里挑算力最高的,这个顺序不能反。

2.2 旗舰消费卡:真正值钱的是带宽和显存

跳到 C90 这个档位,情况就变了。典型规格是 24GB 到 32GB 显存、384 位位宽、带宽 1.0 到 1.8TB/s、半精度算力 160 到 200 TFLOPS、功耗 450W 到 575W。这一档的价格通常是 C70 的三到四倍,贵出来的钱主要买了三样东西:显存容量、显存带宽、和供电规格。

显存带宽从 600GB/s 涨到 1.5TB/s 是什么概念?跑 7B 模型半精度推理,理论上每秒能生成 1500÷14 ≈ 107 个 token,实际打六折也有 60 多个,这个速度已经是“读起来跟不上”的级别了。而 C70 的 600GB/s 理论值是 42 token/s,实际 25 左右,差距是肉眼可见的。

但旗舰消费卡有个很尴尬的地方:它处在一个不上不下的位置。往上,工作站卡有更大的显存和 ECC;往下,C70 已经能满足大部分个人需求。我个人的判断是,旗舰消费卡适合两类人:一类是需要大显存做本地大模型实验、但不愿意为专业卡付溢价的独立开发者;另一类是既要跑模型又要打游戏或者做视频剪辑、一张卡兼顾两种用途的用户。如果你是纯做 AI 开发、机器 24 小时开着,那这笔钱花得不太值,往下走 C70 或者往上走工作站卡都更合理。

还有一个细节:这一档的功耗普遍在 450W 以上,瞬时功耗尖峰能冲到标称值的两倍。你要是用老电源,标称 750W 那种,带一张这样的卡加上 CPU,很容易在跑满载推理的时候触发过流保护直接关机。这不是卡的问题,是电源的瞬态响应跟不上。我一般建议这一档配 850W 以上、且要看电源的 12V 单路输出能力,别只看总瓦数。

2.3 消费级跑推理的四个硬墙

用消费级卡做推理,有四道墙你迟早会撞上,提前知道能省不少时间。

第一道是显存容量墙。这道墙最硬,绕不过去。32GB 显存跑 30B 模型的 4bit 量化版本,权重占了 15GB,剩下 17GB 要分给 KV 缓存、激活值、框架开销。你要是把上下文开到 32K、batch 开到 8,KV 缓存能吃掉十几个 GB,直接 OOM。解决办法只有量化、减 batch、减上下文三个,全是降体验的。

第二道是显存带宽墙。这就是前面说的 Roofline,消费级卡的带宽和算力比例是失衡的,算力堆得高、带宽给得少,做矩阵运算很爽,做逐 token 生成就吃瘪。这也是为什么消费级卡跑训练的表现往往比跑推理更“对得起”它的纸面参数。

第三道是卡间互联墙。消费级多卡之间走的是主板上的通用串行总线,带宽和延迟都很难看,而且很多主板第二条插槽实际只有一半通道。你要是想用两张卡拼显存跑更大的模型,通信开销会让速度掉到单卡的六七成,得不偿失。多卡消费级方案我只在“张量并行跑单机多卡推理”这个场景下见过效果还行的,训练基本别想。

第四道是散热与降频墙。消费级卡的散热设计是按“游戏负载间歇性满载”来的,你让它连续跑几个小时推理,显存温度会缓慢爬升到八十多度,然后开始降频保护。表现就是跑着跑着速度掉了 15%,你还不一定能从日志里看出来。想长时间跑,要么改水冷、要么把功耗墙拉低到 80%、要么在机箱风道上花心思,这三件事至少做一件。

3. 工作站级:最容易被跳过、却最省钱的一档

3.1 它和消费卡差的不是性能,是“能不能连续跑 30 天”

工作站级这个档位在国内的个人和小团队里存在感很低,大部分人要么买消费级省钱,要么直接上数据中心级图省心,中间这一层被跳过去了。但我要说,对相当一部分团队来说,这一档才是最优解。它和消费级卡的核心差异不在性能,而在四件事:

一是 ECC 显存。这个功能平时看不出来,跑长任务的时候能救命。显存出一次静默错误,训练可能不报错但 loss 曲线莫名其妙发散,你排查三天都找不到原因。ECC 会把这类错误纠正掉或者至少报出来,省下的时间远超溢价。

二是驱动认证与专业软件兼容。做三维渲染、仿真、医疗影像、CAD 这类工作,专业软件对驱动有认证要求,消费卡跑起来可能功能缺失或者直接崩。这一条对纯 AI 开发不重要,对混合用途的团队很关键。

三是散热与供电的冗余设计。工作站卡默认就是 7×24 运行的设计目标,风扇是涡轮或者双轴流,机箱风道是按机架环境设计的。我实测过同一代产品里工作站卡和消费级旗舰卡连续跑 72 小时的稳定性,前者频率基本一条直线,后者有 5% 到 10% 的波动。

四是显存容量的上限更高。工作站档位普遍能到 48GB 甚至 96GB,这个容量区间是消费级完全覆盖不到的,而它刚好是“能跑中等规模模型”的甜点区。48GB 显存跑 30B 半精度模型,权重 60GB 装不下,但跑 30B 的 8bit 量化或者 13B 半精度就绰绰有余,还能留出充足的 KV 缓存。

我给一个粗略的档位参考:W-A 档是 24GB 显存、带宽 768GB/s 左右、半精度算力 80 TFLOPS、功耗 250W;W-B 档是 48GB 显存、带宽 1.2TB/s 左右、半精度算力 200 TFLOPS、功耗 300W;W-C 档是 96GB 显存、用堆叠式高带宽显存、带宽 2.4TB/s 左右、半精度算力 400 TFLOPS、功耗 600W。这三档的功耗控制得比消费级旗舰好很多,W-B 档 300W 的功耗做到了消费级 575W 才有的算力水平,这就是能效差异。

3.2 三档配置的选型对照

我把这三档放在一起做个对照,方便你按场景挑。

档位显存带宽半精度稠密算力典型功耗适合场景不适合场景
W-A24GB768GB/s80 TFLOPS250W单机中等模型推理、小规模微调大模型全参微调、多机训练
W-B48GB1.2TB/s200 TFLOPS300W13B 级模型微调、多卡单机推理70B 级模型、长上下文高并发
W-C96GB2.4TB/s400 TFLOPS600W30B 级模型全参微调、单机大模型推理超大规模训练集群

选 W-A 还是 W-B,我一般让提问的人先回答一个问题:你未来一年内会不会需要微调 13B 以上的模型?答案是不会,W-A 就够了,多花的钱不如加到内存和存储上;答案是会,直接上 W-B,别在 W-A 上折腾,因为显存不够就是不够,任何技巧都绕不过去。

W-C 这一档比较特殊,它的价格已经接近入门级数据中心卡了,选它的人通常是看中“单机、不需要机房、插墙就能用”这三点。如果你的场景是实验室或者小团队的内部推理服务,不想折腾机架和配电,W-C 是很有性价比的选择——一台机器四张卡,384GB 总显存,跑 70B 量化模型能撑起一个小规模的内部服务了。

4. 数据中心级:算力的分水岭在卡外

4.1 训练卡:显存和互联是一门“堆”的学问

进到 D 系,讨论的方式就要变了。这一档的卡不是孤立卖的,是连着整机、互联、软件栈一起卖的,单看一张卡的参数意义有限。我先按用途分成两支:训练导向和推理导向,这两支的设计取向差异非常大。

训练卡的核心指标是显存容量 × 卡间互联带宽,算力反而排在第三。为什么?因为大模型训练几乎是强制的并行任务,模型参数、梯度、优化器状态要切分到几十上百张卡上,每次梯度同步都要在所有卡之间搬运几十 GB 的数据。互联带宽不够,卡就在那儿空等,算力再高也发挥不出来。

我用一个具体的数算给你看。7B 参数的稠密模型做全参微调,用混合精度加自适应优化器,显存占用大概是每十亿参数 16GB 的量级——权重半精度 14GB、梯度半精度 14GB、主权重单精度 28GB、优化器两个状态各 28GB,加起来 112GB,再算上激活值和临时缓冲,实际需要 130GB 以上。一张 80GB 的训练卡装不下,必须切分。切到两张卡,每张 65GB,勉强;切到四张卡,每张 33GB,宽裕。这就是为什么训练卡要有高速互联:切得越细,通信越频繁。

再说训练时间的量级。7B 模型训 1 万亿 token,总计算量是 6 × 7×10⁹ × 1×10¹² = 4.2×10²² 次浮点运算。一张卡稠密算力 400 TFLOPS,实际利用率按 40% 算,有效算力 1.6×10¹⁴,那么单卡需要 2.6×10⁸ 秒,也就是八年多。这个数字不是吓唬人,是在说明为什么大模型训练必须堆卡。堆到 64 张,扩展效率按 80% 算,时间降到 60 天左右;堆到 256 张,降到 15 天。你看到的所有“训了几个月”的说法,背后都是几百张卡的集群在跑。

所以训练卡的选型逻辑是:先确定模型规模,算出显存需求,决定要几张卡;再看这几张卡之间的互联带宽够不够;最后才看算力。顺序反过来的话,很容易买回一堆算力很高但互联很弱的卡,跑起来效率只有三成。

4.2 推理卡:带宽和能效才是第一指标

推理导向的数据中心卡是这两年增长最快的一支,设计取向和训练卡几乎是相反的。它不需要巨大的显存容量去装优化器状态,但需要极高的显存带宽去支撑逐 token 生成,同时要把能效做到极致,因为推理服务是长期在线跑的,电费是持续性支出。

我给个档位参考:D-S 档是推理专用,32GB 堆叠显存、带宽 1.5TB/s、INT8 稠密算力 800 TOPS、功耗 400W;D-M 档是训练推理均衡,80GB 显存、带宽 2TB/s、半精度稠密算力 400 TFLOPS、功耗 700W;D-L 档是训练旗舰,141GB 显存、带宽 4.8TB/s、半精度稠密算力 990 TFLOPS、功耗 1000W。

算一下能效比就有意思了。D-S 的 INT8 能效是 800÷400 = 2 TOPS/W;D-M 的半精度能效是 400÷700 = 0.57 TFLOPS/W;D-L 是 990÷1000 = 0.99 TFLOPS/W。注意这里的口径不同不能直接比,但同一口径下 D-S 在低精度推理上的能效优势是碾压性的。这就是为什么现在推理集群越来越倾向于用“多张小卡”而不是“少量大卡”——推理任务的并行粒度细,用数量和能效换总吞吐更划算。

还有一个经常被忽略的点是显存带宽的绝对量。70B 模型半精度权重 140GB,一张 D-M 装不下,得两张,总带宽 4TB/s。理论 token 生成速度是 4000÷140 ≈ 28 token/s(单个请求、无批处理),实际打七折约 20 token/s。你要是把 batch 开到 16,总的吞吐能到 300 token/s 以上,但单请求的延迟会涨,因为显存带宽被 16 个请求分着用。这就是推理服务里“吞吐”和“延迟”的永恒矛盾,选卡的时候要先想清楚你优化的是哪个。

4.3 一台机器不等于一张卡:整机视角的三成定律

这一节是我最想强调的。数据中心级选型里,单卡性能大概只占最终效果的三成,剩下七成在卡外面:互联拓扑、供电、散热、存储带宽、调度软件。我给这个说法起了个名字叫“三成定律”,虽然不精确,但足以让很多人清醒。

先说供电。八卡整机满载功耗在 10kW 到 12kW 之间,这个数字意味着什么?意味着一台机器要配两路独立的工业供电,意味着机柜的配电要重新设计,意味着 UPS 的容量要按 1.5 倍冗余配。我算过电费:按 10kW、每天满载 24 小时、电价 0.7 元算,一台机器一天 168 元,一年 6.1 万元。一百台机器一年的电费就是 610 万。这个数字往往比卡本身的采购价更影响决策,而它在天梯图上是看不到的。

再说互联拓扑。八张卡塞进一台机器,卡和卡之间的连接方式决定了通信效率。全互联的拓扑能让任意两张卡直接通信,环形或者半互联的拓扑就得中转,中转一次延迟翻倍。跑张量并行的时候,通信是每一步都要做的,延迟累积起来能把算力吃掉一半。所以买整机不能只看“八卡”,要看“八卡怎么连”。

散热也是一样。数据中心的卡是涡轮风扇或者液冷,涡轮风扇的噪音在 70 分贝以上,绝对不能放在办公环境;液冷要考虑管路、冷量分配、漏液检测。我见过有人把数据中心整机放在普通办公室,结果一周之内机房温度上到四十度,卡开始批量降频。这不是卡的问题,是环境不匹配。

存储带宽这条容易被忽略但很致命。训练时数据加载跟不上,卡就在那儿等数据,利用率从 90% 掉到 50%。解决办法是配高速本地盘做缓存、或者用分布式存储加预取,这些都要在选型阶段一起规划,不能等卡装好了再补。

5. 把天梯图落到预算:三种典型场景的配置推演

5.1 场景一:个人开发者的小模型微调与推理

先说最常见的场景。一个人、一台机器、预算在两三万到五六万之间,主要工作是跑 7B 到 13B 模型的微调和推理,偶尔做点图像生成。

这个场景我会推荐 C70 档加一张,或者预算宽裕直接上 W-A 档。理由是这样:7B 模型做低秩适配微调,显存需求大概是 20GB 上下,全参数量化微调要 30GB 以上。C70 的 16GB 只能勉强跑低秩微调,还得把 batch 压到 1、序列长度压到 2K,稍微长一点的样本就 OOM。W-A 的 24GB 能舒服地跑 7B 低秩微调加 4K 序列,或者跑 13B 的 4bit 量化推理,覆盖面宽很多。

整机配置我一般这么配:CPU 十二核以上、内存按显存的四倍配(24GB 显存配 96GB 内存,这个比例不是瞎定的,因为数据预处理和模型加载都会在内存里放副本)、系统盘用 NVMe、数据盘单独一块大容量固态。电源按整机峰值功耗的 1.5 倍配,机箱选风道好的中塔,前面三个进风扇后面一个出风扇,别用侧透的网红机箱,那种风道是给水冷设计的。

实测下来,这套配置跑 7B 模型的低秩微调,1000 条样本大概两三个小时,跑 13B 的 4bit 量化推理能到每秒二三十个 token。对个人开发来说这个体验是够的,能支撑起从实验到原型的全流程。

5.2 场景二:团队级别的中等规模推理服务

第二个场景是团队内部或者对外提供推理服务,需要撑住几十个并发,模型在 30B 到 70B 之间,要求响应稳定、能连续跑。

这个场景的关键词是“并发”和“稳定”,单卡已经不够了。我推荐 W-B 档两张,或者 D-S 档两到四张。这两条路线各有取舍:W-B 走的是通用串行总线互联,两张卡之间的通信带宽有限,适合做数据并行而不是张量并行,也就是“一张卡跑一个模型副本,请求分发到不同副本”,这种方式对互联要求低,扩展性好;D-S 走的是专用互联,可以做张量并行,把一个大模型拆到多张卡上,但对软件栈的要求高,调试成本也高。

我算一笔账对比。30B 模型半精度权重 60GB,4bit 量化后 15GB,一张 W-B 的 48GB 能装两个副本还有富余,两个副本各撑 8 路并发,总共 16 路。按每路每秒 20 token 算,总吞吐 320 token/s。这个量级对大多数团队内部服务是够用的,而且单机部署,运维成本极低,坏了重启就行。

70B 模型就得上多卡了。半精度 140GB,得三张 W-B 拼(144GB),或者两张 D-M(160GB)。前者是通用总线互联,通信开销大,实际吞吐大概只有理论值的五成;后者是专用互联,能到七成以上。差价大概在 30% 到 50%,如果你的服务是长期跑、对吞吐敏感,这个溢价是值得的。

这里有个实操细节:KV 缓存要单独算。30B 模型假设 60 层、8 个 KV 头、每头 128 维、半精度存储,每个 token 每层占 2×8×128×2 = 4KB,整个模型每 token 占 60×4KB = 240KB。开 8K 上下文就是 1.9GB,batch 16 就是 30GB。这个数字经常超过权重本身,规划显存的时候千万别漏了。

5.3 场景三:从零起步的训练集群

第三个场景是从零搭一个小规模训练集群,目标是能跑 7B 到 13B 模型的全参微调或者小模型从零预训练。这个场景的坑最多,我尽量讲透。

第一步是算显存。前面算过,7B 全参微调用混合精度加自适应优化器,每十亿参数 16GB,7B 就是 112GB,加激活值 130GB 往上。单卡装不下,最少四张 80GB 的卡切成四份,每份 32GB 装模型状态,剩下的留给激活值。要是训 13B,直接翻倍到八张卡。

第二步是算互联。四张卡做全参微调,每步都要做梯度同步,同步的数据量是 28GB(单精度梯度)。互联带宽如果是每卡 900GB/s 全互联,同步一次大概 30 毫秒;如果是通用总线每卡 64GB/s,同步一次要 400 多毫秒。按每步计算 500 毫秒算,前者总耗时 530 毫秒,后者 900 毫秒,差 70%。这个差距直接决定了你需要多买 70% 的卡来达到同样产出,所以互联的钱不能省。

第三步是算扩展效率。线性扩展是理想情况,实际每增加一倍卡数,效率掉 5% 到 15%。四张卡到八张卡,效率大概 85%;八张到十六张,80%;十六张到三十二张,75%。这个衰减是因为通信占比随卡数增加而上升。我一般建议中小团队把集群规模控制在三十二张卡以内,超过这个规模,网络拓扑和调度系统的复杂度会陡增,收益不明显。

第四步是算总拥有成本。卡的价格只是开始,机架、配电、制冷、网络交换机、存储、运维人力,这些加起来往往是卡价的 50% 到 100%。我在做预算表的时候会把三年期的电费单独列一行,很多决策者看到这个数字会重新考虑规模。

5.4 参数速算表

我把常用的几个公式整理成表,你在选型的时候可以直接套。

计算项公式示例
推理权重显存参数量 × 每参数字节数7B × 2B = 14GB(半精度)
KV 缓存2 × 层数 × KV头数 × 头维度 × 序列长度 × batch × 字节数60×8×128×8192×16×2B = 30GB
训练显存(全参)参数量 × 16 至 20 字节7B × 16B = 112GB
训练显存(低秩微调)参数量 × 2.5 至 3 字节7B × 3B = 21GB
训练总计算量6 × 参数量 × token 数6×7e9×1e12 = 4.2e22 FLOPs
训练时间总计算量 ÷ (卡数 × 单卡算力 × 利用率)4.2e22 ÷ (64×4e14×0.4) ≈ 4.1e6 秒
推理 token 速度上限显存带宽 ÷ 权重显存1500GB/s ÷ 14GB ≈ 107 token/s
年电费功率 × 24 × 365 × 电价10kW × 8760 × 0.7 ≈ 6.1 万元

这张表里我特别想让你注意的是最后两行。推理速度上限那一行,很多人在优化推理性能的时候第一反应是换更贵的卡,其实先算一下就知道瓶颈在哪——如果实测速度只有带宽上限的三成,那问题在软件栈而不在硬件,换卡提升有限;如果已经到七成,那换高带宽的卡收益就很直接。年电费那一行,则是在提醒你,算力卡是持续消耗品,不是一次性投入。

6. 踩坑记录:天梯图上不会写的那些事

6.1 显存够用但跑不起来:碎片与预留

有一类问题特别迷惑人:nvidia-smi显示显存用了 60GB,还有 20GB 空闲,但程序就是报显存不足。这不是玄学,是显存碎片。

显存分配器的工作方式和内存类似,长期运行的服务会不断申请和释放不同大小的块,时间一长,空闲的显存在物理上是不连续的,虽然总量够,但没有一块连续区域能满足大块申请。表现就是服务跑几个小时之后开始报错,重启就恢复正常,再跑几个小时又报错。

解法有三条。一是在启动时设置环境变量,让分配器采用更激进的碎片整理策略,代价是启动稍慢;二是把服务的最大 batch 和最大序列长度固定下来,让显存申请的模式变得可预测;三是定期做显存池的重建,把服务做成可以优雅重启的形态,在低谷期滚动重启。我一般三条一起用,稳定性提升很明显。

还有一个容易被忽略的是框架的显存预留。某些框架默认会预留一大块显存做缓存池,你看到“已用”其实是被预留了,并没有真正消耗。调优的时候要用实际可分配的显存去算,别看总量。

6.2 掉卡、降频、跑不满的排查顺序

连续跑长任务时出问题,排查要按固定顺序走,乱试只会浪费时间。我的顺序是这样的:

第一步看温度。显存温度和核心温度分开看,很多工具只显示核心温度。显存温度到 85 度以上就会触发降频,到 95 度会开始报错。消费级卡跑长任务显存温度高是常态,解决办法是拉低功耗墙到 80%、加强机箱风道、或者加装显存散热片。

第二步看功耗。用监控工具记录整机功耗曲线,看有没有异常尖峰。电源瞬态响应不足会导致瞬时掉电重启,这种情况日志里通常什么都没有,只会看到机器重启了。判断方法是换一个大功率电源试,或者把卡的功耗墙拉低看是否复现。

第三步看互联。多卡任务跑不满,先看卡间通信有没有报错或者重传。通用总线互联的卡在多卡满载时容易出现链路降速,从全速降到一半甚至四分之一,表现就是训练速度莫名其妙掉一半。查法是用厂商提供的带宽测试工具跑一遍点对点带宽,和标称值对比。

第四步看驱动和固件版本。这一条我放在最后但其实是最高频的原因。多卡环境下驱动版本不一致、固件版本不匹配,症状五花八门,有的掉卡、有的算错、有的只是慢。我一般要求同一批机器固件版本必须完全一致,装机器的时候统一刷一遍再上架。

第五步看供电和接地。机房接地不良会导致各种随机错误,这种问题最难查,因为换机器换卡都不复现。判断方法是把机器挪到另一个机柜试,或者测量机柜接地电阻。

6.3 常见问题速查表

现象最可能原因快速验证处理方式
报显存不足但有余量显存碎片重启服务后恢复固定 batch、开碎片整理、滚动重启
长任务跑几小时后变慢显存或核心降频看温度曲线拉低功耗墙、改散热、强风道
多卡训练速度只有单卡一半互联带宽不足跑点对点带宽测试换互联拓扑更好的配置、减少并行度
机器随机重启、无日志电源瞬态不足换大功率电源上 850W 以上、留足余量
训练 loss 无故发散显存静默错误开 ECC 或校验换带 ECC 的卡、降低频率
推理速度只有理论值三成软件栈未优化算带宽上限对比换推理引擎、调 batch、开连续批处理
多机训练扩展效率骤降网络延迟或丢包打流测试换网络拓扑、调通信库参数
卡识别不到固件版本不匹配查固件版本统一刷固件、更新驱动

这张表我建议存下来,遇到问题按行对号入座,能省掉大量瞎猜的时间。表里最后一条“卡识别不到”看着简单,实际是我见过最耽误事的——多卡整机里少识别一张卡,有些监控工具不报警,你要跑到训练脚本启动才发现卡数不对,白白浪费一轮排队时间。

6.4 几个花钱买来的经验

最后分享几条我觉得最值钱的经验,都是踩坑踩出来的。

第一,同一批机器必须配置完全一致。多机训练里只要有一台机器的卡型号、固件版本、甚至内存容量不一样,整个集群的效率就会被它拖住。木桶效应在这个领域体现得淋漓尽致。宁可少买两台,也要保证买到的完全一致。

第二,别为了省 10% 的钱选低一档的互联。互联的差价看着心疼,但它对训练效率的影响是 30% 起步。我见过为了省预算选了通用总线互联的方案,结果四张卡的实际算力只相当于两张半,最后不得不重新采购。

第三,功耗墙不是越高越好。厂商标称的峰值算力是在功耗墙拉满、温度理想的情况下测出来的。实际机箱环境里把功耗墙拉到 85%,性能只掉 5%,但温度和噪音改善巨大,长期运行的稳定性提升明显。这个操作是免费的,很多人不知道。

第四,留出至少一个档位的升级空间。主板插槽、电源功率、机箱空间、散热能力,这四样在规划的时候都要往上留一档。你今年买的是中端卡,明年想换旗舰卡,结果电源不够、机箱塞不下,那就得整机重来,成本比一步到位高得多。

第五,先跑基准测试再谈优化。拿到机器第一件事不是装业务,是跑一遍标准的算力基准和带宽基准,把数字记下来。以后性能有任何异常,和这个基线一比就知道问题出在哪。没有基线的性能调优,全是玄学。

我自己在实际操作中的体会是,算力卡这件事上,“买对”比“买贵”重要得多,而“买对”的前提是你能把自己场景的瓶颈算清楚。天梯图给的是相对位置,不是绝对答案。同一张卡,在一个人手里是性价比之选,在另一个人手里就是浪费预算,差别只在于他有没有先算清楚自己要跑的模型多大、要多快、要跑多久。下次你再看任何一份性能排行,先别急着看第一名,先翻到规格表,把带宽和显存容量那两个数字圈出来——那才是决定你体验的东西。

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

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

立即咨询