Glosario

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 técnica crucial de optimización de modelos utilizada en el aprendizaje profundo (deep learning, DL) para reducir los costes computacionales y de memoria de los modelos. Esto se consigue convirtiendo la precisión numérica de los parámetros del modelo(pesos y activaciones) de representaciones de mayor precisión, normalmente números de coma flotante de 32 bits(FP32), a formatos de menor precisión, como coma flotante de 16 bits (FP16), enteros de 8 bits(INT8) o incluso representaciones de bits inferiores. Este proceso hace que los modelos de aprendizaje automático sean más pequeños, más rápidos y más eficientes desde el punto de vista energético, lo que es especialmente importante para implantar modelos complejos en entornos con recursos limitados, como dispositivos móviles o sistemas de IA periféricos.

Cómo funciona la cuantificación de modelos

En esencia, la cuantización de modelos consiste en asignar el rango de valores que se encuentran en los tensores de alta precisión (como los pesos y las activaciones en FP32) a un rango más pequeño representable por tipos de datos de menor precisión (como INT8). Esta conversión reduce significativamente la memoria necesaria para almacenar el modelo y los recursos computacionales necesarios para la inferencia, ya que las operaciones con números de menor precisión (especialmente enteros) son a menudo más rápidas y energéticamente más eficientes en hardware moderno como GPUs, CPUs y aceleradores especializados como TPUs o NPUs. El objetivo es lograr estas mejoras de eficiencia con un impacto mínimo en el rendimiento predictivo del modelo.

Ventajas de la cuantificación de modelos

Aplicar la cuantización a los modelos de aprendizaje profundo ofrece varias ventajas clave:

  • Reducción del tamaño de los modelos: Los tipos de datos de menor precisión requieren menos espacio de almacenamiento, lo que hace que los modelos sean más fáciles de almacenar y distribuir, especialmente para la implantación en el dispositivo.
  • Mayor velocidad de inferencia: Los cálculos con números de menor precisión (especialmente enteros) se ejecutan más rápido en hardware compatible, lo que reduce la latencia de inferencia. Esto es fundamental para las aplicaciones en tiempo real.
  • Eficiencia energética mejorada: Los cálculos más rápidos y el menor acceso a la memoria reducen el consumo de energía y prolongan la duración de la batería de los dispositivos móviles y de última generación.
  • Compatibilidad de hardware mejorada: Muchos aceleradores de hardware especializados(TPU Edge, NPU en procesadores ARM) están optimizados para la aritmética de enteros de baja precisión, lo que permite aumentar considerablemente el rendimiento de los modelos cuantizados.

Técnicas de cuantificación

Existen dos enfoques principales para la cuantificación de modelos:

  • Cuantización post-entrenamiento (PTQ): Este método consiste en cuantificar un modelo que ya ha sido entrenado utilizando precisión de punto flotante estándar. Es más sencillo de aplicar, ya que no requiere reentrenamiento ni acceso a los datos de entrenamiento originales. Sin embargo, a veces puede provocar una caída notable en la precisión del modelo. Herramientas como TensorFlow Model Optimization Toolkit proporcionan capacidades PTQ.
  • Quantization-Aware Training (QAT): Esta técnica simula los efectos de la cuantización durante el proceso de entrenamiento del modelo. Al hacer que el modelo sea "consciente" de la próxima reducción de precisión, QAT a menudo logra una mejor precisión en comparación con PTQ, especialmente para los modelos sensibles a la cuantización, aunque requiere modificaciones en el flujo de trabajo de formación y el acceso a los datos de formación. PyTorch ofrece soporte para QAT.

Aplicaciones reales

La cuantificación de modelos se utiliza ampliamente en diversos ámbitos:

  • Aplicaciones de visión móvil: Permitir tareas sofisticadas de visión por ordenador como la detección de objetos en tiempo real (por ejemplo, utilizando un modelo YOLO cuantificado de Ultralytics) o la segmentación de imágenes directamente en smartphones para aplicaciones como la realidad aumentada, la edición de fotos o la búsqueda visual. La cuantización hace que estos exigentes modelos sean viables en hardware móvil.
  • Vehículos autónomos y robótica: Despliegue de modelos de percepción (para detectar peatones, vehículos, obstáculos) en coches o drones donde la baja latencia y la eficiencia energética son primordiales para la seguridad y la resistencia operativa. Los modelos cuantificados ayudan a cumplir estos estrictos requisitos de procesamiento en tiempo real.
  • Dispositivos Edge AI: Ejecución de modelos de IA para tareas como la detección de defectos industriales, la automatización del hogar inteligente o la monitorización de la salud de los usuarios en microcontroladores de bajo consumo o procesadores de borde especializados.

Consideraciones y conceptos relacionados

Aunque es muy beneficiosa, la cuantización puede afectar a la precisión del modelo. Tras la cuantización, es esencial realizar una evaluación cuidadosa utilizando métricas de rendimiento relevantes. Técnicas como el uso de arquitecturas de modelos que faciliten la cuantización (por ejemplo, la sustitución de ciertas funciones de activación, como se ha visto en YOLO-NAS) pueden ayudar a mitigar la degradación de la precisión, como se discutió en el despliegue de modelos cuantificados YOLOv8.

La cuantización de modelos es una de las diversas técnicas de optimización de modelos. Otras son:

  • Poda de modelos: Eliminación de conexiones (pesos) redundantes o sin importancia en la red neuronal.
  • Precisión mixta: Utilización de una combinación de diferentes precisiones numéricas (por ejemplo, FP16 y FP32) durante el entrenamiento o la inferencia.
  • Destilación de conocimientos: Entrenamiento de un modelo "alumno" más pequeño para que imite el comportamiento de un modelo "maestro" más grande y previamente entrenado.

Ultralytics admite la exportación de modelos a varios formatos que facilitan la cuantificación y el despliegue, incluidos ONNX, OpenVINO (optimizado para hardware Intel), TensorRT (para GPU NVIDIA), CoreML (para dispositivos Apple) y TFLite, lo que permite un despliegue eficiente de modelos en diversas plataformas de hardware. Puede gestionar y desplegar sus modelos, incluidas las versiones cuantizadas, utilizando herramientas como Ultralytics HUB. Las integraciones como Neural Magic también aprovechan la cuantificación para la optimización de la CPU.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles