在基于深度学习的人工智能研究中,经常会出现 FLOPS 和 FLOPs,大模型时代时出现 GFLOPS、TFLOPS 等等。本篇简要介绍下。

FLOPs

FLOPs 是 FLoating-point of OPerations 的缩写,表示浮点运算次数,常用来衡量算法或模型复杂度。

具体计算包括模型运行时有多少次乘法和加法。常用工具有 torchstat, thop 等。

FLOPS

FLOPS 是 FLoating-point Operations Per Second 的缩写,表示每秒浮点运算次数,常用来衡量硬件的性能。

除此之外,还有 GFLOPS(Giga Floating-point Operations Per Second)、TFLOPS(Tera Floating-point Operations Per Second),它们之间的换行如下:

1
2
3
4
5
6
7
8
9
10
11
12
# 一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算
1MFLOPS = 1000,000FLOPS
# 一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算
1GFLOPS = 1000MFLOPS
# 一个TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算,(1太拉)
1TFLOP = 1000GFLOPS
# 一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算
1PFLOPS = 1000TFLOPS
# 一个EFLOPS(exaFLOPS)等于每秒一百京(=10^18)次的浮点运算
1EFLOPS = 1PFLOPS
# 一个ZFLOPS(zettaFLOPS)等于每秒十万京(=10^21)次的浮点运算
1ZFLOPS = 1EFLOPS

参考文献

  1. FLOPS和FLOPs、GFLOPs区别与计算
  2. 深度学习中的FLOPs介绍及计算(注意区分FLOPS)