Optimice el rendimiento de la IA con la cuantificación de modelos. Reduzca el tamaño, aumente la velocidad y mejore la eficiencia energética para implementaciones en el mundo real.
La cuantización de modelos es una técnica transformadora del aprendizaje automático diseñada para reducir los costes computacionales y de memoria de redes neuronales. Al convertir los parámetros del modelo -específicamente pesos y activaciones- de números de coma flotante de alta precisión (normalmente 32 bits, conocidos como FP32) a formatos de menor precisión, como enteros de 8 bits (INT8), los desarrolladores pueden reducir significativamente el tamaño del archivo del modelo. modelo. Este proceso es esencial para despliegue eficiente de modelos en hardware con recursos limitados, garantizando que las sofisticadas capacidades de IA puedan ejecutarse sin problemas en todo tipo de dispositivos, desde smartphones hasta sensores industriales. sensores industriales.
El mecanismo central de la cuantización consiste en convertir una amplia gama de valores continuos en un conjunto más pequeño de valores discretos. discretos. En un modelo típico de aprendizaje profundo, los parámetros se almacenan como números de coma flotante de 32 bits para mantener una alta precisión durante la fase de entrenamiento. precisión durante la fase de entrenamiento. Sin embargo, durante la Sin embargo, durante la inferencia -la fase en la que el modelo realiza predicciones- este nivel de precisión suele ser innecesario.
La cuantización comprime estos valores, lo que reduce el ancho de banda de memoria necesario para obtener los pesos del modelo. pesos del modelo y acelera las operaciones matemáticas. El hardware moderno, incluidas las CPU y aceleradores especializados como las GPU de instrucciones específicas para la aritmética de enteros, que son más rápidas y energéticamente punto flotante. Esta optimización ayuda a minimizar latencia de inferencia, proporcionando una experiencia en aplicaciones en tiempo real.
Existen dos enfoques principales para aplicar esta optimización, cada uno de los cuales sirve para diferentes etapas del ciclo de vida del desarrollo desarrollo:
La cuantificación es la piedra angular de la IA Edge, ya que permite realizar tareas complejas se realicen localmente en los dispositivos sin depender de la conectividad en la nube.
El marco de trabajo Ultralytics simplifica el proceso de exportación de modelos a formatos que facilitan la cuantificación. El siguiente ejemplo muestra cómo exportar un modelo YOLO11 a TFLite con la cuantización INT8 activada. Este proceso gestiona automáticamente la calibración utilizando los datos especificados.
from ultralytics import YOLO
# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")
# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")
Resulta útil distinguir la cuantificación de otras estrategias de optimización de modelos, ya que a menudo se utilizan conjuntamente pero funcionan de forma diferente:
A medida que los aceleradores de hardware se especializan, la importancia de la cuantización sigue creciendo. La investigación futura Ultralytics como el próximo YOLO26, tiene como objetivo aumentar la eficiencia la eficiencia mediante el diseño de arquitecturas que sean nativamente robustas a la cuantización agresiva, garantizando que visión por ordenador de alto rendimiento sea accesible incluso en los dispositivos más pequeños.
Para una mayor compatibilidad, los modelos cuantificados suelen desplegarse utilizando normas interoperables como ONNX o motores de inferencia optimizados como TensorRT y OpenVINO.