Ceci est un article du rapport sur les tendances DevOps 2023 de Développeurweb.com.
Pour plus:
Lire le rapport
La surveillance et la gestion d’un environnement DevOps sont complexes. Le volume de données généré par les nouvelles architectures distribuées (telles que Kubernetes) rend difficile pour les équipes DevOps de répondre efficacement aux demandes des clients. L’avenir du DevOps doit donc reposer sur des systèmes de gestion intelligents. Étant donné que les humains ne sont pas équipés pour gérer les volumes massifs de données et de calcul dans les opérations quotidiennes, l’intelligence artificielle (IA) deviendra l’outil essentiel pour calculer, analyser et transformer la façon dont les équipes développent, fournissent, déploient et gèrent les applications.
Que sont les opérations d’apprentissage automatique ?
Les opérations d’apprentissage automatique (MLOps) font référence à la gestion du cycle de vie des projets d’apprentissage automatique (ML). Il s’agit d’un concept clé du développement d’applications d’apprentissage automatique modernes, et son objectif est de rendre la formation, le déploiement et la maintenance des applications d’apprentissage automatique transparents et efficaces. MLOps n’est pas un ensemble de technologies spécifiques, mais plutôt un terme générique désignant des activités axées sur la création de modèles d’apprentissage automatique fiables et performants. Il comprend à la fois des pratiques de travail de développement et des méthodes de travail en équipe de projet – fonctionnant essentiellement comme un ensemble de meilleures pratiques pour le développement d’applications d’apprentissage automatique.
Avec l’application des principes MLOps, les scientifiques des données peuvent se concentrer sur le développement de base des modèles d’apprentissage automatique tandis que les pratiques MLOps s’occupent de tâches telles que le nettoyage des données, le contrôle qualité et la gestion des versions des modèles.
L’application de MLOps profite également aux propriétaires d’entreprise et aux clients. L’automatisation augmente la vitesse de développement, ce qui permet d’obtenir des résultats plus rapides et des modèles d’apprentissage automatique plus fiables. Cela conduit à des temps de développement plus courts qui, à leur tour, accélèrent la livraison du résultat final et la rentabilité. Enfin, le contrôle qualité automatisé garantit des solutions plus fiables qui sont garanties et testées pour fonctionner comme prévu, réduisant ainsi le risque de déploiements défectueux.
Cycle de vie d’un modèle d’apprentissage automatique
Le cycle de vie d’un projet d’apprentissage automatique diffère d’une application traditionnelle. Le diagramme de la figure 1 détaille les étapes de déploiement d’un projet de machine learning en production :
Figure 1 : Cycle de vie du modèle d’apprentissage automatique
- Extraction de données – ingérer des données provenant de diverses sources
- L’analyse exploratoire des données – comprendre le format des données
- Préparation des données – nettoyage et traitement des données pour un traitement facile
- Formation de modèle – créer et former un modèle pour traiter les données
- Validation et évaluation du modèle – évaluer le modèle sur des données de test pour valider les performances
- Gestion des versions du modèle – publier une version du modèle
- Déploiement du modèle – déploiement du modèle en production
Éléments de base des MLOps
Il existe plusieurs cadres d’apprentissage automatique qui vous permettent de déployer, de gérer et de surveiller des modèles. Par exemple, KubeFlow est une boîte à outils qui simplifie la gestion des modèles sur la plate-forme Kubernetes. Une boîte à outils doit être composée de :
- Un contrôle de version pour garder une trace de tout changement dans les jeux de données ou les modèles
- Un magasin de fonctionnalités pour les données centralisées et les fonctionnalités fréquemment utilisées
- Un tracker pour suivre les performances des modèles en formation
- Un outil pour former automatiquement des modèles à l’aide d’un ensemble d’hyperparamètres optimaux
- Une plateforme pour déployer des modèles en production
- Un outil de surveillance pour suivre et gouverner les modèles d’apprentissage automatique déployés en production
Que sont les opérations d’intelligence artificielle ?
Gartner, créateur du terme « opérations d’intelligence artificielle » (AIOps), le définit comme l’utilisation du Big Data et de l’apprentissage automatique pour automatiser les tâches des opérations informatiques, telles que la corrélation des événements, l’identification des événements inhabituels et la détermination des causes et des effets. L’AIOps utilise des mégadonnées, des analyses et des algorithmes d’intelligence artificielle pour analyser de grandes quantités de données générées par les systèmes et les applications informatiques en temps réel. Ces données incluent, entre autres, les fichiers journaux, les mesures de performances et les événements de sécurité. Les algorithmes d’IA traitent ces données pour identifier des modèles, détecter des anomalies et générer des informations qui peuvent aider les équipes informatiques à résoudre rapidement les incidents et à prévenir les problèmes potentiels avant qu’ils ne surviennent.
Les solutions AIOps peuvent également automatiser les tâches manuelles telles que la corrélation des événements, l’analyse des causes profondes et la résolution des incidents, ce qui permet aux équipes informatiques de se concentrer sur des initiatives plus stratégiques. AIOps peut également aider les organisations à résoudre plus rapidement les problèmes, à réduire les temps d’arrêt et à améliorer l’efficacité globale des opérations informatiques. Il aide les équipes à travailler plus rapidement et plus intelligemment en libérant la puissance de l’IA.
Les principales fonctionnalités d’AIOps qui permettent une numérisation efficace des flux de travail sont :
- Optimisation du processus – Améliore l’efficacité dans toute l’entreprise en donnant une compréhension complète des connexions et des effets entre les systèmes. Après avoir identifié un problème, il facilite le raffinement et la surveillance continue des processus.
- Analyse des performances – Anticipe les goulots d’étranglement des performances en examinant les tendances et en apportant les améliorations nécessaires au besoin.
- Intelligence prédictive – Utilise l’apprentissage automatique pour catégoriser les incidents, suggérer des solutions et alerter de manière proactive les problèmes critiques.
- Recherche IA – Offre des réponses précises et personnalisées grâce à des capacités de recherche sémantique.
- Base de données de gestion de configuration – Améliore la prise de décision avec une visibilité sur l’environnement informatique en connectant les produits tout au long du cycle de vie numérique, permettant aux équipes de comprendre l’impact et les risques.
Figure 2 : Cycle de vie des AIOps
Élément central de l’AIOps
Les définitions d’AIOps varient d’une entreprise à l’autre, car chaque entreprise a des besoins et des approches uniques pour mettre en œuvre des solutions d’IA dans les opérations informatiques. L’objectif principal d’AIOps est d’identifier et de répondre efficacement aux problèmes en temps réel. Certains composants de base d’AIOps peuvent aider à la mise en œuvre de l’IA dans les opérations informatiques :
- Découverte de modèles basée sur ML – L’AIOps ou l’analyse informatique implique l’identification de modèles. L’apprentissage automatique exploite la capacité de calcul des ordinateurs pour identifier ces modèles dans les données informatiques.
- Détection d’une anomalie – Un comportement inhabituel du système, tel qu’un temps d’arrêt ou une mauvaise expérience client, peut résulter de modifications du comportement normal. AIOps permet de détecter tout écart par rapport aux activités typiques.
- Informations prédictives – AIOps introduit la prévisibilité dans les opérations informatiques, permettant au personnel informatique de résoudre de manière proactive les problèmes avant qu’ils ne surviennent, réduisant ainsi le nombre de tickets du centre de service.
- Analyse automatisée des causes profondes – Il ne suffit pas d’avoir des idées. Il est important d’agir. Dans la gestion informatique traditionnelle, le personnel surveille les systèmes et prend les mesures nécessaires. Cependant, avec le volume croissant de problèmes d’infrastructure informatique, il peut être difficile pour le personnel de gérer et de résoudre les problèmes en temps opportun, en particulier lorsque plusieurs systèmes sont impliqués et que l’analyse des causes profondes peut prendre du temps. AIOps automatise ce processus en arrière-plan.
Ensemble d’outils AIOps
Les outils AIOps collectent des données provenant de plusieurs sources pour fournir une vue complète des opérations informatiques. Ils collectent des données telles que les journaux d’application et mesurent les performances du système, décomposent les silos d’informations informatiques et comblent le fossé entre les problèmes logiciels, matériels et cloud. Les solutions AIOps facilitent les opérations informatiques en fournissant des outils d’analyse des causes profondes, de corrélation des événements et de cartographie cloud pour prendre en charge l’automatisation :
- Observabilité intelligente – AIOps utilise des techniques de surveillance avancées avec l’utilisation d’informations contextuelles, d’IA et d’automatisation pour acquérir une compréhension complète des problèmes informatiques. Une analyse précise des causes profondes avec des informations exploitables est fournie.
- Automatisation continue – Réduit les efforts manuels de déploiement, de configuration et de gestion et identifie et évalue automatiquement la gravité des problèmes en termes d’impact sur les utilisateurs et sur l’entreprise. La découverte continue, les déploiements sans effort et le mappage automatique des dépendances sont rendus possibles.
- Assistance IA – Effectue une analyse des causes profondes efficace et sans erreur. Des résultats précis et reproductibles sont obtenus avec le moteur d’IA intégré dans chaque aspect.
Quelle est la différence entre MLOps et AIOps ?
Couplées à la complexité croissante des architectures des applications modernes, les exigences de cette économie numérique ont rendu le rôle des opérations informatiques beaucoup plus complexe. En conséquence, le ML et l’IA ont émergé pour automatiser certains processus commerciaux manuels afin d’accroître l’efficacité.
MLOps et AIOps visent tous deux le même objectif final : l’automatisation de l’entreprise. Alors que MLOps comble le fossé entre la création de modèles et le déploiement, AIOps se concentre sur le support et la réaction aux problèmes en temps réel et fournit des analyses à l’équipe des opérations. AIOps combine le Big Data et l’apprentissage automatique pour automatiser la surveillance des performances, l’analyse des événements, la corrélation et l’automatisation informatique.
Figure 3 : AIOps vs MLOps vs DevOps
MLOps, d’autre part, se concentre sur la gestion des données de formation et de test nécessaires pour créer efficacement des modèles d’apprentissage automatique. Il s’agit de surveiller et de gérer les modèles ML. En d’autres termes, MLOps standardise les processus tandis que AIOps automatise la surveillance des machines.
Il existe des parallèles dans les équipes et les capacités nécessaires pour exécuter correctement AIOps et MLOps, malgré les distinctions évidentes. Il vaut la peine de considérer où ils se croisent pour déterminer quelles ressources peuvent soutenir les deux disciplines.
Conclusion
Les organisations du monde entier se tournent de plus en plus vers les technologies d’automatisation comme moyen d’améliorer l’efficacité opérationnelle. Cela indique que les leaders technologiques s’intéressent de plus en plus aux MLOps et aux AIOps.
Les systèmes d’apprentissage automatique peuvent simplifier la collecte de données à partir de diverses parties du système DevOps, telles que la vitesse, les défauts trouvés et le taux de combustion. MLOps s’occupe de l’intégration et du déploiement continus des modèles. Il permet aux utilisateurs de faire la lumière sur des modèles importants et d’exploiter les données pour extraire des informations significatives. Cela implique également une surveillance et une formation continue des modèles en production afin d’assurer la…