Descubra cómo el entrenamiento con conciencia de cuantificación (QAT) optimiza los modelos Ultralytics para su implementación en el borde. Descubra cómo mantener una alta precisión con INT8.
El entrenamiento consciente de la cuantificación (QAT) es una técnica especializada que se utiliza durante la fase de entrenamiento de los modelos de aprendizaje automático para prepararlos para entornos de menor precisión. En los flujos de trabajo estándar de aprendizaje profundo, los modelos suelen funcionar utilizando números de coma flotante de 32 bits de alta precisión (FP32). Aunque esta precisión ofrece una excelente exactitud, puede ser computacionalmente costosa y requerir mucha memoria, especialmente en dispositivos periféricos. El QAT simula los efectos de la cuantización, reduciendo la precisión a formatos como los enteros de 8 bits (INT8), mientras el modelo sigue entrenándose. Al introducir estos errores de cuantización durante el proceso de aprendizaje, el modelo aprende a adaptar sus pesos y recuperar eficazmente la precisión que, de otro modo, se perdería durante la conversión posterior al entrenamiento.
La implementación de modelos de visión artificial en dispositivos con recursos limitados a menudo requiere un equilibrio entre velocidad y rendimiento. Los métodos de cuantificación estándar, conocidos como cuantificación posterior al entrenamiento (PTQ), aplican la reducción de precisión solo después de que el modelo se ha entrenado por completo. Aunque la PTQ es rápida, a veces puede degradar la precisión de los modelos sensibles, ya que los pesos de la red neuronal se alteran significativamente sin posibilidad de ajuste.
QAT resuelve esto permitiendo que el modelo «practique» la cuantificación. Durante la pasada directa del entrenamiento, los pesos y las activaciones se simulan como valores de baja precisión. Esto permite que el proceso de descenso de gradiente actualice los parámetros del modelo de manera que se minimice la pérdida específicamente para el estado cuantificado. El resultado es un modelo robusto que mantiene una alta precisión incluso cuando se implementa en hardware como microcontroladores o procesadores móviles.
Es útil distinguir la QAT de la cuantización de modelos, concretamente de la cuantización posterior al entrenamiento (PTQ):
QAT es esencial para industrias en las que la inferencia en tiempo real en hardware periférico es fundamental.
La Ultralytics y el YOLO admiten la exportación de modelos a formatos cuantificados. Aunque el QAT es un procedimiento de entrenamiento complejo, los marcos modernos facilitan la preparación de modelos para la inferencia cuantificada.
A continuación se muestra un ejemplo de cómo se puede exportar un modelo YOLO26 entrenado a un TFLite cuantificado INT8, que utiliza los principios de cuantificación para un despliegue eficiente en el borde.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Los modelos optimizados mediante técnicas de cuantificación están diseñados para ejecutarse en motores de inferencia especializados. Los modelos entrenados con QAT se implementan con frecuencia utilizando ONNX para la compatibilidad entre plataformas o OpenVINO para la optimización en Intel . Esto garantiza que, tanto si el objetivo es una Raspberry Pi como una TPU Edge dedicada, el modelo funcione con la mayor eficiencia y velocidad posibles.
Para comprender plenamente el QAT, es útil estar familiarizado con varios conceptos relacionados con el aprendizaje automático:
Al integrar el entrenamiento con reconocimiento de cuantificación en el proceso de MLOps, los desarrolladores pueden salvar la brecha entre los modelos de investigación de alta precisión y las aplicaciones de IA de vanguardia altamente eficientes y listas para la producción.