FLOPs

    002. 모델 계산량, FLOPs vs MAC, FLOPs vs FLOPS

    딥러닝에서 계산량은 파라미터와 함께 모델이 얼마나 큰지, 효율적인지를 나타내는 지표이다. 계산량은 보통 FLOPs(FLoating point OPerations) 혹은 MAC(Multiply–ACcumulate)으로 나타낸다. 대부분의 현대 하드웨어는 tensor를 다루는 연산을 할때 FMA라고 하는 명령어 셋을 사용한다. FMA는 a*x+b를 하나의 연산(operation)으로 처리를 하고 이 연산이 몇번 실행되었는지를 세는 것이 MAC이다. FLOPs는 덧셈, 곱셈을 하나 하나의 연산으로 보기 때문에 일반적으로 MACs : FLOPs = 1 : 2(덧셈 1회, 곱셈 1회)가 된다. 따라서 MAC을 FLOPs로 변환할 때는 2를 곱하면 되고, 반대의 경우엔 2로 나눠주면 된다. 100 MACs = 2*..