ParalelismoRuta Optimización

Precisión mixta (BF16, FP8)

Leerlo en el Capítulo 4 · checkpoint +50 XP →

Haz las cuentas en formatos de 16 u 8 bits en los tensor cores y guarda una copia maestra en FP32 para actualizaciones estables.

El entrenamiento en precisión mixta ejecuta el forward y el backward en un formato de baja precisión y mantiene pesos maestros en FP32 para la actualización del optimizador:

  • BF16 conserva el rango de exponente de FP32, así que rara vez necesita loss scaling. Es lo predeterminado en A100/H100.
  • FP16 necesita loss scaling dinámico para que los gradientes pequeños no se vuelvan cero.
  • FP8 (H100 en adelante) vuelve a duplicar aproximadamente el rendimiento de las matmul. Bibliotecas como Transformer Engine gestionan el escalado por tensor.

Por qué es tan importante: los tensor cores entregan ~15× más FLOP/s en BF16 que en FP32 simple en una H100. Entrenar en FP32 deja casi toda la GPU ociosa.

Memoria: pesos y gradientes en 2 bytes, más 12 bytes de estado del optimizador en FP32 (maestro, m y v de Adam), da la regla de "16 bytes por parámetro" que se usa en todo LazyLab.

Úsalo en una misión

Relacionado

Fuentes y lecturas adicionales

Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.