Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Precisión Mixta

¡Aumenta la eficiencia del aprendizaje profundo con el entrenamiento de precisión mixta! Logra velocidades más rápidas, reduce el uso de memoria y ahorra energía sin sacrificar la precisión.

La precisión mixta es una potente técnica de optimización en aprendizaje profundo que combina estratégicamente de 16 bits (media precisión) y 32 bits (precisión simple) en coma flotante para acelerar la para acelerar entrenamiento del modelo y reducir el uso de memoria. Al realizar las operaciones de cálculo intensivo con menor precisión y mantener al mismo tiempo una copia maestra de pesos del modelo en mayor precisión, este enfoque ofrece importantes aumentos de velocidad en el hardware moderno sin comprometer el precisión o la estabilidad de la red final. De hecho, permite a investigadores e ingenieros entrenar redes neuronales o aumentar la tamaño del lote dentro de las mismas hardware.

Cómo funciona la precisión mixta

El mecanismo central de la precisión mixta se basa en la arquitectura de los aceleradores modernos, como los equipados con NVIDIA Tensor Coresque pueden realizar multiplicaciones matriciales en media precisión (FP16) mucho más rápido que en precisión simple estándar (FP32). Por lo general, el proceso consta de tres pasos clave:

  1. Reparto: Operaciones como convoluciones y las multiplicaciones matrices se pasan a FP16. Esto reduce el ancho de banda de memoria necesario y acelera el cálculo.
  2. Mantenimiento de pesos maestros: Una copia maestra de los parámetros del modelo se mantiene en FP32. Durante retropropagaciónlos gradientes se calculan en FP16 pero se aplican a los pesos maestros de FP32. Esto preserva las pequeñas actualizaciones gradiente que de otro modo podrían perderse debido al rango limitado de FP16, evitando problemas como gradientes evanescentes.
  3. Escalado de pérdidas: Para garantizar aún más la estabilidad numérica, el valor de la función de pérdida a menudo se multiplica por un factor de escala. Esto desplaza los valores del gradiente a un rango que FP16 puede representar más eficazmente, evitando errores de desbordamiento antes de que se conviertan de nuevo para la actualización del peso. errores de desbordamiento antes de que se conviertan de nuevo para la actualización del peso.

Aplicaciones en el mundo real

La precisión mixta se ha convertido en una práctica habitual en diversos ámbitos de la inteligencia artificial debido a su capacidad para maximizar la eficiencia del hardware.

  • Formación de modelos de visión de vanguardia: Desarrollar un alto rendimiento visión por ordenador de alto rendimiento, como Ultralytics YOLO11implican el entrenamiento en conjuntos de datos masivos como COCO. La precisión mixta permite que estas ejecuciones de entrenamiento se completen significativamente más rápido, permitiendo más iteraciones de ajuste de hiperparámetros y y ciclos de despliegue más rápidos.
  • Grandes modelos lingüísticos (LLM): La creación de modelos básicos y grandes modelos lingüísticos requiere procesar terabytes de datos de texto. La precisión mixta es fundamental en este caso, ya que reduce a la mitad la memoria necesaria para las activaciones. memoria necesaria para las activaciones, lo que permite que modelos con miles de millones de parámetros quepan en clústeres de GPU.

Aplicación de la precisión mixta con Ultralytics

En ultralytics simplifica el uso de la precisión mixta automática (AMP). Por defecto, las rutinas de comprueban si el hardware es compatible y activan AMP para garantizar un rendimiento óptimo.

from ultralytics import YOLO

# Load the YOLO11 model for training
model = YOLO("yolo11n.pt")

# Train using Automatic Mixed Precision (AMP)
# 'amp=True' is the default setting, ensuring faster training on supported GPUs
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)

Precisión mixta frente a términos afines

Resulta útil distinguir la precisión mixta de otros conceptos de optimización y representación de datos:

  • Vs. Media precisión: Media precisión pura (FP16) almacena y calcula todo en formato de 16 bits. Si bien esto maximiza la velocidad, a menudo conduce a inestabilidad numérica y mala convergencia durante el entrenamiento. La precisión mixta mitiga esto conservando una copia maestra FP32 para actualizar los pesos de forma estable.
  • Vs. Cuantización de modelos: La cuantificación reduce aún más la precisión, convirtiendo normalmente los pesos en enteros (INT8) para optimizar latencia de inferencia y el tamaño tamaño del modelo para dispositivos de la IA. La precisión mixta es principalmente una optimización en tiempo de entrenamiento que utiliza números de coma flotante, mientras que la cuantización se aplica a menudo después del entrenamiento para la inferencia. suele aplicarse después del entrenamiento para la inferencia.
  • Vs. Bfloat16: Brain Floating Point (Bfloat16) es un formato alternativo de 16 bits desarrollado por Google. A diferencia del estándar IEEE 754 FP16, Bfloat16 mantiene el mismo rango de exponentes que FP32, lo que lo hace más robusto frente al desbordamiento por defecto sin un escalado de pérdidas agresivo. Se utiliza habitualmente en la formación de precisión mixta en TPUs y las nuevas GPU.

Soportado por frameworks como PyTorch AMPla precisión mixta sigue siendo una de las formas más eficaces de democratizar el acceso al aprendizaje profundo de alto rendimiento, permitiendo a los desarrolladores entrenar modelos complejos en hardware accesible.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora