Maison >Périphériques technologiques >IA >MLOps vs DevOps : quelle est la différence ?

MLOps vs DevOps : quelle est la différence ?

WBOY
WBOYavant
2023-04-11 20:37:192980parcourir

Les opérations d'apprentissage automatique (MLOps en abrégé) sont un aspect clé de l'ingénierie de l'apprentissage automatique (ML) axé sur la simplification et l'accélération du processus de livraison des modèles ML en production ainsi que sur leur maintenance et leur surveillance. MLOps implique une collaboration entre différentes équipes, notamment des data scientists, des ingénieurs DevOps, des experts informatiques, etc.

MLOps aide les organisations à créer et à améliorer la qualité de leurs solutions d'IA et d'apprentissage automatique. L'adoption de MLOps permet aux ingénieurs en apprentissage automatique et aux scientifiques des données de collaborer pour améliorer les performances des modèles en mettant en œuvre des pratiques d'intégration continue et de déploiement continu (CI/CD). Il accélère le processus de développement de modèles ML en intégrant une surveillance, une gouvernance et une validation appropriées des modèles ML.

MLOps vs DevOps : quelle est la différence ?

Qu'est-ce que DevOps ?

DevOps combine les concepts de développement et d'opérations, décrivant une approche collaborative pour effectuer des tâches généralement associées à des équipes distinctes de développement d'applications et d'opérations informatiques. Au sens le plus large, DevOps est une philosophie qui encourage une meilleure communication et collaboration entre ces équipes (et d’autres) au sein d’une organisation.

Au sens le plus étroit, DevOps fait référence à l'adoption de pratiques qui permettent le déploiement et la maintenance de développement d'applications itératifs, d'automatisation et d'infrastructure programmable. Cela inclut également des changements dans la culture du lieu de travail, tels que l'instauration de la confiance et les liens entre les développeurs, les administrateurs système et les autres membres de l'équipe. DevOps aligne la technologie sur les objectifs de l'entreprise et peut transformer la chaîne de livraison de logiciels, les fonctions professionnelles, les services, les outils et les meilleures pratiques.

MLOps vs DevOps : principales différences

Voici quelques-unes des principales différences entre MLOps et DevOps traditionnel.

Développement

Le concept de développement fait référence à des choses différentes dans chaque modèle, et le pipeline CI/CD est légèrement différent.

DevOps :

  • Généralement, le code crée une interface ou une application.
  • Enveloppez le code dans un exécutable ou un artefact avant de le déployer et de le tester avec un ensemble de vérifications.
  • Idéalement, ce cycle automatisé se poursuivra jusqu'à ce que le produit final soit prêt.

MLOps :

  • Ce code permet aux équipes de créer ou de former des modèles d'apprentissage automatique.
  • Les artefacts de sortie incluent des fichiers sérialisés qui peuvent recevoir des données d'entrée pour générer des inférences.
  • La validation consiste à vérifier les performances du modèle entraîné par rapport aux données de test.
  • Ce cycle devrait également se poursuivre jusqu'à ce que le modèle atteigne le seuil de performances spécifié.

Contrôle de version

DevOps :

  • Le contrôle de version ne suit généralement que les modifications apportées au code et aux artefacts.
  • Il y a très peu de mesures à suivre.

MLOps :

  • Les pipelines MLOps ont généralement plus de facteurs à suivre. La création et la formation de modèles ML impliquent un cycle d'expérimentation itératif qui nécessite le suivi de diverses métriques et composants pour chaque expérience (critique pour un audit ultérieur).
  • Les autres composants à suivre incluent les ensembles de données de formation, le code de construction du modèle et les artefacts du modèle.
  • Les métriques incluent des hyperparamètres et des métriques de performances du modèle telles que le taux d'erreur.

Réutilisabilité

DevOps :

  • Le pipeline DevOps se concentre sur les processus reproductibles.
  • Les équipes peuvent mélanger et assortir les processus sans avoir à suivre un flux de travail spécifique.

MLOps :

  • Le pipeline MLOps applique le même flux de travail à plusieurs reprises. Un cadre commun à tous les projets contribue à améliorer la cohérence et permet aux équipes de progresser plus rapidement car elles démarrent avec un processus familier.
  • Les modèles de projet fournissent une structure et permettent une personnalisation pour répondre aux besoins uniques de chaque cas d'utilisation.
  • Consolidez les données de votre organisation grâce à la gestion centralisée des données pour accélérer le processus de découverte et de formation. Les approches courantes de centralisation incluent des sources uniques de vérité et des entrepôts de données.

Surveillance continue

La surveillance est essentielle à la fois pour DevOps et MLOps, mais pour des raisons légèrement différentes.

DevOps :

  • L'ingénierie de fiabilité des sites (SRE) est une tendance ces dernières années, soulignant la nécessité de déployer des logiciels de surveillance du développement à la production.
  • Le logiciel ne se dégrade pas comme les modèles ML.

MLOps :

  • Les modèles d'apprentissage automatique se dégradent rapidement et nécessitent une surveillance et des mises à jour continues.
  • Les conditions dans l'environnement de production peuvent affecter la précision du modèle. Après avoir été déployé en production, le modèle commence à générer des prédictions basées sur de nouvelles données du monde réel. Ces données changent et s'adaptent constamment, réduisant ainsi les performances du modèle.
  • MLOps garantit que les algorithmes restent prêts pour la production en incorporant des procédures pour faciliter la surveillance continue et le recyclage des modèles.

Infrastructure

DevOps et MLOps s'appuient fortement sur la technologie cloud mais ont des exigences opérationnelles différentes.

DevOps s'appuie sur des infrastructures telles que :

  • Infrastructure as Code (IaC)
  • Construire des serveurs
  • Outils d'automatisation CI/CD

MLOps s'appuie sur des infrastructures telles que :

  • Frameworks d'apprentissage profond et d'apprentissage automatique
  • Stockage cloud pour les grands ensembles de données
  • GPU pour l'apprentissage profond et les modèles ML gourmands en calcul

Tendances DevOps et MLOps

Voici quelques-unes des principales tendances qui animent DevOps et MLOps.

GitOps

En tant que nouvelle évolution du flux de travail DevOps, GitOps est un nouveau paradigme pour contrôler et automatiser l'infrastructure. Paradigms for Kubernetes permet aux développeurs et aux équipes opérationnelles d'utiliser Git pour gérer les clusters Kubernetes et fournir des applications conteneurisées. La mise en œuvre de workflows Git pour les équipes d'exploitation et de développement permet aux développeurs d'exploiter les requêtes pull Git pour gérer les déploiements de logiciels et l'infrastructure.

GitOps intègre les outils de développement existants pour gérer les applications cloud natives et basées sur des clusters via CI/CD. Il déploie, surveille et maintient automatiquement les applications cloud natives en utilisant les référentiels Git comme source unique de vérité.

GitOps est un moyen d'implémenter et de maintenir des clusters dans Kubernetes. La livraison et le déploiement continus permettent aux développeurs de créer, tester et déployer des logiciels plus rapidement grâce à des versions incrémentielles. Les pipelines d'intégration continue et d'exécution Kubernetes doivent être capables de lire et d'écrire des fichiers, de mettre à jour les référentiels de conteneurs et de charger des conteneurs à partir de Git. GitOps aide les entreprises à gérer leur infrastructure grâce au contrôle des versions, à la surveillance en temps réel et aux alertes de modification de configuration.

Données synthétiques

Les données synthétiques sont toute information générée artificiellement plutôt que collectée à partir d'événements réels. L'algorithme génère des données synthétiques qui sont utilisées comme substitut aux ensembles de données de tests opérationnels et de production. Les ensembles de données synthétiques peuvent également être utilisés pour valider des modèles mathématiques et former des modèles d'apprentissage automatique.

Les avantages des données synthétiques incluent :

  • Minimiser les restrictions associées à l'utilisation de données sensibles et réglementées.
  • Personnalisez les données en fonction d'exigences et de conditions spécifiques non disponibles dans les données réelles.
  • Générez des données pour les équipes DevOps afin de tester la qualité et les performances des logiciels.

Apprentissage automatique et intelligence artificielle sans code

L'apprentissage automatique implique souvent du code informatique pour configurer et gérer la formation de modèles, mais ce n'est pas toujours le cas. L'apprentissage automatique sans code est une approche de programmation qui élimine le besoin pour les applications de ML de passer par des processus fastidieux.

CodelessML élimine le besoin de faire appel à des experts pour développer des logiciels système. Il est également plus simple et moins coûteux à déployer et à mettre en œuvre. L'utilisation de la saisie par glisser-déposer pendant l'apprentissage automatique simplifie les efforts de formation en :

  • Évaluer les résultats.
  • Faites glisser et déposez les données d'entraînement.
  • Créez des rapports de prévision.
  • Utilisez une requête en texte brut.

Codeless ML rend les applications d'apprentissage automatique facilement accessibles aux développeurs, mais il ne remplace pas les projets avancés et nuancés. Cette approche convient aux petites entreprises qui ne disposent pas des fonds nécessaires pour maintenir une équipe interne de science des données.

TinyML

TinyML est une nouvelle approche de l'apprentissage automatique et du développement de modèles d'intelligence artificielle. Cela implique d'exécuter des modèles sur des appareils soumis à des contraintes matérielles, tels que les microcontrôleurs qui alimentent les voitures intelligentes, les réfrigérateurs et les compteurs d'électricité. Cette stratégie fonctionne mieux pour ces cas d'utilisation car elle accélère l'algorithme : les données n'ont pas besoin d'être transférées dans les deux sens sur le serveur. Ceci est particulièrement important sur les grands serveurs et peut accélérer l’ensemble du processus de développement ML.

L'exécution de programmes TinyML sur des appareils IoT Edge présente de nombreux avantages :

  • Consommation d'énergie réduite.
  • Réduisez la latence.
  • Confidentialité des utilisateurs garantie.
  • Réduisez les besoins en bande passante.

L'utilisation de TinyML offre une plus grande confidentialité car le processus de calcul est entièrement local. Il consomme moins d'énergie et de bande passante, ce qui entraîne une latence plus faible car il ne nécessite pas d'envoyer les données à un emplacement central pour leur traitement. Les industries qui profitent de cette innovation comprennent l’agriculture et la santé. Ils utilisent généralement des appareils IoT intégrés aux algorithmes TinyML pour utiliser les données collectées afin de surveiller et prédire les événements du monde réel.

Conclusion

Cet article explique les principales différences entre MLOps et DevOps :

  • Développement – ​​​​Le pipeline DevOps se concentre sur le développement de nouvelles versions de produits logiciels, tandis que MLOps se concentre sur la fourniture de modèles d'apprentissage automatique efficaces.
  • Contrôle de version – DevOps se concentre principalement sur le suivi des binaires et des artefacts logiciels, tandis que MLOps suit d'autres facteurs tels que les hyperparamètres et les performances du modèle.
  • Réutilisabilité – DevOps et MLOps s'efforcent tous deux de créer des processus et des pipelines réutilisables, mais utilisent des stratégies différentes pour atteindre la répétabilité.
  • Surveillance continue – La surveillance est importante dans DevOps, mais encore plus importante dans MLOps, car la dérive du modèle et des données peut entraîner une dégradation des performances du modèle.

Enfin, nous abordons certaines des tendances clés qui transformeront DevOps et MLOps dans un avenir proche. J'espère que cela vous aidera à découvrir votre place dans le nouvel et passionnant écosystème de développement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer