Cheque verde
Enlace copiado en el portapapeles

Registro Ultralytics YOLO experimentos utilizando la integración MLflow

Explora cómo la integración y el registro MLflow pueden elevar tus experimentos en Ultralytics YOLO , permitiendo un seguimiento superior para aplicaciones de visión por ordenador.

Puedes pensar en un proyecto de visión por ordenador como en un puzzle. Esencialmente, enseñas a las máquinas a comprender los datos visuales juntando las piezas del puzzle, como recopilar un conjunto de datos, entrenar un modelo y desplegarlo. Cuando todo encaja, obtienes un sistema que puede analizar eficazmente imágenes y vídeos y darles sentido.

Pero, al igual que un puzzle de verdad, no todas las partes de un proyecto de visión por ordenador son sencillas. Tareas como el seguimiento de experimentos (mantener un registro de tus ajustes, configuraciones y datos) y el registro (capturar los resultados y las métricas de rendimiento) pueden requerir mucho tiempo y esfuerzo. Aunque estos pasos son fundamentales para mejorar y perfeccionar tus modelos de visión por ordenador, a veces pueden parecer un cuello de botella.

Ahí es donde entran en juego los modelos de Ultralytics YOLO y su integración con MLflow. Los modelos como Ultralytics YOLO11 admiten una amplia gama de tareas de visión por ordenador, como la detección de objetos, la segmentación de instancias y la clasificación de imágenes. Estas capacidades permiten crear apasionantes aplicaciones de visión por ordenador. Tener la opción de confiar en integraciones como la de MLflow permite a los ingenieros de visión centrarse en el modelo en sí, en lugar de enredarse en los detalles. 

En particular, la integración MLflow simplifica el proceso mediante el registro de diversas métricas, parámetros y artefactos a lo largo del proceso de entrenamiento. En este artículo, exploraremos cómo funciona la integración MLflow, sus ventajas y cómo puedes utilizarla para agilizar tus flujos de trabajo en Ultralytics YOLO .

¿Qué es MLflow?

MLflow es una plataforma de código abierto (desarrollada por Databricks) diseñada para agilizar y gestionar todo el ciclo de vida del aprendizaje automático. Abarca el proceso de desarrollo, despliegue y mantenimiento de modelos de aprendizaje automático. 

MLflow incluye los siguientes componentes clave:

  • Seguimiento de experimentos: Este componente se centra en registrar detalles importantes como la configuración del modelo, los resultados y los archivos de cada ejecución de entrenamiento del modelo. Te ayuda a comparar modelos, ver cómo afectan los cambios al rendimiento y encontrar el mejor.
  • Registro de modelos: Es como un sistema de almacenamiento para tus modelos, donde puedes hacer un seguimiento de las distintas versiones y organizarlas por etapas como pruebas, puesta en escena y producción.
  • Empaquetado de proyectos: MLflow facilita el empaquetado de tus proyectos de aprendizaje automático, incluyendo el código, la configuración y las herramientas necesarias, para que puedan compartirse y utilizarse de forma coherente en todos los equipos y entornos.
  • Despliegue de modelos: MLflow proporciona herramientas para desplegar rápidamente tus modelos entrenados en lugares como estaciones de trabajo o plataformas en la nube como AWS y Azure, dejándolos listos para su uso en el mundo real.
Fig. 1. Componentes de MLflow.

Los componentes de MLflow facilitan y hacen más eficiente la gestión del proceso de aprendizaje automático. Mediante esta integración, Ultralytics permite utilizar la función de seguimiento de experimentos de MLflow para registrar parámetros, métricas y artefactos mientras se entrenan los modelos de YOLO . Esto simplifica el seguimiento y la comparación de diferentes versiones del modelo YOLO .

La integración de MLflow agiliza la formación

Ahora que ya hemos explicado qué es MLflow, vamos a entrar en los detalles de la integración de MLflow y qué funciones ofrece. 

La integración MLflow se ha creado para que el proceso de entrenamiento sea más eficaz y organizado, mediante el seguimiento y registro automáticos de aspectos importantes de tus experimentos de visión por ordenador. Facilita tres tipos principales de registro: métricas, parámetros y artefactos.

Aquí tienes una visión más detallada de cada tipo de tala:

  • Registro de métricas: Las métricas son valores cuantitativos que miden el rendimiento de tu modelo durante el entrenamiento. Por ejemplo, métricas como la exactitud, la precisión, la recuperación o la pérdida se registran al final de cada época (una pasada completa por tu conjunto de datos). 
  • Registro de parámetros: Los parámetros son los ajustes que defines antes de que comience el entrenamiento del modelo, como la velocidad de aprendizaje, el tamaño del lote (el número de muestras procesadas en un paso de entrenamiento) y el número de épocas. Estos parámetros afectan significativamente al comportamiento y rendimiento de tu modelo.
  • Registro de artefactos: Los artefactos son los resultados o archivos generados durante el entrenamiento. Esto incluye archivos esenciales como los pesos del modelo (los valores numéricos que tu modelo aprende durante el entrenamiento), archivos de configuración (que almacenan los ajustes del entrenamiento) y otros datos relevantes. 
Fig. 2. Principales características de registro de la integración MLflow. Imagen del autor.

Cómo funciona la integración MLflow

Puedes explorar la documentación de Ultralytics para obtener instrucciones paso a paso sobre cómo activar la integración MLflow. Una vez configurada, la integración rastrea y registra automáticamente los detalles clave de tus experimentos de entrenamiento, como se ha comentado anteriormente. Esto elimina la necesidad de realizar un seguimiento manual y te ayuda a centrarte en perfeccionar tus modelos.

Con la integración MLflow, todas tus ejecuciones de entrenamiento se almacenan en un solo lugar, lo que facilita la comparación de resultados y la evaluación de diferentes configuraciones. Comparando los resultados registrados, puedes identificar las configuraciones de mejor rendimiento y utilizar esos conocimientos para mejorar tus modelos. Esto garantiza que tu flujo de trabajo sea más eficiente, esté bien documentado y sea reproducible.

En concreto, cada sesión de entrenamiento se organiza en un experimento, que actúa como contenedor de múltiples ejecuciones. Dentro de un experimento, puedes ver todas las ejecuciones asociadas, comparar su rendimiento y analizar las tendencias de las distintas configuraciones. 

Por ejemplo, si estás probando varios ritmos de aprendizaje o tamaños de lote con Ultralytics YOLOv8 , todas las ejecuciones relacionadas se agrupan en el mismo experimento para facilitar la comparación y el análisis, como se muestra a continuación.

Fig 3. Puedes ver los experimentos utilizando la integración MLflow.

Mientras tanto, a nivel de ejecución individual, MLflow proporciona información detallada sobre la sesión de entrenamiento específica. Puedes ver métricas como la exactitud, la pérdida y la precisión a lo largo de las épocas, comprobar los parámetros de entrenamiento utilizados (por ejemplo, el tamaño del lote y la tasa de aprendizaje), y acceder a los artefactos generados, como los pesos del modelo y los archivos de configuración. Estos detalles se almacenan en un formato organizado, facilitando la revisión o reproducción de cualquier ejecución.

Elegir la integración MLflow: por qué destaca

Al consultar la documentación deUltralytics y explorar las integraciones disponibles, es posible que te preguntes: ¿Qué diferencia a la integración MLflow y por qué debería elegirla para mi flujo de trabajo?

Con integraciones como TensorBoard, que también proporcionan herramientas para el seguimiento de métricas y la visualización de resultados, es importante comprender las cualidades únicas que hacen que la integración MLflow destaque. 

He aquí por qué MLflow podría ser la elección ideal para tus proyectos deYOLO :

  • Interfaz fácil de usar: El panel de control de MLflow facilita la visualización de experimentos, la comparación de ejecuciones y el análisis de resultados, ayudándote a identificar rápidamente las configuraciones de mejor rendimiento.
  • Registro de métricas personalizadas: Los ingenieros de Visión pueden registrar métricas personalizadas además de las estándar, lo que permite un análisis más profundo específico para las necesidades de su proyecto.
  • Compatibilidad con flujos de trabajo multilingües: MLflow es compatible con múltiples lenguajes de programación, incluidos Python, R y Java, lo que facilita la integración en diversas canalizaciones de aprendizaje automático.

Aplicaciones prácticas de YOLO11 y de la integración MLflow

Para comprender mejor cuándo puedes utilizar la integración MLflow, pensemos en una aplicación de IA en sanidad en la que necesites entrenar a YOLO11 para detectar tumores en imágenes de rayos X o TC. 

En un escenario así, el conjunto de datos consistiría en imágenes médicas anotadas. Tendrías que experimentar con varias configuraciones, como ajustar los ritmos de aprendizaje, el tamaño de los lotes y las técnicas de preprocesamiento de imágenes, para conseguir una precisión óptima. Dado que en la asistencia sanitaria hay mucho en juego y que la precisión y la fiabilidad son fundamentales, el seguimiento manual de cada experimento puede resultar rápidamente inmanejable.

Fig 4. Detección de tumores mediante Ultralytics YOLO11 .

La integración MLflow aborda este reto registrando automáticamente los parámetros, métricas y artefactos de cada experimento. Por ejemplo, si modificas la tasa de aprendizaje o aplicas una nueva estrategia de aumento, MLflow registra estos cambios junto con las métricas de rendimiento. Además, MLflow guarda los pesos y configuraciones de los modelos entrenados, garantizando que los modelos exitosos puedan reproducirse y desplegarse fácilmente. 

Éste es sólo un ejemplo de cómo la integración de MLflow mejora la gestión de experimentos en las aplicaciones de IA de Visión. Las mismas funciones se aplican a otras aplicaciones de visión por ordenador, como:

  • Conducción autónoma: YOLO11 puede utilizarse para detectar y clasificar peatones, vehículos y señales de tráfico en tiempo real, con el fin de mejorar la seguridad y la eficacia de los sistemas de conducción autónoma.
  • Análisis del comercio minorista: Los modelos de detección de objetos pueden controlar el comportamiento de los clientes, seguir la colocación de los productos y optimizar el inventario analizando la actividad en la tienda a través de secuencias de vídeo.
  • Seguridad y vigilancia: Los modelos pueden entrenarse para detectar anomalías o vigilar la actividad en tiempo real en zonas sensibles para reforzar la seguridad.

Ventajas de la integración MLflow

La integración de MLflow con los modelos deYOLO hace que la gestión de los experimentos de aprendizaje automático sea más fácil y eficaz. Al automatizar las tareas clave y mantenerlo todo organizado, te permite centrarte en construir y mejorar tus modelos. He aquí un vistazo a las principales ventajas:

  • Escala para grandes proyectos: La plataforma maneja múltiples experimentos y modelos de forma eficiente, lo que la hace adecuada para equipos grandes y flujos de trabajo complejos.
  • Historial detallado de experimentos: La plataforma mantiene un historial completo de los experimentos, lo que te permite revisar ejecuciones anteriores, analizar configuraciones previas y aprender de resultados anteriores.
  • Opciones de desactivación y restablecimiento: El registro de MLflow puede desactivarse fácilmente cuando no se necesite, y los ajustes pueden restablecerse a los valores predeterminados, lo que ofrece flexibilidad para adaptarse a los distintos requisitos del flujo de trabajo.

Puntos clave

La integración MLflow hace que gestionar y optimizar los experimentos de Ultralytics YOLO sea más fácil y eficaz. Al rastrear automáticamente detalles clave como parámetros, métricas y artefactos, simplifica el proceso y elimina las molestias de la gestión manual de experimentos. 

Tanto si trabajas en soluciones sanitarias como la detección de tumores, como si mejoras los sistemas de conducción autónoma o la analítica del comercio minorista, esta integración te ayuda a mantenerlo todo organizado y reproducible. Con su interfaz intuitiva y su flexibilidad, MLflow permite a los desarrolladores centrarse en construir mejores modelos e impulsar la innovación en las aplicaciones de IA Vision.

Únete a nuestra comunidad y consulta nuestro repositorio de GitHub para aprender sobre IA. También puedes explorar más aplicaciones de la visión por ordenador en la fabricación o de la IA en los coches autoconducidos en nuestras páginas de soluciones.

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático