HardwareRuta Optimización
Tensor Core
Leerlo en el Capítulo 4 · checkpoint +50 XP →
Unidades de multiplicar y acumular matrices que aportan la mayoría de los FLOPs de una GPU moderna, si las alimentas con la precisión y formas correctas.
Los tensor cores calculan productos de matrices pequeñas (p. ej. bloques de 16×16) en una sola instrucción. En una H100 entregan ~989 TFLOP/s densos en BF16 frente a ~67 TFLOP/s en FP32 simple. Esa diferencia es la razón por la que el entrenamiento en precisión mixta es lo normal.
Cómo obtener los FLOPs
- Usa BF16/FP16 (o FP8 con Transformer Engine) para las multiplicaciones de matrices. FP32 sin TF32 nunca los usa.
- Mantén las dimensiones de las GEMM grandes y múltiplos de 8/16. Micro-batches diminutos o shards de paralelismo tensorial muy estrechos generan GEMM pequeñas que no saturan las unidades.
- Mantén los datos fluyendo desde HBM. Los tensor cores son tan rápidos que muchas operaciones (normalización, activaciones, softmax de atención) pasan a estar limitadas por memoria. Para eso existe la fusión de kernels como FlashAttention.
El Model FLOPs Utilization (MFU (Model FLOPs Utilization)) es, en el fondo, una medida de qué tan ocupados están los tensor cores.
Relacionado
Precisión mixta (BF16, FP8)MFU (Model FLOPs Utilization)Modelo rooflineHBM y la jerarquía de memoria
Fuentes y lecturas adicionales
- NVIDIA H100 Tensor Core GPU
- Modal GPU Glossary — hardware and software vocabulary
- Mixed Precision Training (Micikevicius et al., 2018)
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.