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 (IC) est une pratique fondamentale du développement de logiciels dans laquelle les développeurs fusionnent fréquemment leurs modifications de code dans un dépôt central partagé. dans un référentiel central partagé. Plutôt que d'intégrer périodiquement des mises à jour massives, l'intégration continue encourage l'intégration continue encourage les petites modifications régulières qui déclenchent des séquences de construction et de test automatisées. Dans le domaine dynamique de l l'intelligence artificielle (IA) et de l 'apprentissage automatique (ML), cette pratique est une pierre angulaire des Machine Learning Operations (MLOps). Elle garantit que les modifications apportées au code, aux données ou aux hyperparamètres ne brisent pas le système système existant ou de dégrader les performances du modèle.

Principes fondamentaux de l'IC dans l'apprentissage automatique

L'objectif premier de l'IC est de detect erreurs le plus tôt possible. rapide". Ce processus s'appuie fortement sur des systèmes de contrôle de version tels que Git pour gérer la base de code. pour gérer la base de code. Lorsqu'un développeur apporte une modification, un serveur CI - tel que Actions GitHub, GitLab CI ou Jenkins - lance automatiquementun nouvel environnement. automatiquement un nouvel environnement.

Pour les projets de ML, cet environnement utilise souvent outils de conteneurisation tels que Docker pour assurer la cohérence entre le développement, les tests et la production. Le pipeline CI exécute ensuite une série de vérifications :

  • Qualité du code : Exécution de linters et d'analyses statiques pour maintenir les normes de codage.
  • Tests unitaires : Vérifier que les fonctions et les classes individuelles se comportent comme prévu.
  • Validation des données : S'assurer que que les données de formation respectent le schéma et les normes de qualité et aux normes de qualité attendues.
  • Évaluation du modèle : Exécution d'un modèle formé par rapport à un ensemble de données de données de validation pour s'assurer que que la précision n'est pas tombée en dessous d'un seuil défini.

Mise en œuvre des contrôles de performance

Un aspect essentiel de l'IC pour le ML est la prévention des "échecs silencieux", lorsque le code s'exécute sans erreur mais que l'intelligence du modèle se dégrade. l'intelligence du modèle se dégrade. Pour ce faire, il convient d'intégrer des tests de modèles directement dans le flux de travail de l'IC.

L'extrait Python suivant montre comment un script CI peut charger un fichier YOLO11 et s'assurer que ses mesures de performance répondent à un avant d'autoriser la fusion du code.

from ultralytics import YOLO

# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")

# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")

# Extract the mAP50-95 metric
map_score = results.box.map

# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
    raise ValueError("Model performance regression detected! mAP is too low.")

Applications concrètes

L'application de l'intégration continue est vitale dans les industries où la fiabilité n'est pas négociable.

  • Conduite autonome : dans le développement des véhicules autonomes, la sécurité est primordiale. Les ingénieurs utilisent des pipelines de CI pour tester automatiquement modèles de détection d'objets dans des milliers de scénarios, tels que l'identification de piétons la nuit ou sous la pluie. Si une modification du code entraîne une précision moyenne (mAP), le système bloque la mise à jour, empêchant ainsi un logiciel potentiellement dangereux d'atteindre le véhicule.
  • Diagnostic médical : Pour l 'IA dans les soins de santé, en particulier pour des tâches telles que détection des tumeurs, la cohérence est essentielle. Un pipeline d'IC garantit que les mises à jour des algorithmes de prétraitement d'images ne modifient pas par inadvertance les données d'entrée d'une manière qui pourrait nuire à la sécurité des patients. les données d'entrée d' une manière qui de confondre le modèle de diagnostic. En effectuant des tests de régression sur un "jeu d'or" d'images médicales, l'équipe s'assure que la précision clinique est maintenue. l'équipe s'assure que la précision clinique est maintenue.

Intégration continue et déploiement continu (CD)

Bien que l'on parle souvent de CI/CD, il est important de distinguer l'intégration continue du déploiement continu. le déploiement continu.

  • L'intégration continue (IC) se concentre sur le cycle de développement. Elle vérifie que le nouveau code s'intègre correctement à la base de code existante et passe tous les tests automatisés. Elle produit un artefact validé (comme une image docker ou un fichier modèle).
  • Le déploiement continu (CD) se concentre sur le cycle de publication. Il prend l'artefact produit par CI et le déploie automatiquement dans un environnement de production, tel qu'un serveur en nuage ou un appareil périphérique.

Ensemble, ils forment un pipeline rationalisé qui accélère le cycle de vie des produits d'IA de vision. des produits d'IA visionnaire, permettant aux équipes d'itérer plus rapidement tout en maintenant des normes élevées de qualité et de sécurité.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant