AI芯片选型指南:从算力指标到实测方法,拆解TOPS背后的真相
做AI芯片选型这行当久了,总会被问同一个问题:官网上一堆数字,TOPS、TFLOPS、HBM带宽、TOPS/W、互联带宽,到底哪个最重要,哪个能直接信?这问题问得实在,因为AI芯片指标从来就不是拿来“看懂”的,而是拿来“选型”和“排坑”的。这篇文章就把这些指标一层层拆开,讲清楚每个数字背后的口径和水分,同时告诉你一套从需求定义到实测落地的选型方法。适合正准备采购AI训练服务器、做边缘推理设备选型、或者单纯想搞明白“为什么这块卡这么贵”的团队和个人。
先给一个结论:任何单一指标都不能代表AI芯片的真实水平。标称算力只是理论峰值,真正决定你能跑多快、跑多大的,是算力、带宽、能效、互联、软件适配这五件事拧在一起后的综合表现。下面逐个拆。
1. 先搞清楚AI芯片指标到底在衡量什么
很多人看指标时习惯抓着一个数字猛看,比如“这块卡有1000 TOPS!”然后立刻下结论说它很强。这种做法在消费级显卡上勉强凑合,在AI芯片上会翻车。因为AI芯片的指标从来不是一个孤立的性能数字,而是一组约束条件下的平衡结果。
1.1 指标的五个维度必须放在一起看
- 算力:芯片每秒钟能完成多少次矩阵乘加运算,也是最常被拿来宣传的指标。
- 带宽:显存或内存每秒钟能搬多少数据,包括片内带宽、显存带宽、板间互联带宽。
- 能效:每一瓦功耗能换多少算力,直接决定电费、散热和部署密度。
- 互联:多芯片协作时的数据交换速度与拓扑结构,集群场景的隐形天花板。
- 软件适配:算子库、编译器、推理框架的支持程度,决定硬件指标能否兑现。
这五个维度不是独立的。你把核心频率调高,算力上去了,功耗也跟着涨;显存带宽提上去,成本和功耗同步增加;互联带宽做大,芯片面积和绕线复杂度都会上升。芯片设计本质上是在一个多维约束平面里找最优解,所以只盯着其中一两个指标看,必然得出片面结论。
1.2 训练和推理,看指标的逻辑完全相反
同样一块芯片,用来做训练和做推理,适用的指标优先级完全不同。这也是选型中最容易犯的方向性错误。
| 场景 | 优先看的指标 | 次要看的指标 | 不怎么看的指标 |
|---|---|---|---|
| 大模型训练 | FP16/BF16矩阵算力、显存容量、板间互联带宽 | 多卡扩展效率、能效 | 单路延迟 |
| 云端在线推理 | INT8/FP16实际吞吐、p95延迟、显存带宽 | 功耗、价格 | 峰值FP32算力 |
| 边缘/车载 | 能效(TOPS/W)、峰值功耗、内存带宽 | 环境温度范围、封装尺寸 | 多卡互联 |
| 端侧NPU | INT8/INT4能效、内存带宽、成本 | 工具链成熟度 | TFLOPS |
如果拿训练卡指标去评估推理场景,很容易得出错误结论。举个我实际见过的例子:某款数据中心加速卡峰值算力很高,跑大batch训练确实猛,但用batch size等于1做线上推理时,因为显存带宽和数据搬运效率上不去,单路延迟反而被一颗手机SoC级别的NPU按在地上摩擦。这不是芯片不行,是需求的场景和指标错位了。
2. 最容易被厂商“美化”的算力指标
算力指标是最容易让人兴奋的,也是最容易埋坑的。TOPS、TFLOPS、算力利用率这几个词拆开看都不复杂,放在一起就乱了。这里把口径彻底理清。
2.1 TOPS和TFLOPS是怎么算出来的
先做名词解释。TOPS全称是Tera Operations Per Second,每秒万亿次操作;TFLOPS是Tera Floating-point Operations Per Second,每秒万亿次浮点操作。注意两点:第一,TOPS包含整数和逻辑运算,TFLOPS特指浮点;第二,同样的硬件,跑整数运算和浮点运算的速度不同,所以这两个数字不能直接换算。
峰值算力的通用计算公式是:
- 单芯片峰值TOPS = 每秒MAC数 × 2 ÷ 1e12
- 每秒MAC数 = 计算单元数 × 频率 × 每周期MAC次数
为什么乘2?因为一次乘加(MAC)操作包含一次乘法和一次加法,行业惯例按两次操作计数。举个例子:假设某芯片有128个NPU核心,频率1.5GHz,每个核心每周期执行2048次INT8 MAC,那么每秒MAC数约等于128 × 1.5e9 × 2048 ≈ 3.93e14,峰值TOPS约787。这个数字在宣传PPT上看着很猛,但它只是理论极限——真实模型几乎跑不到。
还有一个容易被忽略的细节:如果你把“计算单元数”或者“每周期MAC次数”记错,最终结果会差出一倍甚至更多。所以下次看到别人晒TOPS时,先别急着惊叹,问一句“这个数怎么算出来的”,往往能筛掉不少水分。
2.2 精度类型决定指标含金量
同一颗芯片在不同计算精度下的峰值算力差别非常大,大致排序是:FP32 < TF32 < FP16/BF16 < INT8 < INT4。比如一块数据中心GPU的FP32算力可能只有FP16的1/16,INT8又可能是FP16的2倍。有些专用NPU的INT4算力可以达到INT8的2倍以上。
所以对比指标时,必须先确认三件事:
- 标称精度是什么?FP16、BF16、INT8还是INT4?
- 是否开启稀疏加速?开了之后标称值可能翻倍甚至翻更多。
- 用的是矩阵单元(Tensor Core这类)还是普通向量单元?同精度下差距也有数倍。
有些产品会把INT4稀疏后的数字印在宣传页最显眼的位置,和同类产品FP16稠密算力放在同一张对比表里,数字差距能拉到8到64倍。这不是造假,只是口径不一致,但确实能让不做功课的人产生严重误判。
2.3 算力利用率:比峰值更值钱的数字
峰值算力是上限,利用率才是你能拿到的真实水平。实测中,训练GPT类模型时稳态利用率经常在40%到65%之间;推理小batch场景利用率甚至只有10%到20%。真正拉开芯片差距的,是“在真实负载下能发挥出多少百分比”,也就是算力利用率。
利用率怎么测?以训练为例,用nvidia-smi这类监控工具记录算力使用率(或对应厂商的Profiler工具),先预热5分钟,再连续记录15分钟取平均值。不要看单次采样,瞬时波动会影响判断。软件栈在这里起决定性作用:同样一颗NPU,算子库优化得好,GEMM可以逼近峰值;优化得差,利用率可能只有30%。规格书上看不出软件栈好坏,只有实测能暴露。
3. 带宽和互联:AI芯片的真正瓶颈
很多人选型时把注意力全放在算力上,但真实场景里,带宽往往比算力更先爆表。尤其是大模型时代,这个问题越来越突出。
3.1 为什么大模型更吃带宽而不是算力
做一个简单的换算。假设某芯片显存带宽2TB/s,FP16峰值算力500 TFLOPS,那么每个字节的数据最多能配250次浮点运算。但Transformer推理里,很多算子每个字节只能配几个到几十次浮点运算,远低于这个比例。于是数据搬运速度先到天花板,算力闲置在那里干等。
这就能解释一个常见现象:大模型推理时GPU算力显示只有20%,但token生成速度就是上不去。当batch size较小(比如1到8)时,推理任务基本是带宽受限;只有batch拉大后,计算密度上来了,算力才派上用场。所以评测推理芯片时,一定要测不同batch下的吞吐曲线,不要只看厂商标称的“最大算力”。
3.2 算力带宽比:提前判断瓶颈在哪
算力带宽比的定义是:峰值算力除以峰值带宽,单位是FLOPs/Byte。这个数字衡量芯片的“计算/搬运”配比,非常关键。举例:某芯片FP16算力300 TFLOPS,带宽2TB/s,算力带宽比就是150 FLOPs/Byte。另一个芯片算力200 TFLOPS,带宽3TB/s,比值约67。
怎么用它?把你的目标模型跑一遍,统计实际算术强度(每字节数据平均做多少次浮点运算)。如果模型算术强度低于芯片算力带宽比,说明理论上计算能覆盖搬运,瓶颈更可能在带宽;反之则卡在算力。很多做LLM推理的朋友拿到新卡,第一件事就是跑一次模型算术强度,再和芯片参数对比,能快速估算性能天花板。
3.3 互联指标:多卡集群的隐形天花板
当模型大到一张卡装不下,多卡通信就成了新瓶颈。互联指标主要看三点:
- 带宽:PCIe 4.0 x16单向约16GB/s、双向约32GB/s;PCIe 5.0 x16翻倍;高端AI芯片板间互联可以到600-900GB/s。
- 拓扑:是2D mesh、全互联还是混合?不同拓扑对通信模式影响巨大。
- 通信协议:是否支持RDMA、GPUDirect这类免拷贝通道,直接影响小消息延迟。
多卡训练时,单卡算力再强,如果卡间通信跟不上,同步时间会随卡数增长,扩展效率一路下滑。8卡还算不明显,128卡集群里互联拓扑的差距能直接反映到训练总时长上。所以做大集群选型,不能只看单卡指标,要追着厂商要“多卡扩展效率”的实测数据:同一模型,1卡、4卡、8卡、64卡的吞吐对比曲线,这条曲线比任何PPT都有说服力。
4. 能效、功耗与部署成本
能效指标是“账面数字”和“实际电费”差距最大的地方。一个芯片标称200 TOPS,听着很厉害,但如果功耗600W,部署100张卡的机房改造费用就够你喝一壶。
4.1 TOPS/W:先问清三个口径
TOPS/W的单位意思是每瓦功耗能提供多少算力,但这里的水分和算力指标一样多:
- 精度:INT8能效和FP32能效可能差好几倍。
- 频率:低频条件下测的能效高,实际负载频率拉高后能效会下降。
- 稀疏:开了稀疏加速的TOPS/W和稠密情况不是一回事。
数据中心AI加速卡实际能效多数在1-10 TOPS/W(INT8稠密);手机和边缘NPU因为频率低、制程激进,能做到几十TOPS/W,但绝对算力也低。看到“20 TOPS/W”这类数字时,先问是在什么精度、什么稀疏率、什么频率下测的,再决定信不信。
4.2 峰值功耗、TDP和实际功耗的差距
TDP(热设计功耗)是设计散热系统时的参考值,不是实际运行功耗。我实测过不少芯片,满载稳定功耗和TDP相差可能达到20%以上,有些还会出现瞬时功耗过冲。
评估功耗时注意三点:
- 持续功耗:高负载跑10分钟和跑2小时,功耗曲线是否稳定,会不会降频。
- 瞬时功耗:启动或任务切换瞬间的电流冲击,影响电源选型。
- 散热条件:风冷、液冷、还是需要特殊机箱,直接决定部署密度和噪音。
给你算一笔账:假设A卡单卡功耗300W,B卡350W,部署100张卡就是50W × 100 = 5kW的差距。按0.8元/度电、全年24小时运行算,一年多出约3.5万元电费,加上配套散热和UPS成本,差距更明显。有些项目用“高端但高效”的卡,总成本反而更低。
4.3 不同场景能效优先级不一样
训练场景能效重要,但通常更优先算力、显存和扩展性,因为训练集群虽然耗电,但时间成本更贵,卡住一小时比多花几度电严重得多。在线推理场景能效直接决定单路成本:同样服务100路并发,A卡每路功耗是B卡的2倍,电费和散热成本几乎翻倍。边缘和车端场景能效是第一优先级,因为电池容量和散热是物理硬约束,峰值算力再高也扛不住“装不进去”三个字。
我的习惯是把“总拥有成本”一起算进去:硬件采购价、功耗、冷却、机房空间、维护人力,全部折算成三年TCO再对比。一个单价高但高效的芯片,往往比便宜但耗电的方案更划算。
5. 从指标到体验:延迟、吞吐和模型质量
算力、带宽、能效属于硬件层指标,但最终用户感知到的是延迟、吞吐和模型输出质量。这三者和硬件指标有关,但不完全是同一个东西。
5.1 延迟和吞吐的取舍
延迟是单次请求从发起到拿到结果的时间,通常看p50、p95、p99三个分位数;吞吐是单位时间能处理多少请求,常用QPS(每秒查询数)或tokens/s(每秒生成token数)表示。
两者经常互相矛盾:把batch size调大,吞吐上去了,但单个请求的排队时间变长,延迟恶化。在线业务看重延迟,尤其p99;离线批量任务看重吞吐。所以评测芯片时必须固定场景,比如“batch=1的端到端延迟”和“batch=64的极限吞吐”是两个完全不同的测试,跑出的结论经常不一致。选型前先想清楚:你的业务是用户等不了500毫秒,还是离线任务可以跑几小时?
5.2 模型质量类指标(msssim等)怎么看
AI芯片评测里还有一类容易被忽略的指标:输出质量指标,典型如msssim(多尺度结构相似性)和PSNR,通常用来衡量图像、视频重建质量。如果你选芯片是为了跑超分、视频增强这类任务,这些指标就有意义了。
这里要澄清一点:同一网络跑在不同芯片上,输出应该尽量一致。如果某款芯片宣称“效果更好”,通常不是因为算力,而是算子实现或量化方式不同引入了细微差异。用msssim衡量时,通用经验是0.95以上算可接受,0.98以上算优秀,低于0.9就要警惕量化或算子偏差是否过大。但请注意,这只是经验值,具体阈值取决于业务对画质的敏感度,比如医学影像分析和短视频特效的要求显然不一样。
别本末倒置:msssim衡量的是最终效果,不是芯片算力。算力强弱还是看前面几项指标。
5.3 软硬协同:同样的指标,不同的体验
同一个模型,在A卡上跑得飞快,在B卡上手感像PPT,原因往往不是硬件本身,而是软件栈。算子库、编译器、推理框架、量化工具,每一项都可能带来2-5倍的性能差距。这也是为什么我反复强调选型一定要实测。规格书能告诉你“上限”,实测才能告诉你“下限”——也就是在你真实代码里,芯片到底能跑出什么水平。
我见过很多团队在选型时把硬件指标对比得无比细致,到测试阶段才发现:自己用的推理框架在候选芯片上算子覆盖不全,某个激活函数没有优化实现,导致整个模型只能跑CPU模式。这种问题,不看100页指标表格,跑一次的代码就全暴露了。
6. 一套我自己在用的AI芯片评估方法
理论讲完,分享一套我这些年实操磨出来的方法,可以直接拿去用。总共三步:定需求、做表格、实测跑。
6.1 第一步:用需求定义约束
问自己四个问题:
- 拿来干什么?训练、云端推理、边缘推理,还是车端?
- 跑什么模型?大语言模型、视觉模型、多模态,还是视觉语言混合?
- 精度要求?FP16/BF16、INT8,还是必须FP32?
- 部署规模多大?单卡、单机8卡,还是上千卡集群?
这四个问题回答完,指标优先级基本自动浮现。跑13B模型训练,显存容量和互联带宽排第一;手机端跑YOLO类感知模型,能效和内存带宽排第一;大规模线上推理,延迟、吞吐和功耗排第一。先回答这四个问题,再去看指标,会少走很多弯路。
6.2 第二步:做一张指标打分表
我习惯用一张四维表格:算力(同精度下的FP16和INT8)、带宽(显存带宽加板间互联)、能效(TOPS/W)、软件栈(实测算出的利用率),每个维度按需求权重加权。
| 对比项 | 候选卡A | 候选卡B | 候选卡C |
|---|---|---|---|
| FP16峰值算力 | 300 TFLOPS | 250 TFLOPS | 320 TFLOPS |
| INT8峰值算力 | 600 TOPS | 500 TOPS | 650 TOPS |
| 显存容量 | 80GB | 96GB | 80GB |
| 显存带宽 | 2TB/s | 2.4TB/s | 1.8TB/s |
| 板间互联带宽 | 600GB/s | 700GB/s | 450GB/s |
| 能效(INT8稠密) | 8 TOPS/W | 9 TOPS/W | 7 TOPS/W |
| 实测算力利用率 | 55% | 60% | 42% |
| 参考单价 | 高 | 中 | 低 |
每个格子旁标注测试条件,避免跨精度、跨稀疏率比较。填完这个表,80%的信息已经够做初步决策了。
6.3 第三步:用你自己的模型实测
这一步不能省。实测至少要覆盖两类负载:
- 计算密集负载:大batch的矩阵乘、训练迭代,看算力利用率和稳态功耗。
- 带宽密集负载:batch=1的transformer推理,看延迟和显存带宽是否吃满。
实测记录项我固定用这几个:延迟(p50/p95)、吞吐、平均功耗、算力利用率、显存占用、温度。每个项目至少测10次,取中位数和p95。开始前先预热让芯片进入稳定状态,建议连续跑15分钟以上。拿我的经验说,曾经测某款边缘NPU,厂商给的官方跑分很好看,但用自己的YOLO推理脚本一跑,发现框架缺少关键算子优化,性能只有官方数字的四分之一。从那以后,任何芯片我至少用3个代表性模型实测,一个都不能少。
6.4 实例:训练13B模型的显存账
经常有团队拿着只够跑推理的卡来问“能不能训大模型”,这时我会先算一笔显存账。以13B参数模型做全参数FP16训练为例:
- 模型权重FP16:约26GB
- 梯度FP16:约26GB
- FP32主权重副本:约52GB
- Adam优化器状态(一阶二阶动量):约104GB
合计约208GB。单卡80GB显存放不下完整参数,必须用ZeRO、张量并行,或者改成LoRA微调。这类计算在选卡时极其关键——问题往往不是算力不够,而是显存装不下。所以不管厂商指标吹得多好,先把你要跑的模型在显存里摆一遍,是最基本的“指标准入线”。
7. 常见误区与避坑清单
各种坑踩多了,总结成几条,给后面的朋友提个醒。
7.1 误区一:峰值算力高等于跑得快
峰值只是理论天花板。算力利用率、内存带宽、软件栈都会影响最终速度。两个峰值接近的芯片,实际性能差出2-3倍非常正常。凡是只拿峰值算力说事的方案,都先打个问号。
7.2 误区二:单卡指标能直接推导集群性能
多卡扩展效率受互联带宽、拓扑、通信库三重影响。有些卡单卡跑分亮眼,但到了64卡扩展效率只有50%,总吞吐还不如扩展效率80%的另一款。选集群方案一定追着厂商要多卡扩展实测曲线。
7.3 误区三:没识别厂商指标的三种“修饰”
- 用稀疏算力掩盖稠密水平:凡是标注“稀疏加速”的数字,先问稀疏率是多少。
- 不同精度混着标:FP16、INT8、INT4放在同一张表里,口径不清,数字差距巨大。
- 用聚合值做宣传:标“总算力XX TOPS”是整机多卡之和,单卡只有几分之一。
7.4 误区四:忽略软件生态就是忽略一切
硬件指标再好,算子库不全、框架适配差、编译器坑多,落地就是灾难。评估软件栈的方法很简单:跑你的代码,看报错和不兼容多不多,查算子覆盖率和社区活跃度。一个算子生态贫瘠的芯片,就算便宜30%,也不要选,后面各种填坑时间都会加倍还回去。
8. 常见问题速查表
最后把大家平时问得最多的几个问题整理成一个速查表,方便随手翻。
| 问题 | 简洁回答 |
|---|---|
| TOPS和TFLOPS有什么区别? | TOPS是每秒万亿次操作(可含整数运算),TFLOPS特指浮点运算。AI芯片宣传里两者都常见,关键是先确认精度和稀疏率口径。 |
| 为什么同一芯片跑不同模型差别巨大? | 因为不同模型的算术强度不同,有的计算密集,有的带宽密集;软硬件适配带来的优化差异也很大。 |
| 训练卡和推理卡指标怎么选? | 训练优先看FP16/BF16矩阵算力、显存容量和互联;推理优先看INT8实际吞吐、延迟、带宽和能效。 |
| 算力带宽比怎么理解? | 数值等于峰值算力除以峰值带宽。数值越高,芯片越依赖“数据复用型”计算;跑算术强度低的模型时反而容易卡在带宽上。 |
| msssim一般多少算好? | AI超分、重建类场景的经验值:0.95以上可接受,0.98以上算优秀。但具体阈值取决于业务对画质的敏感程度,比如医学影像要求远高于短视频特效。 |
| 为什么实测功耗总比标称TDP高? | TDP是散热设计参考值而非瞬时峰值。要记录长时间运行的稳定功耗,不要只看峰值。 |
| 宣传页写着“总算力”靠谱吗? | 要拆开看是单卡指标还是多卡聚合值,通常“总算力”是多卡之和,单卡只有几分之一。 |
最后说一点个人体会。做了几年AI芯片评测和选型,我最大的感受是:指标是起点,不是终点。真正可靠的选型流程永远是“先定场景、再筛指标、最后实测”,而且一定要把软件栈当成一项硬指标对待。与其花一个月研究PPT上的峰值数字,不如花一周时间,拿自己的模型在候选芯片上各跑几遍,把延迟、吞吐、功耗、稳定性记录下来。实测数据永远比漂亮宣传页有用——这句话值得刻在选型会议室的白板上。