FP8 (Floating Point 8) es un formato de representación numérica de punto flotante que utiliza 8 bits para almacenar un número. A diferencia de formatos más comunes como FP32 (single-precision) o FP16 (half-precision), FP8 reduce drásticamente el requisito de memoria y el ancho de banda, lo que permite operaciones de cómputo más rápidas y eficientes. Existen varias variantes de FP8, como E5M2 (5 bits para el exponente, 2 para la mantisa) y E4M3 (4 bits para el exponente, 3 para la mantisa), cada una optimizada para diferentes rangos dinámicos y precisiones, buscando un equilibrio entre la capacidad de representar números muy grandes o muy pequeños y la granularidad de la representación.

La implementación de FP8 está ganando tracción en el mundo real, especialmente en el ámbito del entrenamiento y la inferencia de modelos de Machine Learning a gran escala. NVIDIA ha sido un pionero, introduciendo soporte para FP8 en sus GPUs de arquitectura Hopper (como la H100) y Ada Lovelace, utilizando Tensor Cores para acelerar las operaciones FP8. Frameworks de Machine Learning como PyTorch y TensorFlow están incorporando soporte para FP8, a menudo a través de bibliotecas de bajo nivel como NVIDIA cuBLAS y cuDNN. Empresas como Google también exploran formatos de precisión reducida en sus TPUs para optimizar el rendimiento de sus modelos de IA.

Para un arquitecto de sistemas, FP8 es un factor crítico en el diseño de infraestructuras de IA y HPC. Su adopción implica trade-offs significativos: permite entrenar modelos más grandes o con mayores tamaños de batch, reduce el consumo de energía y el costo de hardware al disminuir la demanda de memoria y ancho de banda. Sin embargo, la reducción de precisión puede introducir errores de cuantificación o underflow/overflow, lo que requiere técnicas como el 'scaling' dinámico o estático para mantener la estabilidad del entrenamiento y la precisión del modelo. Un arquitecto debe evaluar cuidadosamente si la pérdida de precisión es aceptable para la aplicación específica y cómo mitigar sus efectos, balanceando el rendimiento y la eficiencia con la robustez y la exactitud del modelo.