第二章:AI芯片核心指标——算力、能效比、带宽、延迟与精度
各位同学,欢迎来到第二章。上一章我们聊了AI芯片的宏观图景,今天咱们来点硬核的——芯片的“体检报告”怎么看。
我经常遇到刚入行的朋友问我:“老师,这芯片标称100TOPS,是不是比50TOPS的快一倍?”
嗯,这个问题问得好,但答案没那么简单。
芯片的性能,从来不是单一数字能决定的。就像评价一辆车,你不能只看最高时速,还得看油耗、载重、刹车距离。
今天,我就带大家把这几个核心指标掰开揉碎了讲清楚。你想想看,搞懂了这些,以后看芯片规格书,就跟看自家冰箱的能效标签一样清楚。
2.1 算力:TOPS与GOPS
算力,说白了就是芯片“算得有多快”。
单位是TOPS(Tera Operations Per Second,万亿次操作/秒)或GOPS(Giga Operations Per Second,十亿次操作/秒)。
这里有个坑,我刚开始也踩过。
TOPS里的“操作”,通常指乘加运算(MAC,Multiply-Accumulate)。一次MAC算两次操作(一次乘法+一次加法)。
所以,有些厂商会拿这个做文章——标称的TOPS是“操作次数”,而不是“MAC次数”。
我曾经被一份芯片规格书忽悠过。它标称“8 TOPS”,我以为是8万亿次MAC/秒,结果仔细看小字,是“8万亿次操作/秒”,实际MAC只有4万亿次/秒。所以,看规格书时,一定要确认是“MACs”还是“Ops”。
算力的计算公式很简单:
算力 (TOPS) = 频率 (GHz) × MAC单元数量 × 2 (乘加算两次) / 1000
举个例子:
一块芯片有256个MAC单元,跑在1GHz,那么它的算力就是:
1 × 256 × 2 / 1000 = 0.512 TOPS,也就是512 GOPS。
我个人习惯,看算力时先看“有效算力”。
很多芯片理论算力很高,但实际跑模型时,因为内存带宽不够、数据搬运不过来,算力利用率可能只有30%-50%。
这就好比一个超级大厨,但厨房只有一个水龙头——他再快,也快不起来。
2.2 能效比:TOPS/W
能效比,就是“每瓦功耗能提供多少算力”。
单位是TOPS/W。
这个指标在AI芯片里越来越重要。
为什么?
因为数据中心电费贵啊!手机、IoT设备电池就那么点大。
我做过一个边缘计算项目,客户要求芯片功耗不能超过5W,但算力要至少10TOPS。
算一下,能效比至少要2 TOPS/W。
当时市面上能选的芯片不多,最后我们选了款能效比2.5 TOPS/W的,才勉强达标。
看能效比时,要区分“峰值能效”和“实际能效”。
峰值能效通常是在特定频率、特定电压、特定数据精度下测出来的,实际跑应用时,能效比会打折扣。
我建议你关注“典型应用场景下的能效比”,这个数据更实在。
能效比的提升,主要靠三个方向:
- 工艺制程:7nm比28nm省电得多
- 架构设计:比如稀疏计算、数据复用
- 精度选择:INT8比FP32省电,但精度低
2.3 内存带宽
内存带宽,就是“芯片从内存里读数据的速度”。
单位是GB/s。
这个指标,我把它比作“高速公路的宽度”。
算力是“车跑多快”,带宽是“路有多宽”。
路太窄,车再快也堵在路上。
AI模型推理时,需要频繁搬运权重和中间结果。
如果带宽不够,计算单元就会“饿着肚子等数据”。
这就是所谓的“内存墙”问题。
带宽的计算公式:
带宽 (GB/s) = 内存频率 (GHz) × 位宽 (bit) × 通道数 / 8
举个例子:
LPDDR5内存,频率3.2GHz,位宽64bit,4通道。
带宽 = 3.2 × 64 × 4 / 8 = 102.4 GB/s
我遇到过最头疼的问题,就是芯片算力很高,但带宽配小了。
跑ResNet-50时,算力利用率只有20%。
后来换了更高带宽的内存,利用率直接飙到70%。
所以,算力和带宽一定要匹配。
2.4 延迟
延迟,就是“从输入到输出,花了多少时间”。
单位通常是毫秒(ms)或微秒(μs)。
这个指标,对自动驾驶、工业控制这类实时性要求高的场景,至关重要。
你想想看,自动驾驶摄像头拍到障碍物,到刹车指令发出,如果延迟超过100ms,车可能已经撞上了。
延迟分为几种:
- 计算延迟:芯片算完一个模型的时间
- 内存访问延迟:从内存读数据的时间
- 通信延迟:芯片之间或芯片与传感器之间传数据的时间
我个人习惯,在项目初期就定好延迟预算。
比如,一个语音唤醒应用,总延迟要求小于50ms。
那么,我会把50ms拆开:麦克风采集5ms,特征提取10ms,模型推理30ms,后处理5ms。
这样,每个环节都有明确的目标。
延迟和吞吐量是两回事。
吞吐量是“单位时间能处理多少任务”,延迟是“一个任务花多少时间”。
有些芯片吞吐量很高,但延迟也高——因为它用了批处理,攒一批数据一起算。
所以,看指标时,要搞清楚你关心的是延迟还是吞吐量。
2.5 精度:FP32、FP16、INT8
精度,就是“数据用多少位来表示”。
常见的精度有:
| 精度类型 | 位数 | 典型应用 | 特点 |
|---|---|---|---|
| FP32 | 32位 | 训练、高精度推理 | 精度高,但功耗大、速度慢 |
| FP16 | 16位 | 训练、推理 | 精度适中,速度比FP32快 |
| INT8 | 8位 | 推理 | 速度快、功耗低,但精度有损失 |
为什么会有这么多精度?
说白了,就是“用精度换效率”。
INT8的算力,通常是FP32的4倍以上,功耗却只有1/4。
但代价是,模型精度可能会下降1%-3%。
我做过一个项目,把模型从FP32量化到INT8,精度只掉了0.5%,但推理速度提升了3倍。
这个收益,太划算了。
但要注意,不是所有模型都能无损量化。有些模型对精度特别敏感,量化后效果很差。
先跑FP32的基线,再尝试INT8量化。
如果精度损失在可接受范围内(比如1%以内),就大胆用INT8。
如果损失太大,可以考虑混合精度——部分层用FP16,部分层用INT8。
2.6 知识体系总览
说了这么多,咱们来张图总结一下。下面这张SVG图,展示了AI芯片核心指标之间的关系:
这张图很直观地展示了五个指标之间的关系。
它们不是孤立的,而是相互制约的。
比如,提高精度(FP32→INT8),算力会提升,但精度会下降。
再比如,增加内存带宽,能提升算力利用率,但功耗也会增加,影响能效比。
所以,选芯片时,不要只看一个指标。
要结合你的应用场景,做综合评估。
我个人习惯,会先列一个需求清单,然后给每个指标打分,最后选综合得分最高的芯片。
好了,这一章的内容就到这里。
核心指标搞清楚了,下一章我们聊聊芯片的架构——这些指标是怎么通过硬件设计实现的。
- 算力看TOPS,但要注意是MAC还是Ops
- 能效比看TOPS/W,实际应用会打折
- 内存带宽是瓶颈,算力和带宽要匹配
- 延迟看场景,实时系统要求高
- 精度选INT8,但要验证精度损失
想要更多资料,联系可可