한 줄 정의
FP8은 숫자 하나를 8비트로 담는 부동소수점 포맷이야. 같은 모델 가중치와 활성값을 FP16·BF16보다 작게 옮길 수 있어서 추론 비용과 GPU 메모리 대역폭을 줄이는 데 쓰여.
다만 FP8은 “더 작은 BF16”이 아니야. 정밀도를 줄이는 대신 스케일링, 하드웨어 지원, 계층별 오차 검사가 맞아야 하는 양자화 선택지에 가까워.
어떻게 작동하나
가장 자주 보는 FP8 포맷은 E4M3와 E5M2야. E4M3는 부호 1비트, 지수 4비트, 가수 3비트로 값을 표현하고 최대값은 약 ±448이야. E5M2는 부호 1비트, 지수 5비트, 가수 2비트라서 최대값이 약 ±57,344까지 넓어지지만 값 사이 간격은 더 거칠어져.
이 비트 배치와 범위는 NVIDIA TE의 FP8 primer와 FP8 Formats for Deep Learning 논문에서 같은 축으로 확인할 수 있어.
그래서 트랜스포머 계열에서는 보통 큰 행렬곱, 선형 계층, 일부 어텐션 경로처럼 처리량 이득이 큰 부분부터 FP8을 시험해. NVIDIA TE의 기본 예시는 forward 쪽에 E4M3, backward 쪽에 E5M2를 섞는 HYBRID 방식을 보여주고, 스케일링 계수와 amax(최근 관측한 절댓값 최댓값) 이력을 런타임이 관리해.
운영 관점에서 중요한 제한도 있어. NVIDIA TE 문서 기준 FP8 Linear는 두 차원이 모두 16으로 나누어떨어지는 텐서 모양에 제한돼서, 전체 입력 시퀀스도 16의 배수로 패딩해야 하는 경우가 생겨. 이 조건을 못 맞추면 FP8을 켜도 커널 경로가 깨지거나 기대한 지연시간 개선이 나오지 않을 수 있어.
왜 중요한가
FP8의 장점은 같은 모델을 더 작은 숫자 표현으로 움직인다는 데 있어. 8비트 값은 16비트 FP16·BF16 대비 저장·전송 단위가 절반이라서, 병목이 메모리 대역폭이나 GPU 간 데이터 이동에 있을 때 이득이 커질 수 있어.
하지만 정확도 기준선은 먼저 BF16·FP16으로 잡는 편이 좋아. BF16은 16비트 안에서 넓은 범위를 유지하는 안정적인 기본값이고, FP16은 지원 커널이 넓은 오래된 선택지야. FP8은 그다음 단계에서 “지연시간, 처리량, 비용 중 하나가 실제 병목이고, 하드웨어와 런타임이 FP8 경로를 제대로 지원한다”는 조건이 맞을 때 시험하는 카드야.
Qwen3.6-35B-A3B 같은 모델 예시는 이 판단을 모델별로 다시 해야 한다는 신호로 보면 돼. 어떤 모델이 FP8 후보로 언급됐다는 사실만으로 FP8이 정답이 되는 게 아니라, 같은 평가셋에서 BF16·FP16 기준선과 FP8 결과를 나란히 재야 해.
실무 적용 기준
실무에서는 FP8 실험을 시작하기 전에 켜볼 조건, BF16·FP16으로 남길 구간, 중단 신호를 분리해 둬야 해.
- 켜볼 조건: H100/H200 같은 Hopper 계열처럼 FP8 Tensor Core 경로를 공식적으로 지원하는 GPU가 있고, 큰 GEMM(행렬 곱셈)·Linear·Attention 연산이 지연시간이나 메모리 대역폭 병목이며, 목표가 정확도 개선이 아니라 처리량 증가나 비용 절감일 때야. 예를 들어 NVIDIA DGX H200 사양은 8개 H200 Tensor Core GPU,
1,128GB총 GPU 메모리,32 petaFLOPS FP8성능을 제시해. - 런타임 비교: 같은 GPU라도 vLLM, TE, TensorRT-LLM처럼 어떤 런타임이 FP8 커널과 캐시 경로를 실제로 타는지 확인해야 해. 작은 배치의 스모크 테스트가 아니라 실제 입력 길이, 실제 배치 크기, 실제 캐시 설정으로 지연시간 p50·p95, tokens/sec, 정확도 지표, 응답 품질 지표를 BF16·FP16 기준선과 나란히 봐야 해.
- BF16·FP16으로 남길 구간: softmax와 logits 주변, 정규화 계층, 출력 head처럼 작은 수치 차이가 결과를 크게 흔드는 구간은 높은 정밀도로 남겨. FP8 안전 연산만 자동 캐스팅하고 나머지는 기준 정밀도로 남기는 구성이 더 현실적이야.
- 중단 신호: FP8 적용 뒤 NaN/Inf 발생, 포화값 증가, amax 스케일 급변, 기준 대비 정확도 하락, 응답 품질 회귀, 지연시간 개선 없음 중 하나라도 보이면 해당 계층이나 연산을 BF16·FP16으로 되돌려야 해. 내부 gate를 예를 들어
0.5%p나1%p정확도 하락으로 잡았다면, 그 선을 넘는 순간 FP8 적용 범위를 줄이는 식이야.
이 신호를 모니터링하지 못하는 런타임이라면 FP8보다 BF16·FP16 기본값이 더 안전해.
Qwen3.6-35B-A3B FP8 사례
Qwen3.6-35B-A3B는 FP8을 모델별로 다시 검증해야 한다는 점을 보여주는 직접 사례야. Hugging Face의 Qwen/Qwen3.6-35B-A3B-FP8 저장소는 FP8 양자화 가중치와 설정 파일을 제공하고, fine-grained FP8 quantization의 block size를 128로 적어. 파일 목록 기준 크기는 37.5 GB로 보이고, 같은 모델 카드의 개요는 35B total, 3B activated, 262,144 native context를 함께 제시해.
여기서 A3B와 FP8은 서로 다른 판단 축이야. A3B는 한 토큰에서 활성화되는 파라미터 경로를 설명하고, FP8은 그 가중치와 활성값을 어떤 정밀도로 저장·계산할지에 관한 선택이야. AMD의 2026년 4월 17일 배포 글도 Qwen3.6-35B-A3B-FP8을 MI300X/MI325X/MI350X/MI355X, ROCm 7.0, vLLM 문맥에서 다루지만, 이건 해당 GPU·런타임 조합의 배포 사례이지 모든 Qwen 모델의 FP8 성능 보장은 아니야.