Pourquoi devriez-vous utiliser des MLOps ? - Amazon SageMaker

Pourquoi devriez-vous utiliser des MLOps ?

Lorsque vous passez de l'exécution de projets individuels d'intelligence artificielle et de machine learning (IA/ML) à l'utilisation de l'IA/du ML pour transformer votre entreprise à grande échelle, la discipline des opérations de ML (MLOps) peut être utile. Les MLOps rendent compte des aspects uniques des projets IA/ML dans la gestion de projet, le CI/CD et l'assurance qualité, l'aide fournie améliore les délais de livraison, réduit les défauts et rend les scientifiques des données plus productifs. Les MLOps font référence à une méthodologie basée sur l'application des pratiques DevOps aux applications de machine learning. Vous pouvez consulter le livre blanc Introduction aux DevOps sur AWS pour une discussion sur les principes DevOps. Pratique de CI/CD sur AWS et Infrastructure as Code vont plus loin dans l'implémentation à l'aide des services AWS.

Tout comme les DevOps, les MLOps s'appuient sur une approche collaborative et rationalisée du cycle de vie du développement du machine learning, où l'intersection entre les personnes, les processus et la technologie optimise les activités de bout en bout nécessaires au développement, à la création et à l'exploitation des applications de machine learning.

Les MLOps se concentrent sur l'intersection entre la science des données et l'ingénierie des données en combinaison avec les pratiques DevOps existantes afin de rationaliser la fourniture des modèles tout au long du cycle de vie du développement du machine learning. Les MLOps représentent la discipline qui consiste à intégrer les applications de ML dans la gestion des versions, le CI/CD et les opérations. Les MLOps nécessitent l'intégration du développement logiciel, des opérations, de l'ingénierie des données et de la science des données.

Défis liés aux MLOps

Gestion de projets

  • Les projets de ML impliquent des scientifiques des données, un rôle relativement nouveau et qui n'est pas souvent intégré dans des équipes interfonctionnelles. Ces nouveaux membres de l'équipe parlent souvent un langage technique très différent de celui des propriétaires de produits et des Software Engineers, ce qui complique le problème habituel de la traduction des exigences métier en exigences techniques.

Communication et collaboration

  • Renforcer la visibilité sur les projets de ML et permettre la collaboration entre les différentes parties prenantes, telles que les ingénieurs de données, les scientifiques des données, les ingénieurs de ML et les DevOps est de plus en plus indispensable pour assurer de bons résultats.

Tout est du code

  • Utilisation des données de production dans les activités de développement, cycles de vie d'expérimentation plus longs, dépendances des pipelines de données, nouvel entraînement des pipelines de déploiement et métriques uniques dans l'évaluation des performances d'un modèle.

  • Les modèles ont souvent un cycle de vie indépendant des applications et de l'intégration de systèmes à ces modèles.

  • L'ensemble du système de bout en bout est reproductible grâce au code versionné et aux artefacts. Les projets DevOps utilisent l'Infrastructure as Code (IaC) et la Configuration-as-Code (CaC) pour créer des environnements, ainsi que les Pipelines-as-code (PaC) pour garantir la cohérence des modèles CI/CD. Les pipelines doivent s'intégrer aux flux d'entraînement Big Data et ML. Cela signifie souvent que le pipeline est une combinaison d'un outil CI/CD traditionnel et d'un autre moteur de flux. Il existe d'importantes préoccupations en matière de politique pour de nombreux projets de ML, donc le pipeline peut également devoir appliquer ces politiques. Les données d'entrée biaisées produisent des résultats biaisés, ce qui inquiète de plus en plus les parties prenantes professionnelles.

CI/CD

  • Dans les MLOps, les données source sont une entrée de première classe, tout comme le code source. C'est pourquoi les MLOps exigent de versionner les données source et à lancer les exécutions de pipeline lorsque les données source ou d'inférence changent.

  • Les pipelines doivent également versionner les modèles de ML, ainsi que les entrées et autres sorties, afin d'assurer la traçabilité.

  • Les tests automatisés doivent inclure une validation appropriée du modèle de ML pendant les phases de création et lorsque le modèle est en production.

  • Les phases de création peuvent comprendre un entraînement et un nouvel entraînement du modèle, un processus qui prend beaucoup de temps et exige beaucoup de ressources. Les pipelines doivent être suffisamment détaillés pour effectuer un cycle d'entraînement complet uniquement lorsque les données source ou le code de ML changent, et non lorsque les composants associés changent.

  • Étant donné que le code de machine learning représente généralement une petite partie d'une solution globale, un pipeline de déploiement peut également intégrer les étapes supplémentaires requises pour contenir un modèle en vue de sa consommation en tant qu'API par d'autres applications et systèmes.

Surveillance et journalisation

  • Les phases d'ingénierie des fonctionnalités et d'entraînement du modèle doivent capturer les métriques d'entraînement du modèle, ainsi que les expériences de modèles. Le réglage d'un modèle de ML nécessite de manipuler la forme des données d'entrée, ainsi que les hyperparamètres d'algorithme, et la capture systématique de ces expériences. Le suivi des expériences aide les scientifiques des données à travailler plus efficacement et donne un instantané reproductible de leur travail.

  • Les modèles de ML déployés nécessitent une surveillance des données transmises au modèle à des fins d'inférence, ainsi que des métriques de stabilité et de performance standard du point de terminaison. Le système de surveillance doit également saisir la qualité de la sortie du modèle, telle qu'elle est évaluée au moyen d'une métrique de ML appropriée.

Avantages des MLOps

L'adoption de pratiques de MLOps vous donne un délai de mise sur le marché plus rapide pour les projets de ML en offrant les avantages suivants.

  • Productivité : la fourniture d'environnements en libre-service avec accès à des jeux de données organisés permet aux ingénieurs de données et aux scientifique des données d'agir plus rapidement et de perdre moins de temps avec des données manquantes ou non valides.

  • Répétabilité : l'automatisation de toutes les étapes du MLDC vous permet de garantir un processus reproductible, y compris la façon dont le modèle est entraîné, évalué, versionné et déployé.

  • Fiabilité : l'intégration des pratiques CI/CD permet non seulement un déploiement rapide, mais aussi une qualité et une cohérence accrues.

  • Auditabilité : la gestion des versions de toutes les entrées et sorties, des expériences de science des données aux données sources en passant par le modèle entraîné, signifie que nous pouvons démontrer exactement comment le modèle a été créé et où il a été déployé.

  • Qualité des données et du modèle : les MLOps nous permettent d'appliquer des politiques qui protègent contre les biais des modèles et suivent les modifications apportées aux propriétés statistiques des données et à la qualité du modèle au fil du temps.