AI 모델 학습과 추론에서 부동소수점(Floating Point) 형식은 성능과 정확도에 큰 영향을 준다. 특히, 연산 속도와 메모리 사용량을 줄이기 위해 다양한 정밀도의 부동소수점 형식이 사용되는데, 대표적으로 사용되는 BF16, FP32, FP16에 대해 간단히 정리해 본다.
- FP32 (Single Precision Floating Point)
- Exponent – 8 Bit
- Mantissa – 23 Bit
- Sign – 1 Bit
- Total 32 Bit
- 높은 정밀도와 넓은 표현 범위를 모두 갖춘 표준 부동소수점 형식. 대부분의 AI 학습, 고정밀 연산이 필요한 경우 사용한다.
- FP16 (Half Precision Floating Point)
- Exponent – 5 Bit
- Mantissa – 10 Bit
- Sign – 1 Bit
- Total 16 Bit
- 정밀도와 표현 범위 모두 FP32보다 줄어들지만, 메모리 절약과 연산 속도는 증가 시킬 수 있다.
- BF16 (bfloat16, Brain Floating Point Format)
- Exponent – 8 Bit
- Mantissa – 7 Bit
- Sign – 1 Bit
- Total 16 Bit
- FP16과 마찬가지로 16 Bit를 사용하여 표현 범위가 줄어들었지만, FP32와 동일한 지수부를 가져서 표현 가능한 수의 범위가 넓다.
