Cette langue est traduite automatiquement et n'a pas été relue par un humain.

Intelligence artificielle · Analyse

Comment les modèles d'apprentissage automatique sont entraînés, optimisés et déployés

Publié:

En bref

Les modèles d'apprentissage automatique sont construits en trois grandes étapes : l'entraînement sur des données étiquetées à l'aide d'algorithmes comme la descente de gradient, l'optimisation par ajustement des hyperparamètres et la validation contre un ensemble de test retenu, et le déploiement en production sous forme d'API, de travail par lots ou de service embarqué en périphérie. Chaque étape est suivie d'une surveillance continue qui peut déclencher un réentraînement lorsque les performances se dégradent.

Cette version est une traduction automatique de l'original (English). Lire l'original

Chaque système d'apprentissage automatique, d'un filtre anti-spam à un grand modèle de langage, passe par le même arc général avant d'atteindre un utilisateur : les données sont préparées, un modèle est entraîné sur ces données, ses performances sont mesurées et ajustées, et enfin il est lancé dans un environnement en direct où il continue d'être surveillé. Les fournisseurs de cloud et les équipes d'ingénierie décrivent cet arc comme le cycle de vie du ML, et sa mécanique est pratiquement la même que le modèle soit un petit classificateur ou un réseau de milliards de paramètres.

Entraînement : comment un modèle apprend à partir des données

Selon la documentation d'architecture de Google Cloud, le cycle de vie commence par le traitement des données : les équipes effectuent une analyse exploratoire des données pour comprendre la structure des données, les nettoient, les divisent en ensembles d'entraînement, de validation et de test, et conçoivent des fonctionnalités pour que les données soient dans un format approprié pour un modèle. Ce n'est qu'après cette préparation que les scientifiques des données implémentent les algorithmes et commencent l'entraînement.

Pour les réseaux de neurones en particulier, l'entraînement repose sur deux techniques liées, comme l'explique GeeksforGeeks : une passe avant, où le réseau traite les données d'entrée pour produire une prédiction, et une fonction de perte, qui mesure à quel point cette prédiction s'éloigne du vrai label. La rétropropagation calcule ensuite, couche par couche en utilisant la règle de la chaîne, combien chaque paramètre interne a contribué à cette erreur. La descente de gradient utilise ces gradients calculés pour ajuster chaque paramètre dans la direction qui réduit la perte. Ce cycle de passe avant/passe arrière/mise à jour se répète sur de nombreuses époques jusqu'à ce que le modèle converge vers un minimum de la fonction de perte, selon GeeksforGeeks.

Optimisation : ajustement et validation du modèle

L'entraînement seul ne garantit pas un modèle utilisable. La documentation de Google Cloud note que les équipes effectuent un ajustement des hyperparamètres sur les algorithmes implémentés pour obtenir les meilleures performances, en ajustant des paramètres tels que le taux d'apprentissage, la taille du lot ou le nombre d'époques plutôt que les paramètres que le modèle apprend de lui-même. La documentation des développeurs de Google sur la gestion des projets de ML ajoute que cette phase d'expérimentation est l'endroit où les équipes testent différentes combinaisons de fonctionnalités, des valeurs d'hyperparamètres et des architectures de modèles, exécutant souvent des centaines d'expériences avant de trouver une combinaison viable.

Une fois qu'un modèle candidat existe, il est évalué sur un ensemble de test retenu —des données que le modèle n'a pas vues pendant l'entraînement— pour produire des métriques de qualité. IBM décrit cette étape comme l'évaluation des performances à l'aide de métriques telles que la précision et l'équité sur des données invisibles. Le modèle est ensuite validé par rapport à une ligne de base : la documentation de Google Cloud indique que cela confirme que la performance prédictive du modèle est meilleure qu'un seuil défini avant qu'il ne soit autorisé à progresser vers le déploiement.

Déploiement : mettre un modèle en production

Le déploiement est le point où un modèle validé commence à faire des prédictions sur des données réelles. La documentation de Snowflake définit le déploiement d'un modèle comme la libération contrôlée d'un modèle validé, ainsi que ses dépendances et sa logique d'inférence, dans un environnement de production où il peut être versionné, exécuté, surveillé et annulé si nécessaire.

Google Cloud et Snowflake décrivent tous deux des ensembles comparables de modèles de déploiement, résumés ci-dessous.

Modèles courants de déploiement de ML
ModèleComment cela fonctionneUtilisation typique
En ligne / en temps réelUn microservice expose le modèle via une API REST qui retourne les prédictions de manière synchrone avec une faible latenceDétection des fraudes, recommandations
Par lotsLe modèle évalue les grands ensembles d'enregistrements selon un calendrier ou déclenché par un événement de pipelineRapports, travaux de notation périodique
Sans serveur / asynchroneLe modèle s'exécute sur un déclencheur d'événement et les résultats sont récupérés ultérieurement plutôt que instantanémentCharges de travail irrégulières ou longues
Périphérique / embarquéLe modèle s'exécute directement sur un appareil local ou mobile plutôt que sur un serveur centralFonctionnement hors ligne, besoins de localité des données

Snowflake note que chaque style de déploiement comporte des compromis : la diffusion en temps réel exige une gestion prudente de la latence, de la disponibilité et de la mise à l'échelle, tandis que les systèmes par lots sont plus faciles à gouverner mais limités par la fréquence d'exécution du calendrier de notation. Le déploiement en périphérie réduit la latence et maintient les données locales, mais rend plus difficile le suivi de la version du modèle exécutée sur de nombreux appareils distribués.

Surveillance, dérive et réentraînement

Le déploiement n'est pas la fin du processus. IBM affirme que la surveillance continue suit la performance du modèle en production, détecte les problèmes tels que la dérive de précision, et génère des alertes qui permettent une intervention rapide et peuvent déclencher un réentraînement avec des données mises à jour. Snowflake énumère également la surveillance et la détection de dérive comme des responsabilités principales du déploiement, ainsi que la planification de l'annulation —des déclencheurs prédéfinis et des structures de propriété pour revenir à une version antérieure du modèle si la nouvelle version fonctionne moins bien.

La documentation de Google Cloud le cadre comme un spectre de maturité. Au niveau le moins automatisé, chaque étape —de la préparation des données au déploiement— est manuelle, typique des projets en phase initiale avec des lancements peu fréquents. Les configurations plus matures ajoutent des pipelines automatisés qui valident les données et les modèles et détectent la dérive, et les configurations les plus automatisées intègrent l'intégration et la livraison continues de sorte que l'expérimentation, les tests, le déploiement et la surveillance s'exécutent comme des étapes connectées et largement automatisées.

L'outillage derrière le cycle de vie

L'aperçu d'IBM sur cette pratique, connue sous le nom de MLOps, énumère les catégories d'outils sur lesquels les équipes s'appuient généralement à chaque étape : des frameworks d'apprentissage automatique comme TensorFlow et PyTorch pour la construction et l'entraînement des modèles, Git pour le contrôle de version, des plates-formes CI/CD comme Jenkins ou GitLab CI/CD pour l'automatisation des étapes de pipeline, et des plates-formes MLOps dédiées comme Kubeflow ou MLflow pour orchestrer l'entraînement, le déploiement et la surveillance sur une infrastructure cloud comme AWS, Azure ou IBM Cloud.

MLOps est un ensemble de pratiques conçu pour créer une ligne de montage pour la construction et l'exécution des modèles d'apprentissage automatique.

— IBM

Vos questions

Quelle est la différence entre l'entraînement et l'optimisation d'un modèle d'apprentissage automatique ?
L'entraînement est le processus d'ajustement des paramètres d'un modèle aux données, généralement via des passes avant, un calcul de la perte et des mises à jour basées sur le gradient. L'optimisation désigne l'ajustement des hyperparamètres —des paramètres choisis avant l'entraînement, tels que le taux d'apprentissage ou la taille du lot— pour améliorer la performance du modèle entraîné, selon la documentation de Google Cloud.
Qu'est-ce que l'ajustement des hyperparamètres ajuste réellement ?
Il ajuste les paramètres qui ne sont pas appris à partir des données pendant l'entraînement lui-même, tels que le taux d'apprentissage, la taille du lot ou le nombre d'époques d'entraînement, dans le but de trouver la combinaison qui produit le modèle aux meilleures performances, selon la documentation des développeurs de Google.
Comment un modèle est-il déployé en production ?
Un modèle validé est emballé avec ses dépendances et sa logique d'inférence et libéré dans un environnement de production en tant qu'API en temps réel, travail de notation par lots, déclencheur sans serveur ou modèle embarqué sur un appareil périphérique, selon la documentation de Snowflake.
Pourquoi les modèles déployés ont-ils besoin d'une surveillance après le lancement ?
Les modèles de données en production peuvent changer au fil du temps, dégradant la précision d'un modèle —un phénomène qu'IBM appelle dérive. La surveillance continue détecte cette dégradation et peut déclencher un réentraînement avec des données mises à jour pour restaurer les performances.
Quels outils sont couramment utilisés dans tout le cycle de vie du ML ?
IBM énumère des frameworks tels que TensorFlow et PyTorch pour l'entraînement, Git pour le contrôle de version, Jenkins ou GitLab CI/CD pour l'automatisation des pipelines, et Kubeflow ou MLflow pour orchestrer l'entraînement et le déploiement sur les plates-formes cloud.

Les sources

  1. Google Cloud — MLOps: Continuous delivery and automation pipelines in machine learning
  2. IBM — What is MLOps?
  3. Snowflake — What Is Model Deployment in Machine Learning?
  4. Google Developers — ML development phases
  5. GeeksforGeeks — How Does Gradient Descent and Backpropagation Work Together?

Ce texte a été préparé avec l'intelligence artificielle et a passé une vérification automatique des sources avant publication. Si vous voyez une erreur, demandez une correction. Demander une correction ou un droit de réponse · Notre méthode

À lire aussi