Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Intégration continue (IC)

Améliorez les flux de travail IA/ML grâce à l'intégration continue. Automatisez les tests, améliorez la qualité du code et rationalisez le développement de modèles sans effort.

L'intégration continue (CI) est une pratique de développement logiciel où les développeurs fusionnent fréquemment leurs modifications de code dans un référentiel central, après quoi des builds et des tests automatisés sont exécutés. L'objectif principal de la CI est de détecter rapidement les problèmes d'intégration, d'améliorer la qualité du code et de rationaliser le flux de travail de développement. Dans le contexte de l'Intelligence Artificielle (IA) et de l'Apprentissage Automatique (ML), la CI s'étend au-delà des vérifications de code traditionnelles pour inclure la validation des données, des modèles et des performances globales du pipeline, formant une composante essentielle des Opérations d'Apprentissage Automatique (MLOps).

Principes clés de l'intégration continue

Le processus d'intégration continue (CI) repose sur une base d'automatisation et d'itération fréquente. Les développeurs envoient de petites modifications fréquentes à un référentiel partagé à l'aide d'un système de contrôle de version tel que Git. Chaque envoi déclenche un flux de travail automatisé, ou pipeline, qui exécute plusieurs étapes clés :

  • Build automatisé : Le système compile automatiquement le code pour s'assurer qu'il s'intègre correctement. Pour les projets de ML, cela peut impliquer la configuration de l'environnement à l'aide d'outils de conteneurisation comme Docker.
  • Tests automatisés : Une série de tests est exécutée pour valider les nouvelles modifications. Cela comprend des tests unitaires pour la logique du code, des tests d'intégration pour les interactions entre les composants et des tests spécialisés pour le ML, tels que la validation des données et l'évaluation du modèle.
  • Boucle de rétroaction rapide : Si une étape du pipeline échoue, l'équipe de développement est immédiatement avertie. Cela leur permet de résoudre rapidement les problèmes avant qu'ils ne deviennent plus complexes et intégrés dans la base de code principale.

CI pour l'apprentissage automatique (CI4ML)

L'application de l'IC aux projets d'apprentissage automatique introduit des défis uniques. Au-delà du simple code, les systèmes de ML impliquent des données et des modèles entraînés, qui doivent également être versionnés et validés. Un pipeline d'IC efficace pour un projet de ML, tel qu'un projet impliquant un modèle Ultralytics YOLO, comprend des étapes supplémentaires :

  • Validation des données : Vérification automatique de la justesse, de la conformité au schéma et du biais potentiel de l'ensemble de données des nouvelles données. Des outils comme Great Expectations peuvent être utilisés à cette fin.
  • Test de modèle : Exécution de tests pour vérifier la dégradation des performances. Cela implique de comparer les métriques de performance du nouveau modèle par rapport à une version de référence sur un jeu de données de validation standardisé.
  • Validation du pipeline d'entraînement : S'assurer que le processus d'entraînement du modèle lui-même est reproductible et efficace. Cela peut être géré à l'aide de plateformes comme Ultralytics HUB, qui simplifie la gestion des ensembles de données et les flux de travail d'entraînement.

Applications concrètes

  1. Développement de la conduite autonome : Une équipe travaillant sur un modèle de détection d'objets pour les véhicules autonomes utilise un pipeline CI. Lorsqu'un développeur soumet du code pour améliorer la capacité du modèle à détecter les piétons la nuit, le pipeline se déclenche automatiquement. Il exécute des tests unitaires, réentraîne une version allégée du modèle YOLO11 sur un ensemble de données de test et évalue sa mAP. Si la précision ne diminue pas et que tous les tests sont réussis, la modification est approuvée pour la fusion. Les outils CI populaires tels que GitHub Actions ou Jenkins sont couramment utilisés pour automatiser ces flux de travail.
  2. Analyse d’images médicales : Dans un système conçu pour la détection de tumeurs dans les images médicales, un scientifique des données pourrait ajouter de nouvelles données augmentées pour améliorer la robustesse. Le pipeline CI valide le nouveau format et la nouvelle distribution des données. Il déclenche ensuite une exécution de validation à l’aide d’un modèle pré-entraîné pour s’assurer que les prédictions du modèle sur un « ensemble de données de référence » restent cohérentes, évitant ainsi un comportement inattendu en production. Ce processus permet de maintenir des normes élevées de fiabilité, essentielles pour l’IA dans le domaine de la santé.

Intégration continue vs. Livraison/Déploiement continu (CD)

Bien qu'étroitement liée, l'IC se distingue de la livraison continue et du déploiement continu (CD).

  • Intégration continue (CI) : Se concentre sur l'intégration fréquente et les tests automatisés des modifications de code. Le résultat est une build validée prête pour la prochaine étape. Ultralytics utilise l'IC pour tester toutes les demandes de tirage avant de les fusionner.
  • Livraison continue (CD) : Étend l'IC en préparant automatiquement chaque modification validée pour la publication dans un environnement de staging ou de production. Toutefois, le déploiement du modèle final en production nécessite une approbation manuelle. Cette approche est détaillée dans les guides de sources telles que Atlassian.
  • Déploiement continu (CD) : Va encore plus loin en déployant automatiquement chaque modification validée directement en production sans aucune intervention humaine. Cela représente le plus haut niveau d'automatisation dans le cycle de vie de la publication de logiciels.

Ensemble, les pratiques CI et CD sont fondamentales pour une stratégie MLOps robuste, qui vise à unifier le développement et l'exploitation des systèmes d'apprentissage automatique, de l'expérimentation initiale au déploiement et à la surveillance continue des modèles.

Rejoignez la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant
Lien copié dans le presse-papiers