FP8
FP8 è un formato numerico a virgola mobile a 8 bit disponibile in due varianti: E4M3 (4 bit esponente, 3 mantissa), usato nel forward pass per maggiore precisione, ed E5M2 (5 bit esponente, 2 mantissa), usato per i gradienti per maggiore range dinamico. Riduce l'uso di memoria di circa il 50% rispetto a BF16 con una perdita di qualità inferiore allo 0,5% quando abbinato a una scalatura per-tensor tramite il NVIDIA Transformer Engine. Le GPU H100 e H800 dispongono di Tensor Core nativi per FP8. DeepSeek V3 è stato addestrato interamente in FP8, raggiungendo qualità paragonabile a GPT-4o a una frazione del costo.
In pratica
Un team ML che addestra un LLM da 70B su cluster H100 attiva FP8 tramite il Transformer Engine di NVIDIA (integrato in Megatron-LM e NeMo) semplicemente impostando `fp8_format=HYBRID`. In inferenza, framework come vLLM e TensorRT-LLM supportano weight e activation in FP8 per ridurre la VRAM richiesta e aumentare il throughput. Prima di adottarlo in produzione, è buona pratica eseguire una valutazione su benchmark standard (MMLU, HumanEval) per verificare che la degradazione sia entro soglie accettabili.
Termini collegati
Visto in azione
6 voci che lo citano- Mediotorchao: quantizzazione e sparsity nativi PyTorch senza CUDA custom
- AltoDeepSeek-V3: qualità GPT-4o a $0.55/M token tramite MLA e pipeline FP8
- AltoKV Cache Quantization FP8/INT8: doppia la densità di utenti per GPU
- AltoFP8 Training con NVIDIA Transformer Engine: dimezza la memoria mantenendo la qualità
- AltoFlashAttention-3: 2.6x speedup su FA2 ottimizzando per H100 Hopper con wgmma, TMA e FP8
- AltoNVIDIA TensorRT-LLM: compilazione automatica di LLM per GPU con FP8 e multi-GPU