YOLO Vision 2026:
IA de visión

¿Qué es la optimización de modelos? Una guía rápida

Aprende cómo las técnicas de optimización de modelos, como el ajuste de hiperparámetros, la poda de modelos y la cuantización, ayudan a que los modelos de visión artificial funcionen de forma más eficiente.

ABAbirami Vina5 min read
Técnicas de optimización de modelos para visión artificial

La optimización de modelos es un proceso que tiene como objetivo mejorar la eficiencia y el rendimiento de los modelos de aprendizaje automático. Al perfeccionar la estructura y la función de un modelo, la optimización hace posible que los modelos ofrezcan mejores resultados con unos recursos computacionales mínimos y un tiempo de entrenamiento y evaluación reducido.

Este proceso es especialmente importante en campos como la visión por ordenador, donde los modelos suelen requerir recursos sustanciales para analizar imágenes complejas. En entornos con limitaciones de recursos como dispositivos móviles o sistemas perimetrales, los modelos optimizados pueden funcionar bien con recursos limitados sin dejar de ser precisos.

Se suelen utilizar varias técnicas para lograr la optimización de modelos, entre las que se incluyen el ajuste de hiperparámetros, la poda de modelos, la cuantización de modelos y la precisión mixta. En este artículo, exploraremos estas técnicas y los beneficios que aportan a las aplicaciones de visión por ordenador. ¡Empecemos!

Entender la optimización de modelos#

Los modelos de visión por ordenador suelen tener capas profundas y estructuras complejas que son excelentes para reconocer patrones intrincados en las imágenes, pero también pueden ser muy exigentes en cuanto a potencia de procesamiento. Cuando estos modelos se despliegan en dispositivos con hardware limitado, como teléfonos móviles o dispositivos perimetrales, pueden enfrentarse a ciertos desafíos o limitaciones.

La potencia de procesamiento, la memoria y la energía limitadas en estos dispositivos pueden provocar caídas notables en el rendimiento, ya que los modelos luchan por mantenerse al día. Las técnicas de optimización de modelos son clave para abordar estas preocupaciones. Ayudan a simplificar el modelo, a reducir sus necesidades computacionales y a garantizar que pueda seguir funcionando de forma eficaz, incluso con recursos limitados. La optimización de modelos se puede realizar simplificando la arquitectura del modelo, reduciendo la precisión de los cálculos o eliminando componentes innecesarios para hacer que el modelo sea más ligero y rápido.

Diagram of reasons to optimize your models

Fig 1. Razones para optimizar tus modelos. Imagen del autor.

Aquí tienes algunas de las técnicas de optimización de modelos más comunes, que exploraremos con más detalle en las siguientes secciones:

  • Ajuste de hiperparámetros: Consiste en ajustar sistemáticamente los hiperparámetros, como la tasa de aprendizaje y el tamaño del lote, para mejorar el rendimiento del modelo.
  • Poda de modelos: Esta técnica elimina los pesos y las conexiones innecesarias de la red neuronal, lo que reduce su complejidad y coste computacional.
  • Cuantización de modelos: La cuantización consiste en reducir la precisión de los pesos y las activaciones del modelo, normalmente de 32 bits a 16 bits o 8 bits, lo que reduce significativamente el consumo de memoria y los requisitos computacionales.
  • Ajustes de precisión: También conocido como entrenamiento de precisión mixta, consiste en utilizar diferentes formatos de precisión para distintas partes del modelo y optimizar el uso de recursos sin comprometer la precisión.

Explicado: Los hiperparámetros en los modelos de aprendizaje automático#

Puedes ayudar a que un modelo aprenda y rinda mejor ajustando sus hiperparámetros, que son los ajustes que configuran cómo aprende el modelo a partir de los datos. El ajuste de hiperparámetros es una técnica para optimizar estos ajustes, mejorando la eficiencia y la precisión del modelo. A diferencia de los parámetros que el modelo aprende durante el entrenamiento, los hiperparámetros son valores preestablecidos que guían el proceso de entrenamiento.

Repasemos algunos ejemplos de hiperparámetros que pueden ajustarse:

  • Tasa de aprendizaje: Este parámetro controla el tamaño del paso que da el modelo para ajustar sus pesos internos. Una tasa de aprendizaje más alta puede acelerar el aprendizaje, pero corre el riesgo de no alcanzar la solución óptima, mientras que una tasa más baja puede ser más lenta pero más precisa.
  • Tamaño del lote: Define cuántas muestras de datos se procesan en cada paso de entrenamiento. Los tamaños de lote más grandes ofrecen un aprendizaje más estable, pero necesitan más memoria. Los lotes más pequeños se entrenan más rápido, pero pueden ser menos estables.
  • Épocas: Puedes determinar cuántas veces ve el modelo el conjunto de datos completo utilizando este parámetro. Un mayor número de épocas puede mejorar la precisión, pero conlleva el riesgo de sobreajuste.
  • Tamaño del núcleo: Define el tamaño del filtro en las Redes Neuronales Convolucionales (CNN). Los núcleos más grandes capturan patrones más amplios pero necesitan más procesamiento; los núcleos más pequeños se centran en detalles más finos.

Cómo funciona el ajuste de hiperparámetros#

El ajuste de hiperparámetros generalmente comienza definiendo un rango de valores posibles para cada hiperparámetro. A continuación, un algoritmo de búsqueda explora diferentes combinaciones dentro de estos rangos para identificar los ajustes que producen el mejor rendimiento.

Los métodos de ajuste comunes incluyen la búsqueda en cuadrícula, la búsqueda aleatoria y la optimización bayesiana. La búsqueda en cuadrícula prueba cada combinación posible de valores dentro de los rangos especificados. La búsqueda aleatoria selecciona combinaciones al azar, a menudo encontrando configuraciones efectivas más rápidamente. La optimización bayesiana utiliza un modelo probabilístico para predecir valores de hiperparámetros prometedores basados en resultados previos. Este enfoque normalmente reduce el número de pruebas necesarias.

En última instancia, para cada combinación de hiperparámetros, se evalúa el rendimiento del modelo. El proceso se repite hasta alcanzar los resultados deseados.

Hiperparámetros frente a parámetros del modelo#

Mientras trabajas en el ajuste de hiperparámetros, es posible que te preguntes cuál es la diferencia entre los hiperparámetros y los parámetros del modelo.

Los hiperparámetros son valores establecidos antes del entrenamiento que controlan cómo aprende el modelo, como la tasa de aprendizaje o el tamaño del lote. Estos ajustes son fijos durante el entrenamiento e influyen directamente en el proceso de aprendizaje. Los parámetros del modelo, por otro lado, son aprendidos por el propio modelo durante el entrenamiento. Estos incluyen los pesos y los sesgos, que se ajustan a medida que el modelo se entrena y, en última instancia, guían sus predicciones. En esencia, los hiperparámetros dan forma al proceso de aprendizaje, mientras que los parámetros del modelo son los resultados de ese proceso de aprendizaje.

Comparison of parameters and hyperparameters

Fig. 2 Comparación de parámetros e hiperparámetros.

Por qué la poda de modelos es importante en el aprendizaje profundo#

La poda de modelos es una técnica de reducción de tamaño que elimina los pesos y parámetros innecesarios de un modelo, haciéndolo más eficiente. En la visión por ordenador, especialmente con redes neuronales profundas, una gran cantidad de parámetros, como los pesos y las activaciones (resultados intermedios que ayudan a calcular el resultado final), pueden aumentar tanto la complejidad como las demandas computacionales. La poda ayuda a simplificar el modelo mediante la identificación y eliminación de parámetros que contribuyen mínimamente al rendimiento, lo que da como resultado un modelo más ligero y eficiente.

Neural network before and after model pruning

Fig. 3 Antes y después de la poda del modelo.

Después de entrenar el modelo, técnicas como la poda basada en magnitud o el análisis de sensibilidad pueden evaluar la importancia de cada parámetro. Los parámetros de baja importancia se podan utilizando una de las tres técnicas principales: poda de pesos, poda de neuronas o poda estructurada.

La poda de pesos elimina conexiones individuales con un impacto mínimo en la salida. La poda de neuronas elimina neuronas enteras cuyas salidas aportan poco a la función del modelo. La poda estructurada elimina secciones más grandes, como filtros convolucionales o neuronas en capas totalmente conectadas, optimizando la eficiencia del modelo. Una vez completada la poda, el modelo se vuelve a entrenar para ajustar con precisión los parámetros restantes, lo que garantiza que mantenga una gran precisión en un formato reducido.

Reducción de la latencia en modelos de IA con cuantización#

La cuantización de modelos reduce el número de bits utilizados para representar los pesos y las activaciones de un modelo. Por lo general, convierte los valores de coma flotante de 32 bits de alta precisión en una precisión inferior, como enteros de 16 bits o 8 bits. Al reducir la precisión de los bits, la cuantización disminuye significativamente el tamaño del modelo, el uso de memoria y el coste computacional.

En la visión por ordenador, los números de coma flotante de 32 bits son estándar, pero la conversión a 16 o 8 bits puede mejorar la eficiencia. Existen dos tipos principales de cuantización: la cuantización de pesos y la cuantización de activaciones. La cuantización de pesos reduce la precisión de los pesos del modelo, equilibrando la reducción de tamaño con la precisión. La cuantización de activaciones reduce la precisión de las activaciones, disminuyendo aún más la memoria y los requisitos computacionales.

Quantization from 32-bit float to 8-bit integer

Fig. 4 Un ejemplo de cuantización de coma flotante de 32 bits a entero de 8 bits.

Cómo la precisión mixta acelera las inferencias de IA#

La precisión mixta es una técnica que utiliza diferentes precisiones numéricas para varias partes de una red neuronal. Al combinar valores de mayor precisión, como los números de coma flotante de 32 bits, con valores de menor precisión, como los de 16 o 8 bits, la precisión mixta hace posible que los modelos de visión por ordenador aceleren el entrenamiento y reduzcan el uso de memoria sin sacrificar la precisión.

Durante el entrenamiento, la precisión mixta se logra utilizando una precisión más baja en capas específicas mientras se mantiene una precisión más alta donde sea necesario en toda la red. Esto se hace mediante la conversión de tipos y el escalado de pérdidas. La conversión de tipos cambia los tipos de datos entre diferentes precisiones según lo requiera el modelo. El escalado de pérdidas ajusta la precisión reducida para evitar el desbordamiento numérico (underflow), asegurando un entrenamiento estable. La precisión mixta es especialmente útil para modelos grandes y tamaños de lote grandes.

Mixed precision training using FP16 and FP32 floating-point types

Fig. 5 El entrenamiento de precisión mixta utiliza tipos de coma flotante de 16 bits (FP16) y de 32 bits (FP32).

Equilibrar la precisión y la eficiencia del modelo#

Ahora que hemos cubierto varias técnicas de optimización de modelos, hablemos de cómo decidir cuál utilizar según tus necesidades específicas. La elección depende de factores como el hardware disponible, las restricciones computacionales y de memoria del entorno de despliegue y el nivel de precisión requerido.

Por ejemplo, los modelos más pequeños y rápidos son más adecuados para dispositivos móviles con recursos limitados, mientras que los modelos más grandes y precisos se pueden utilizar en sistemas de alto rendimiento. Así es como cada técnica se alinea con diferentes objetivos:

  • Poda: Es ideal para reducir el tamaño del modelo sin afectar significativamente la precisión, lo que la hace perfecta para dispositivos con recursos limitados, como teléfonos móviles o dispositivos del Internet de las Cosas (IoT).
  • Cuantización: Una excelente opción para reducir el tamaño del modelo y acelerar la inferencia, especialmente en dispositivos móviles y sistemas embebidos con memoria y potencia de procesamiento limitadas. Funciona bien para aplicaciones en las que se aceptan ligeras reducciones de precisión.
  • Precisión mixta: Diseñada para modelos a gran escala, esta técnica reduce el uso de memoria y acelera el entrenamiento en hardware como GPU y TPU que admiten operaciones de precisión mixta. A menudo se utiliza en tareas de alto rendimiento donde la eficiencia importa.
  • Ajuste de hiperparámetros: Aunque es computacionalmente intensivo, es esencial para aplicaciones que requieren una gran precisión, como la imagen médica o la conducción autónoma.

Conclusiones clave#

La optimización de modelos es una parte vital del aprendizaje automático, especialmente para desplegar IA en aplicaciones del mundo real. Técnicas como el ajuste de hiperparámetros, la poda de modelos, la cuantización y la precisión mixta ayudan a mejorar el rendimiento, la eficiencia y el uso de recursos de los modelos de visión artificial. Estas optimizaciones hacen que los modelos sean más rápidos y menos intensivos en recursos, lo cual es ideal para dispositivos con memoria y potencia de procesamiento limitadas. Los modelos optimizados también son más fáciles de escalar y desplegar a través de diferentes plataformas, permitiendo soluciones de IA que sean tanto efectivas como adaptables a una amplia gama de usos.

Visita el repositorio de GitHub de Ultralytics y únete a nuestra comunidad para obtener más información sobre las aplicaciones de la IA en la fabricación y la agricultura.

Explore solutions

Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu viaje con el futuro del aprendizaje automático