Quantization-Aware Training (QAT)
Aprende cómo el entrenamiento consciente de la cuantización (QAT) optimiza los modelos Ultralytics YOLO26 para su implementación en el edge. Descubre cómo mantener una alta precisión con precisión INT8.
El entrenamiento consciente de la cuantizació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 con números de coma flotante de 32 bits (FP32) de alta precisión. Aunque esta precisión ofrece una exactitud excelente, puede requerir muchos recursos computacionales y de memoria, especialmente en dispositivos periféricos. QAT simula los efectos de la cuantización —reducir la precisión a formatos como los enteros de 8 bits (INT8)— mientras el modelo aún se está entrenando. Al introducir estos errores de cuantización durante el proceso de aprendizaje, el modelo aprende a adaptar sus pesos y a recuperar eficazmente la exactitud que, de otro modo, podría perderse durante la conversión posterior al entrenamiento.
Por qué es importante QAT para la implementación en dispositivos periféricos#
La implementación de modelos de visión por ordenador en dispositivos con recursos limitados suele requerir un equilibrio entre velocidad y rendimiento. Los métodos de cuantización estándar, conocidos como cuantización posterior al entrenamiento (PTQ), aplican la reducción de precisión únicamente después de que el modelo se haya entrenado por completo. Aunque PTQ es rápido, en ocasiones puede degradar la exactitud de los modelos sensibles, ya que los pesos de la red neuronal se alteran considerablemente sin posibilidad de ajustarlos.
QAT resuelve este problema al permitir que el modelo «practique» estar cuantizado. Durante la pasada hacia delante 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 una forma que minimice la pérdida específicamente para el estado cuantizado. El resultado es un modelo robusto que conserva una gran exactitud incluso cuando se implementa en hardware como microcontroladores o procesadores móviles.
Diferencias entre QAT y la cuantización posterior al entrenamiento (PTQ)#
Es útil distinguir QAT de la cuantización de modelos, concretamente de la cuantización posterior al entrenamiento (PTQ):
- Cuantización posterior al entrenamiento (PTQ): El modelo se entrena normalmente en FP32. Una vez finalizado el entrenamiento, los pesos se convierten a INT8. Este proceso es más rápido y no requiere volver a entrenar el modelo, pero puede provocar una mayor pérdida de exactitud en arquitecturas complejas.
- Entrenamiento consciente de la cuantización (QAT): El proceso de cuantización se emula durante la fase de ajuste fino. El modelo ajusta sus parámetros internos para adaptarse al ruido introducido por la menor precisión, lo que normalmente produce una exactitud mayor que PTQ.
Aplicaciones en el mundo real#
QAT es esencial en sectores en los que la inferencia en tiempo real sobre hardware periférico es fundamental.
- Drones autónomos: En las operaciones con drones de IA, la duración de la batería y la capacidad de procesamiento a bordo son muy limitadas. Los drones que utilizan modelos optimizados mediante QAT pueden detectar obstáculos o seguir objetos con gran precisión mientras usan aceleradores INT8, ampliando considerablemente el tiempo de vuelo en comparación con los modelos FP32.
- Cámaras inteligentes para comercios: Los supermercados utilizan la visión por ordenador en el comercio minorista para supervisar el inventario de los estantes o gestionar las colas de las cajas. Estos sistemas suelen ejecutarse en puertas de enlace periféricas de bajo consumo. QAT garantiza que los modelos de detección de objetos que se ejecutan en estos dispositivos mantengan la exactitud necesaria para distinguir entre productos similares sin requerir una conexión costosa a la nube.
Implementación de QAT con Ultralytics#
La plataforma de Ultralytics y el ecosistema YOLO admiten la exportación de modelos a formatos cuantizados. Aunque QAT es un procedimiento de entrenamiento complejo, los frameworks modernos facilitan la preparación de modelos para la inferencia cuantizada.
A continuación se muestra un ejemplo de cómo podrías exportar un modelo YOLO26 entrenado a un formato TFLite cuantizado en INT8, que utiliza los principios de la cuantización para una implementación eficiente en dispositivos periféricos.
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)Integración con ecosistemas periféricos#
Los modelos optimizados mediante técnicas de cuantización están diseñados para ejecutarse en motores de inferencia especializados. Los modelos entrenados con QAT se implementan con frecuencia mediante ONNX Runtime para garantizar la compatibilidad multiplataforma o mediante OpenVINO para optimizarlos en hardware Intel. Esto garantiza que, tanto si el destino es una Raspberry Pi como un Edge TPU específico, el modelo funcione con la máxima eficiencia y velocidad posibles.
Conceptos clave relacionados con QAT#
Para comprender plenamente QAT, es útil familiarizarse con varios conceptos relacionados del aprendizaje automático:
- Precisión: Hace referencia al nivel de detalle utilizado para representar los números. La precisión media (FP16) y INT8 son objetivos habituales de la cuantización.
- Calibración: Proceso de determinar el rango de los valores dinámicos de activación (mínimo/máximo) para asignar eficazmente números de coma flotante a enteros. Este es un paso crucial para implementar modelos YOLO cuantizados.
- Latencia de inferencia: Uno de los principales beneficios de QAT es reducir la latencia de inferencia, lo que permite tomar decisiones más rápidamente en sistemas en tiempo real.
- Ajuste fino: QAT suele realizarse como un paso de ajuste fino sobre un modelo preentrenado, en lugar de entrenarlo desde cero, lo que ahorra recursos computacionales.
Al integrar el entrenamiento consciente de la cuantización en la canalización de MLOps, los desarrolladores pueden salvar la distancia entre los modelos de investigación de gran exactitud y las aplicaciones de IA periférica altamente eficientes y listas para producción.









