¿Qué es el entrenamiento en precisión mixta?
Tradicionalmente, los pesos de una red neuronal y sus cálculos van en coma flotante de 32 bits (FP32): preciso, pero lento y hambriento de memoria. El entrenamiento en precisión mixta usa un enfoque de «precisión donde importa, ligereza en el resto»: la mayor parte del cálculo pasa a coma flotante de 16 bits (FP16) por velocidad y menor memoria, mientras que unos pocos puntos sensibles a la precisión recurren a FP32.¿Por qué FP16 es más rápido?
Calcula más rápidoEn las GPUs modernas, el álgebra de matrices en FP16 va varias veces más rápido que en FP32, y el hardware pensado para media precisión (como los Tensor Cores) multiplica el rendimiento.
Ahorra memoria y ancho de banda
La mitad de bits significa pesos y resultados intermedios más pequeños, así que caben modelos o batches más grandes.
¿Por qué no usar FP16 en todo?
La precisión puede desbordarse o desvanecerseFP16 tiene rango y precisión limitados: los números grandes se desbordan a infinito, los gradientes diminutos se anulan a cero, y el entrenamiento se vuelve inestable o no converge.
Por eso se «mezcla»
Las partes delicadas — actualizaciones de gradientes, ciertas sumas — van en FP32, y el resto en FP16: velocidad y estabilidad a la vez.
Un par de trucos clave
Escalado de pérdida (loss scaling)¿Gradientes demasiado pequeños para sobrevivir en FP16? Multiplica la pérdida por un factor antes de la retropropagación y deshazlo después, para que los gradientes pequeños no desaparezcan.
Pesos maestros en FP32
Guarda los pesos en FP32, calcula en FP16 y vuelve a FP32 para actualizar: lo mejor de ambos mundos.
¿Merece la pena?
Hoy la precisión mixta es casi la configuración por defecto para entrenar modelos grandes: el doble de velocidad, la mitad de memoria y una pérdida de precisión despreciable. Combinada con trucos como el checkpointing de gradientes, a menudo hace ejecutable un modelo que antes no cabía.En resumen: el entrenamiento en precisión mixta hace la mayor parte del cálculo en FP16 por velocidad y deja los puntos críticos en FP32 por precisión — rápido, barato y sin venirse abajo.
Comentarios