정밀도(Precision)는 AI에서 아주 중요한 요소죠. 모델의 정확도와 효율성을 결정하니까요. 정밀도가 바로 숫자를 얼마나 세밀하게 표현할지를 조절하고, 실제의 값을 근사(Approximation)하기 위해서 고정소수점(Fixed-Point)이나 부동소수점(Floating-Point) 형식을 사용하게 됩니다. 최근에는 BF16 → FP16으로 전환하는 연구가 진행되면서, 정밀도가 성능에 미치는 영향이 다시 주목받고 있습니다.
오늘은 아래 7가지의, AI에서 사용되는 중요한 ‘정밀도’ 형식인데, 훈련에는 고정밀도, 추론에는 저정밀도가 주로 사용된다고 생각하면 될 것 같네요:
FP32 (Float32)
표준적인 풀 프리시전(Full Precision) 부동소수점 형식입니다.
비트 구성: 부호 1비트, 지수 8비트, 가수(소수부) 23비트
대부분의 모델 훈련에서 기본값으로 사용되는데, 수치적 안정성이 높고 기존 코드와의 호환성이 좋습니다.
FP16 (Float16)
하프 프리시전(Half Precision) 부동소수점 형식으로, 정확도와 효율성의 균형을 잘 맞추는 형식입니다.비트 구성: 부호 1비트, 지수 5비트, 가수 10비트
NVIDIA Tensor Core에서 널리 사용되고, 혼합 정밀도 학습(Mixed Precision) 환경에서도 자주 쓰입니다.
최근에는 강화학습(Reinforcement Learning) 영역에서도 다시금 주목받고 있는 형식입니다.
BF16 (BFloat16)
FP32와 같은 지수 범위를 가지지만, 가수 비트가 더 적은 형식입니다.비트 구성: 부호 1비트, 지수 8비트(FP32와 동일), 가수 7비트
Google Brain이 AI/ML 인프라 연구의 일환으로 개발한 것으로, TPU 및 최신 GPU에서 선호하는 형식입니다.
FP8 (E4M3 / E5M2) →
NVIDIA Hopper(H100)과 Blackwell(B200) Tensor Core, AMD MI300 등에서 차세대 표준으로 부상 중인 초저정밀 형식입니다.E4M3: 지수 4비트, 가수 3비트
E5M2: 지수 5비트, 가수 2비트
NVIDIA의 Transformer Engine에서도 지원되고, 훈련과 추론 모두에 사용됩니다.
4비트 부동소수점으로 양자화된 트랜스포머(4-bit FP Transformer)나
QLoRA에서 사용하는 4-bit NormalFloat(NF4) 같은 형식이 이에 속합니다.저자원 환경에서의 모델 추론에 적합합니다.
INT8/INT4
정수 기반의 저정밀 형식으로, 주로 추론 단계에서 사용됩니다.모델의 가중치와 활성값(Activation)을 정수로 변환해서, 정수 연산에 최적화된 하드웨어에서 아주 빠르게 처리할 수 있습니다.
2-bit (ternary or binary quantization)
가장 극단적인 초저정밀 형식입니다.예: {-1, 0, 1} 값만 사용
곱셈 연산을 덧셈이나 뺄셈으로 대체할 수 있어서, 연산 비용이 매우 낮습니다.
초저전력 AI 가속기나 경량화 연구에서 실험적으로 활용됩니다.
*읽어주셔서 감사합니다. 재미있게 보셨다면 친구와 동료 분들에게도 뉴스레터를 추천해 주세요



