Glosario

Integración continua (IC)

Mejora los flujos de trabajo de IA/ML con la Integración Continua. Automatiza las pruebas, mejora la calidad del código y agiliza el desarrollo de modelos sin esfuerzo.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La Integración Continua (IC) es una práctica fundamental en el desarrollo moderno de software y es cada vez más crucial en los campos de la Inteligencia Artificial (IA) y el Aprendizaje Automático (AM). Consiste en fusionar con frecuencia los cambios de código de múltiples colaboradores en un repositorio central, tras lo cual se ejecutan compilaciones y pruebas automatizadas. El objetivo principal de la IC es detectar a tiempo los problemas de integración, mejorar la calidad del código y agilizar el flujo de trabajo de desarrollo. Esta automatización y el rápido bucle de retroalimentación son especialmente beneficiosos para proyectos complejos, como los que implican la formación y el despliegue de Ultralytics YOLO para tareas de visión por ordenador.

¿Por qué es importante la integración continua en la IA/ML?

La naturaleza iterativa del desarrollo de IA/ML, que implica experimentos con datos, modelos y parámetros (como el ajuste de hiperparámetros y el aumento de datos), hace que la IC sea especialmente valiosa. La integración de la IC proporciona información rápida sobre los cambios, garantizando que el nuevo código se integre correctamente con la base de código existente y que el rendimiento del modelo no se degrade inesperadamente. Las principales ventajas son:

  • Detección temprana de errores: Las pruebas automatizadas detectan errores rápidamente después de fusionar los cambios de código, reduciendo el coste y el esfuerzo de corregirlos más tarde.
  • Mejora de la calidad del código: Las pruebas y la integración coherentes fomentan mejores prácticas de codificación y bases de código mantenibles. Herramientas como los linters y los analizadores estáticos suelen formar parte del proceso de IC.
  • Ciclos de desarrollo más rápidos: La automatización reduce los esfuerzos de las pruebas manuales y permite a los desarrolladores centrarse en crear funciones.
  • Rendimiento coherente del modelo: Las cadenas de IC pueden incluir pasos para evaluar la exactitud del modelo, la precisión, la recuperación y otras métricas relevantes, evitando las regresiones. Esto suele implicar la comprobación de métricas como la puntuación F1 o la Precisión Media (mAP).
  • Colaboración mejorada: La integración frecuente minimiza los conflictos de fusión y mantiene al equipo trabajando en una base de código actualizada.

Cómo funciona la IC en los proyectos de IA/ML

En un proyecto típico de IA/ML que utiliza CI, el proceso suele comenzar cuando un desarrollador confirma cambios en el código (incluidos scripts de modelos, archivos de configuración o incluso nuevos pasos de procesamiento de datos) en un sistema de control de versiones compartido como Git. Esta confirmación activa automáticamente un proceso de IC, a menudo gestionado por plataformas como Jenkins, GitLab CI/CD o GitHub Actions. El canal suele realizar varios pasos:

  1. Construye: Compila el código y construye los artefactos necesarios (por ejemplo, imágenes Docker).
  2. Pruebas unitarias: Ejecuta pruebas pequeñas y aisladas en componentes individuales del código.
  3. Pruebas de integración: Prueba la interacción entre las distintas partes del sistema.
  4. Validación del modelo: Ejecuta pruebas específicas del modelo ML, como comprobar la integridad de los datos, validar la arquitectura del modelo o ejecutar la inferencia en un pequeño conjunto de datos de prueba.
  5. Pruebas de rendimiento: Evalúa las métricas de rendimiento del modelo(mAP, precisión, latencia) frente a puntos de referencia predefinidos o versiones anteriores. Esto puede implicar modos de evaluación comparativa.
  6. Informes: Notifica al equipo los resultados de la compilación y las pruebas, a menudo integrándose con herramientas de comunicación como Slack.

Ultralytics utiliza ampliamente la IC; puedes obtener más información sobre nuestros procesos en la Guía de ICUltralytics .

Aplicaciones reales de la integración continua en IA/ML

La Integración Continua se utiliza en varias aplicaciones AI/ML del mundo real para mejorar la eficacia y la fiabilidad.

  • Desarrollo de un sistema de detección de objetos: Una empresa que desarrolla un sistema de detección de objetos, quizás utilizando Ultralytics YOLO11podría utilizar CI para probar automáticamente los nuevos cambios de código. Cada commit podría activar una canalización que reentrenara o validara el modelo en un subconjunto de datos (como COCO128), ejecutara evaluaciones para comprobar el mAP y la velocidad de inferencia, y se asegurara de que los cambios no afectan negativamente al rendimiento antes de fusionarlos. Esto ayuda a mantener la calidad del modelo para aplicaciones de IA o seguridad en automoción.
  • Perfeccionamiento del modelo de Procesamiento del Lenguaje Natural (PLN): Un equipo que trabaje en un modelo de análisis de sentimientos utilizando técnicas de PLN puede implementar la IC. Cada actualización del código (por ejemplo, retocar la extracción de características o la arquitectura del modelo) activa automáticamente las pruebas. Estas pruebas pueden ejecutar el modelo actualizado en un conjunto de datos de validación, comparando su precisión en la clasificación de sentimientos y la puntuación F1 con los resultados de referencia. Esto garantiza que la eficacia del modelo se supervise y mejore continuamente.

Integración Continua Vs. Entrega/Despliegue Continuo (CD)

Aunque está estrechamente relacionada, la IC es distinta de la Entrega Continua y el Despliegue Continuo (DC).

  • Integración Continua (IC): Se centra en integrar con frecuencia los cambios de código y probarlos automáticamente. El resultado es una compilación validada, lista para seguir avanzando.
  • Entrega Continua (CD): Amplía la CI preparando automáticamente los cambios de código validados para su lanzamiento a un entorno de ensayo o producción. El despliegue en producción suele activarse manualmente. Puedes leer más sobre las diferencias en esta guía de Atlassian.
  • Despliegue Continuo (CD): Va un paso más allá desplegando automáticamente cada cambio validado directamente a producción sin intervención manual.

Las prácticas de CI y CD son componentes básicos de las Operaciones de Aprendizaje Automático (MLOps), cuyo objetivo es agilizar todo el ciclo de vida del aprendizaje automático, desde el desarrollo hasta el despliegue y la supervisión. Plataformas como Ultralytics HUB pueden ayudar a gestionar partes de este ciclo de vida, incluida la formación y el despliegue de modelos.

Leer todo
OSZAR »