Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
IA visual

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

Descubre cómo técnicas de optimización de modelos como el ajuste de hiperparámetros, la poda de modelos y la cuantización de modelos pueden mejorar la eficiencia de los modelos de visión artificial.

Abirami VinaAbirami Vina10 min de lectura
Técnicas de optimización de modelos para visión artificial

La optimización de modelos es un proceso cuyo objetivo es mejorar la eficiencia y el rendimiento de los modelos de aprendizaje automático. Al perfeccionar la estructura y el funcionamiento de un modelo, la optimización permite obtener mejores resultados con recursos computacionales mínimos y reducir el tiempo de entrenamiento y evaluación.

Este proceso es especialmente importante en ámbitos como la visión artificial, donde los modelos suelen necesitar recursos considerables para analizar imágenes complejas. En entornos con recursos limitados, como los dispositivos móviles o los sistemas periféricos, los modelos optimizados pueden funcionar bien con recursos limitados sin dejar de ser precisos.

Para optimizar modelos se suelen utilizar varias técnicas, como 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 las ventajas que aportan a las aplicaciones de visión artificial.

Comprender la optimización de modelos#

Los modelos de visión artificial suelen tener capas profundas y estructuras complejas, ideales para reconocer patrones intrincados en imágenes, pero también pueden exigir una gran capacidad de procesamiento. Cuando estos modelos se implementan en dispositivos con hardware limitado, como teléfonos móviles o dispositivos periféricos, pueden encontrarse con ciertos retos o limitaciones.

La limitada capacidad de procesamiento, memoria y energía de estos dispositivos puede provocar una caída notable del rendimiento, ya que los modelos tienen dificultades para mantener el ritmo. Las técnicas de optimización de modelos son clave para resolver estos problemas. Ayudan a simplificar el modelo, reducir sus necesidades computacionales y garantizar que siga funcionando eficazmente, incluso con recursos limitados. La optimización de modelos puede llevarse a cabo simplificando la arquitectura del modelo, reduciendo la precisión numérica de los cálculos o eliminando componentes innecesarios para que el modelo sea más ligero y rápido.

Diagrama de los motivos para optimizar tus modelos

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

Estas son algunas de las técnicas de optimización de modelos más habituales, que analizaremos con más detalle en las siguientes secciones:

  • Ajuste de hiperparámetros: Consiste en ajustar sistemáticamente 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 pesos y conexiones innecesarios 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 u 8 bits, lo que reduce considerablemente la memoria ocupada y las necesidades computacionales.
  • Ajustes de precisión: También conocido como entrenamiento con precisión mixta, consiste en utilizar formatos de precisión distintos para diferentes partes del modelo y optimizar el uso de recursos sin comprometer la precisión.

Explicación de los hiperparámetros en los modelos de aprendizaje automático#

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

Veamos algunos ejemplos de hiperparámetros que se pueden ajustar:

  • 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 conlleva el riesgo de pasar por alto la solución óptima; una tasa más baja puede ofrecer más precisión, pero ser más lenta.
  • Tamaño del lote: Define cuántas muestras de datos se procesan en cada paso de entrenamiento. Los lotes más grandes ofrecen un aprendizaje más estable, pero requieren más memoria. Los lotes más pequeños se entrenan más rápido, pero pueden ser menos estables.
  • Épocas: Este parámetro te permite determinar cuántas veces procesa el modelo el conjunto de datos completo. Un mayor número de épocas puede mejorar la precisión, pero existe el riesgo de sobreajuste.
  • Tamaño del kernel: Define el tamaño del filtro en las redes neuronales convolucionales (CNN). Los kernels más grandes capturan patrones más amplios, pero requieren más procesamiento; los más pequeños se centran en detalles más precisos.

Cómo funciona el ajuste de hiperparámetros#

El ajuste de hiperparámetros suele empezar por definir un intervalo de valores posibles para cada hiperparámetro. A continuación, un algoritmo de búsqueda explora distintas combinaciones dentro de esos intervalos para identificar los valores que ofrecen el mejor rendimiento.

Entre los métodos de ajuste habituales están la búsqueda en cuadrícula, la búsqueda aleatoria y la optimización bayesiana. La búsqueda en cuadrícula prueba todas las combinaciones posibles de valores dentro de los intervalos especificados. La búsqueda aleatoria selecciona combinaciones al azar y, a menudo, encuentra valores eficaces con mayor rapidez. La optimización bayesiana utiliza un modelo probabilístico para predecir valores prometedores de hiperparámetros a partir de resultados anteriores. Este enfoque suele reducir el número de pruebas necesarias.

Por último, se evalúa el rendimiento del modelo para cada combinación de hiperparámetros. El proceso se repite hasta obtener los resultados deseados.

Hiperparámetros frente a parámetros del modelo#

Al trabajar en el ajuste de hiperparámetros, quizá te preguntes en qué se diferencian los hiperparámetros de 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 valores se mantienen fijos durante el entrenamiento e influyen directamente en el proceso de aprendizaje. En cambio, el propio modelo aprende sus parámetros durante el entrenamiento. Estos incluyen los pesos y los sesgos, que se ajustan a medida que el modelo se entrena y, en última instancia, determinan sus predicciones. En esencia, los hiperparámetros dan forma al proceso de aprendizaje, mientras que los parámetros del modelo son el resultado de dicho proceso.

Comparación de parámetros e hiperparámetros

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

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

La poda de modelos es una técnica para reducir su tamaño que elimina pesos y parámetros innecesarios y hace que el modelo sea más eficiente. En visión artificial, especialmente en las redes neuronales profundas, un gran número de parámetros —como los pesos y las activaciones (salidas intermedias que ayudan a calcular la salida final)— puede aumentar tanto la complejidad como las necesidades computacionales. La poda simplifica el modelo al identificar y eliminar los parámetros que apenas contribuyen al rendimiento, lo que da como resultado un modelo más ligero y eficiente.

Red neuronal antes y después de la poda del modelo

Fig. 3 Antes y después de podar el modelo.

Una vez entrenado el modelo, se pueden utilizar técnicas como la poda basada en la magnitud o el análisis de sensibilidad para evaluar la importancia de cada parámetro. A continuación, se podan los parámetros de poca importancia mediante una de estas 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 apenas contribuyen al funcionamiento del modelo. La poda estructurada elimina secciones más grandes, como filtros convolucionales o neuronas de capas totalmente conectadas, para optimizar la eficiencia del modelo. Una vez completada la poda, se vuelve a entrenar el modelo para ajustar los parámetros restantes y garantizar que conserve una alta precisión con un tamaño reducido.

Reducción de la latencia de los modelos de IA mediante la cuantización#

La cuantización de modelos reduce el número de bits utilizados para representar los pesos y las activaciones de un modelo. Normalmente, convierte valores de coma flotante de 32 bits y alta precisión en valores de menor precisión, como números de coma flotante de 16 bits o enteros de 8 bits. Al reducir la precisión en bits, la cuantización disminuye considerablemente el tamaño del modelo, la memoria ocupada y el coste computacional.

En visión artificial, los valores de coma flotante de 32 bits son el estándar, pero convertirlos a 16 u 8 bits puede mejorar la eficiencia. Hay 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 y equilibra la reducción del tamaño con la precisión. La cuantización de activaciones reduce la precisión de las activaciones, lo que disminuye aún más las necesidades de memoria y procesamiento.

Cuantización de coma flotante de 32 bits a entero de 8 bits

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

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

La precisión mixta es una técnica que utiliza distintas precisiones numéricas en diferentes 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 u 8 bits, la precisión mixta permite acelerar el entrenamiento de los modelos de visión artificial y reducir el uso de memoria sin sacrificar precisión.

Durante el entrenamiento, la precisión mixta se consigue utilizando una precisión menor en capas específicas y manteniendo una precisión mayor donde se necesita en toda la red. Esto se hace mediante la conversión de tipos y el escalado de la pérdida. La conversión cambia los tipos de datos entre distintas precisiones según lo requiera el modelo. El escalado de la pérdida ajusta la precisión reducida para evitar el subdesbordamiento numérico y garantizar un entrenamiento estable. La precisión mixta resulta especialmente útil para modelos grandes y tamaños de lote elevados.

Entrenamiento con precisión mixta usando tipos de coma flotante FP16 y FP32

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

Equilibrio entre la precisión y la eficiencia del modelo#

Ahora que hemos repasado varias técnicas de optimización de modelos, veamos cómo decidir cuál usar según tus necesidades concretas. La elección depende de factores como el hardware disponible, las limitaciones computacionales y de memoria del entorno de implementación y el nivel de precisión necesario.

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 pueden utilizarse en sistemas de alto rendimiento. Así se ajusta cada técnica a distintos objetivos:

  • Poda: Es ideal para reducir el tamaño del modelo sin afectar significativamente a la precisión, por lo que resulta perfecta para dispositivos con recursos limitados, como los teléfonos móviles o los dispositivos del Internet de las cosas (IoT).
  • Cuantización: Una opción excelente para reducir el tamaño de los modelos y acelerar la inferencia, especialmente en dispositivos móviles y sistemas integrados con poca memoria y capacidad de procesamiento. Es adecuada para aplicaciones en las que se aceptan pequeñas reducciones de precisión.
  • Precisión mixta: Esta técnica, diseñada para modelos a gran escala, reduce el uso de memoria y acelera el entrenamiento en hardware como GPU y TPU compatible con operaciones de precisión mixta. Se suele utilizar en tareas de alto rendimiento en las que la eficiencia es importante.
  • Ajuste de hiperparámetros: Aunque exige muchos recursos computacionales, es esencial para aplicaciones que requieren gran precisión, como el diagnóstico por imagen o la conducción autónoma.

Conclusiones clave#

La optimización de modelos es una parte fundamental del aprendizaje automático, especialmente para implementar 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 requieran menos recursos, lo que resulta ideal para dispositivos con memoria y capacidad de procesamiento limitadas. Además, los modelos optimizados son más fáciles de escalar e implementar en distintas plataformas, lo que permite crear soluciones de IA eficaces y adaptables a una amplia variedad de usos.

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

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual 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
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático