Cuantificación de modelos
Optimice el rendimiento de la IA con la cuantización de modelos. Reduzca el tamaño, aumente la velocidad y mejore la eficiencia energética para implantaciones en el mundo real.
La cuantización de modelos es una potente técnica de optimización de modelos que reduce la huella de memoria y el coste computacional de una red neuronal (NN ) convirtiendo sus pesos y activaciones de números de coma flotante de alta precisión (como los flotantes de 32 bits o FP32) a tipos de datos de menor precisión, como los enteros de 8 bits (INT8). Este proceso hace que los modelos sean mucho más pequeños y rápidos, lo que permite su despliegue en hardware con recursos limitados, como teléfonos móviles y sistemas integrados. El objetivo principal es mejorar el rendimiento, sobre todo la latencia de la inferencia, con un impacto mínimo en la precisión predictiva del modelo.
Cómo funciona la cuantificación de modelos
El proceso de cuantización consiste en convertir el rango continuo de valores de coma flotante de un modelo entrenado en un conjunto discreto más pequeño de valores enteros. Esta conversión reduce el número de bits necesarios para almacenar cada parámetro, lo que disminuye el tamaño total del modelo. Además, los cálculos que utilizan números enteros de menor precisión son mucho más rápidos en muchas CPU modernas y aceleradores de IA especializados como GPU y TPU, que tienen instrucciones específicas para la aritmética de números enteros.
Existen dos métodos principales para aplicar la cuantización:
- Cuantificación posterior al entrenamiento (PTQ): Este es el enfoque más sencillo, en el que un modelo ya entrenado se convierte a un formato de menor precisión. Se trata de un proceso rápido que consiste en analizar la distribución de pesos y activaciones en un pequeño conjunto de datos de calibración para determinar la asignación óptima de flotante a entero.
- Entrenamiento consciente de la cuantización (QAT): En este método, el modelo se entrena o ajusta simulando los efectos de la cuantización. El paso anterior del proceso de entrenamiento imita la inferencia cuantizada, lo que permite al modelo adaptarse a la precisión reducida. QAT suele ofrecer mayor precisión que PTQ porque el modelo aprende a compensar la posible pérdida de información durante la fase de entrenamiento. Frameworks como PyTorch y TensorFlow proporcionan herramientas robustas para implementar QAT.
Aplicaciones reales
La cuantización es fundamental para ejecutar sofisticados modelos de visión por ordenador en escenarios reales, especialmente en dispositivos Edge AI.
- Análisis de imágenes en el dispositivo: Muchas aplicaciones de teléfonos inteligentes utilizan modelos cuantizados para funciones en tiempo real. Por ejemplo, una aplicación que proporciona detección de objetos en directo a través de la cámara, como la identificación de productos o puntos de referencia, depende de un modelo cuantizado como Ultralytics YOLO11 para ejecutarse de forma eficiente en el hardware del teléfono sin agotar la batería ni requerir una conexión a la nube.
- Automoción y robótica: En los vehículos autónomos, los modelos de detección de peatones y mantenimiento de carril deben funcionar con una latencia extremadamente baja. La cuantificación de estos modelos permite ejecutarlos en hardware especializado como las TPU NVIDIA Jetson o Google Coral Edge, lo que garantiza que las decisiones se tomen en fracciones de segundo, algo crucial para la seguridad.
Cuantización frente a otras técnicas de optimización
La cuantificación de modelos se utiliza a menudo junto con otros métodos de optimización, pero su enfoque es distinto.
- Poda de modelos: Esta técnica elimina las conexiones (pesos) redundantes o sin importancia dentro de la red neuronal para reducir su tamaño y complejidad. Mientras que la poda reduce el tamaño de la red eliminando partes de ella, la cuantización hace que las partes restantes sean más eficientes reduciendo su precisión numérica. A menudo se combinan ambos métodos para lograr la máxima optimización.
- Destilación de conocimientos: Consiste en entrenar a un modelo "alumno" más pequeño para que imite a un modelo "maestro" más grande y previamente entrenado. El objetivo es transferir los conocimientos del maestro a una arquitectura más compacta. Esto difiere de la cuantización, que modifica la representación numérica de un modelo existente en lugar de entrenar uno nuevo.
- Precisión mixta: Esta técnica utiliza una combinación de diferentes precisiones numéricas (por ejemplo, FP16 y FP32) durante el entrenamiento del modelo para acelerar el proceso y reducir el uso de memoria. Aunque está relacionada, se trata principalmente de una optimización del entrenamiento, mientras que la cuantización suele centrarse en optimizar el modelo para la inferencia.
Consideraciones y apoyo
Aunque es muy beneficiosa, la cuantización puede afectar a la precisión del modelo. Es esencial realizar una evaluación exhaustiva utilizando las métricas de rendimiento pertinentes después de la cuantización para garantizar que la compensación de rendimiento es aceptable.
Ultralytics facilita el despliegue de modelos cuantificados mediante la exportación a formatos compatibles con la cuantificación. Entre ellos se incluyen ONNX para una amplia compatibilidad, OpenVINO para la optimización en hardware Intel y TensorRT para un alto rendimiento en GPU NVIDIA. Plataformas como Ultralytics HUB pueden ayudar a gestionar todo el ciclo de vida, desde la formación hasta la implantación de modelos optimizados. Las integraciones con herramientas como Neural Magic también aprovechan la cuantización y la poda para lograr un rendimiento de clase GPU en CPU.