← AI 용어집

AI 용어집 · 기초 · 효율·인프라

정밀도(FP32·BF16·FP8) Numeric precision

정밀도는 AI 모델이 숫자 하나를 몇 비트로 저장·계산하느냐를 말하며, FP32·BF16·FP8처럼 비트 수가 적을수록 메모리와 계산이 줄지만 표현이 거칠어진다.

용어 정보
난이도
기초 · 소식을 읽을 때 자주 만나는 기술 용어
추가
2026-10-12
쉽게 말하면 지도의 축척과 비슷하다. 세밀한 지도는 정확하지만 두껍고 무겁고, 간략한 지도는 가볍지만 골목길이 사라진다.

어떻게 작동하나

FP는 부동소수점(floating point)을 뜻하고 뒤의 숫자가 비트 수다. FP32는 숫자 하나에 4바이트, FP16·BF16은 2바이트, FP8은 1바이트, FP4는 0.5바이트를 쓴다. 비트는 '수의 크기 범위'를 맡는 부분과 '세밀함'을 맡는 부분으로 나뉜다. BF16은 FP16과 크기는 같지만 범위를 FP32만큼 넓게 잡아 학습 중 값이 넘치는 문제가 적어, 요즘 학습과 추론의 기본처럼 쓰인다.

숫자 하나에 드는 바이트

FP32
BF16·FP16
FP8
FP4
정밀도마다 숫자 하나가 차지하는 메모리다. 파라미터 수에 이 값을 곱하면 가중치 메모리를 어림할 수 있다.

어디서 보게 되나

Hugging Face 모델의 config.json에 있는 torch_dtype 항목(예: bfloat16), 모델 카드, 추론 엔진의 dtype 설정에서 본다. GPU 사양서에는 정밀도별로 다른 초당 연산 횟수가 적혀 있고, 최신 GPU일수록 FP8·FP4 같은 낮은 정밀도를 하드웨어로 지원한다. 양자화된 모델의 이름에 붙는 4bit·8bit 표시도 같은 이야기다.

왜 중요한가

정밀도를 절반으로 낮추면 가중치 메모리가 절반으로 줄고, 지원하는 GPU에서는 계산도 빨라진다. 그래서 큰 모델을 더 작은 GPU에 올리거나 더 많은 요청을 받을 수 있다. 학습에서는 계산은 낮은 정밀도로, 중요한 값은 높은 정밀도로 유지하는 '혼합 정밀도'가 흔하다. 최근에는 FP8·FP4로 학습까지 하려는 연구가 활발하다.

알아 둘 점

정밀도를 너무 낮추면 정확도가 떨어지거나 학습이 불안정해질 수 있다. 같은 8비트라도 FP8과 INT8(정수)은 방식이 달라, 엔진과 GPU가 어떤 것을 지원하는지 확인해야 한다. 오래된 GPU는 BF16이나 FP8을 하드웨어로 지원하지 않아 기대한 속도가 안 나올 수 있다. 원래 BF16으로 배포된 모델을 굳이 FP32로 띄우면 메모리만 두 배로 들 뿐 품질 이득은 거의 없다.

예시

이 사이트의 'TRACE' 논문 소식은 MoE 언어 모델을 FP4로 강화학습할 때 생기는 오차를 줄이려 학습 과정에 양자화를 미리 반영하는 방법을 다룬다. 실무에서는 모델의 config.json에서 torch_dtype이 bfloat16인지 확인하고, GPU가 FP8을 지원하면 추론 엔진 설정에서 FP8로 바꿔 메모리를 아낄지 검토한다.

이 사이트에서 나온 사례

함께 보면 좋은 용어