关于深度学习的算力、计算量存在很多单位,本文记录相关内容。
概念算力指计算设备(GPU、CPU、NPU等)完成计算的能力大小,一般评价指标为在单位时间内完成的运算次数
计算量指模型推断过程中需要的运算量,一般用来评价模型规模以及推断运行时间
常用单位单位类型
英文缩写
英文
含义
芯片速度类
OPS
operations per second
每秒处理次数 (S大写,表示 second),通俗是对INT8类型的操作次数,整型默认省略。
芯片速度类
FLOPS
Floating point number operations per second
每秒处理浮点数次数(S大写,表示 second),通常是FP32,浮点着重强调。
芯片速度类
TOPS
Tera operations per second
每秒处理的万亿次数 $10^{12}$(S大写,表示 second)
芯片速度类
TFLOPS
Tera Floating point number operations per second
每秒处理浮点数的万亿次数 $10^{12}$(S大写,表示 second)
芯片速度类
FLOPs
Floating point number operations
模型推理需要处理浮点操作的次数(S小写,表示复数)
模型体量类
TFLOPs
Tera Floating point number operations
模型推理需要处理浮点操作的万亿次数 $10^{12}$(S小写,表示复数)
最常用也容易混淆的几个单位:TOPS 和 FLOPS,及FLOPs1、最大的混淆点,上述三个名词是两种东西,注意“S/s”的大小写。TOPS和FLOPS指的是每秒的计算量,算是速度方面的,用在芯片算力性能上。FLOPs指的是深度学习模型自身的计算量,算是体量方面的,用在深度学习模型本身参数计算量上。
2、针对算力速度方面的TOPS和FLOPS,其中OPS指的是每秒处理次数,但通常是默认对INT8整型数的处理次数(INT8省略不写),加上FL后FLOPS指的是对FP32浮点数的处理次数。
3、仍然是针对算力速度方面的TOPS和FLOPS,这里的T指的是量级(Tera ,万亿,10^12),同理TFLOPS专门指每秒对浮点数处理的达到多少万亿次数。
下图为nvidia-A100/H100部分算力信息,可对比TOPS/TFLOPS区别。对于描述模型算力的 TFLOPs网络
运算量
AlexNet
对于AlexNet处理224*224的图像,需要1.4G FLOPS
ResNet-152
对于224*224的图像,ResNet-152需要22.6G FLOPS
算力单位量级变换单位
描述
1 MOPS = 10^6 FLOPS
一个MFLOPS(megaFLOPS)等于每秒一百万 (=10^6)次的浮点运算,
1 GOPS = 10^9 FLOPS
一个GFLOPS(gigaFLOPS)等于每秒十亿 (=10^9)次的浮点运算,十亿(部分地方可能会用B,billion,十亿)
1 TOPS = 10^12 FLOPS
一个TFLOPS(teraFLOPS)等于每秒一万亿 (=10^12)次的浮点运算,(1太拉)
1 PFLOPS = 10^15 FLOPS
一个PFLOPS(petaFLOPS)等于每秒一千万亿 (=10^15) 次的浮点运算
1 EFLOPS = 10^18 FLOPS
每秒一百京(=10^18)次的浮点运算。
1 ZFLOPS = 10^21 FLOPS
等于每秒十万京(=10^21)次的浮点运算。
科学计算单位换算10^15
拍它
P
peta
10^12
太拉(万亿)
T
tera
trillion 万亿
10^9
吉咖(十亿)
G
giga
billion 十亿
10^6
兆(百万)
M
mega
million 百万
10^3
千
k
kilo
参考资料https://blog.csdn.net/zaibeijixing/article/details/135425642https://blog.csdn.net/zwqjoy/article/details/132056456https://zhuanlan.zhihu.com/p/649993943 文章链接:
https://cloud.tencent.com/developer/article/2393847