Model Quantization
Aprende cómo la cuantización de modelos optimiza Ultralytics YOLO26 para la IA de borde. Descubre cómo reducir la memoria, disminuir la latencia y exportar modelos INT8 para una inferencia más rápida.
La cuantización de modelos es una técnica sofisticada de optimización de modelos que se utiliza para reducir los costes computacionales y de memoria de la ejecución de modelos de aprendizaje profundo. En los flujos de trabajo de entrenamiento estándar, las redes neuronales suelen almacenar parámetros (pesos y sesgos) y mapas de activación utilizando números de coma flotante de 32 bits (FP32). Aunque esta alta precisión garantiza cálculos exactos durante el entrenamiento, a menudo es innecesaria para la inferencia. La cuantización convierte estos valores en formatos de menor precisión, como coma flotante de 16 bits (FP16) o enteros de 8 bits (INT8), lo que reduce eficazmente el tamaño del modelo y acelera la velocidad de ejecución sin comprometer significativamente la precisión.
Por qué es importante la cuantización#
El principal motor de la cuantización es la necesidad de desplegar una IA potente en hardware con recursos limitados. A medida que los modelos de visión artificial como YOLO26 se vuelven más complejos, sus demandas computacionales aumentan. La cuantización aborda tres cuellos de botella críticos:
- Huella de memoria: Al reducir la anchura de bits de los pesos (por ejemplo, de 32 bits a 8 bits), el requisito de almacenamiento del modelo se reduce hasta 4 veces. Esto es vital para las aplicaciones móviles donde el tamaño de la aplicación está restringido.
- Latencia de inferencia: Las operaciones de menor precisión son computacionalmente más baratas. Los procesadores modernos, especialmente aquellos con unidades de procesamiento neuronal (NPU) especializadas, pueden ejecutar operaciones INT8 mucho más rápido que FP32, lo que reduce significativamente la latencia de inferencia.
- Consumo de energía: Mover menos datos a través de la memoria y realizar operaciones aritméticas más simples consume menos energía, lo que prolonga la duración de la batería en dispositivos portátiles y vehículos autónomos.
Comparación con conceptos relacionados#
Es importante diferenciar la cuantización de otras técnicas de optimización, ya que modifican el modelo de formas distintas:
- Cuantización frente a poda: Mientras que la cuantización reduce el tamaño del archivo al disminuir la anchura de bits de los parámetros, la poda de modelos consiste en eliminar por completo las conexiones innecesarias (pesos) para crear una red dispersa. La poda altera la estructura del modelo, mientras que la cuantización altera la representación de los datos.
- Cuantización frente a destilación de conocimientos: La destilación de conocimientos es una técnica de entrenamiento en la que un modelo «estudiante» pequeño aprende a imitar a un modelo «profesor» grande. La cuantización se suele aplicar al modelo estudiante después de la destilación para mejorar aún más el rendimiento de la IA en el borde.
Aplicaciones en el mundo real#
La cuantización permite la visión artificial y la IA en diversas industrias donde la eficiencia es fundamental.
-
Sistemas autónomos: En la industria de la automoción, los coches autónomos deben procesar datos visuales de cámaras y LiDAR en tiempo real. Los modelos cuantizados desplegados en motores de NVIDIA TensorRT permiten a estos vehículos detectar peatones y obstáculos con una latencia de milisegundos, lo que garantiza la seguridad de los pasajeros.
-
Agricultura inteligente: Los drones equipados con cámaras multiespectrales utilizan modelos de detección de objetos cuantizados para identificar enfermedades en los cultivos o supervisar las fases de crecimiento. Ejecutar estos modelos localmente en los sistemas embebidos del dron elimina la necesidad de conexiones celulares poco fiables en campos remotos.
Implementación de la cuantización con Ultralytics#
La librería Ultralytics simplifica el proceso de exportación, permitiendo a los desarrolladores convertir modelos como el vanguardista YOLO26 a formatos cuantizados. La Ultralytics Platform también proporciona herramientas para gestionar estos despliegues sin problemas.
El siguiente ejemplo demuestra cómo exportar un modelo a TFLite con la cuantización INT8 activada. Este proceso implica un paso de calibración en el que el modelo observa datos de ejemplo para determinar el rango dinámico óptimo para los valores cuantizados.
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")Los modelos optimizados se despliegan frecuentemente utilizando estándares interoperables como ONNX o motores de inferencia de alto rendimiento como OpenVINO, lo que garantiza una amplia compatibilidad en diversos ecosistemas de hardware.






