🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
  • Home
  • Blog
  • Opérationnaliser l'IA à grande échelle avec Software 2.0, MLOps et Milvus

Opérationnaliser l'IA à grande échelle avec Software 2.0, MLOps et Milvus

  • Engineering
March 31, 2021
milvus

La création d'applications d'apprentissage machine (ML) est un processus complexe et itératif. Alors que de plus en plus d'entreprises réalisent le potentiel inexploité des données non structurées, la demande de traitement et d'analyse de données alimentés par l'IA continuera d'augmenter. Sans opérations d'apprentissage automatique (MLOps) efficaces, la plupart des investissements dans les applications d'apprentissage automatique s'étiolent. Des études ont montré que seulement 5 % des applications d'IA que les entreprises prévoient de déployer atteignent effectivement le stade de la mise en œuvre. De nombreuses organisations contractent une "dette de modèle", où les changements dans les conditions du marché, et l'incapacité à s'y adapter, se traduisent par des investissements non réalisés dans des modèles qui ne sont pas réactualisés (ou pire, qui ne sont jamais déployés).

Cet article explique MLOps, une approche systémique de la gestion du cycle de vie des modèles d'IA, et comment la plateforme open-source de gestion des données vectorielles Milvus peut être utilisée pour opérationnaliser l'IA à grande échelle.


Qu'est-ce que MLOps ?

Les opérations d'apprentissage automatique (MLOps), également connues sous le nom d'opérations de modèle (ModelOps) ou d'opérationnalisation de modèle d'IA, sont nécessaires pour construire, maintenir et déployer des applications d'IA à l'échelle. Les entreprises cherchant à appliquer les modèles d'IA qu'elles développent à des centaines de scénarios différents, il est essentiel que les modèles utilisés, et ceux en cours de développement, soient opérationnalisés dans l'ensemble de l'organisation. MLOps implique la surveillance d'un modèle d'apprentissage automatique tout au long de son cycle de vie et la gestion de tous les éléments, des données sous-jacentes à l'efficacité d'un système de production qui s'appuie sur un modèle particulier.

01.jpg 01.jpg

Gartner définit ModelOps comme la gouvernance et la gestion du cycle de vie d'un large éventail de modèles opérationnels d'intelligence artificielle et de décision. Les principales fonctionnalités de MLOps peuvent être décomposées comme suit :

  • Intégration continue/livraison continue (CI/CD) : Ensemble de bonnes pratiques empruntées aux opérations des développeurs (DevOps), CI/CD est une méthode permettant de fournir des modifications de code plus fréquemment et de manière plus fiable. L'intégration continue favorise la mise en œuvre des modifications de code par petits lots tout en les surveillant à l'aide d'un contrôle de version strict. La livraison continue automatise la livraison d'applications à différents environnements (par exemple, des environnements de test et de développement).

  • Environnements de développement de modèles (EDM) : Processus complexe de construction, de révision, de documentation et d'examen des modèles, l'EDM permet de s'assurer que les modèles sont créés de manière itérative, documentés au fur et à mesure de leur développement, fiables et reproductibles. Un EDM efficace garantit que les modèles peuvent être explorés, étudiés et expérimentés de manière contrôlée.

  • Tests de champions et de challengers : Semblable à la méthodologie des tests A/B utilisée par les spécialistes du marketing, le test du champion-challenger consiste à expérimenter différentes solutions pour faciliter le processus de prise de décision qui précède l'engagement dans une approche unique. Cette technique implique le suivi et la mesure des performances en temps réel afin d'identifier l'écart qui fonctionne le mieux.

  • Versionnement du modèle : Comme pour tout système complexe, les modèles d'apprentissage automatique sont développés par étapes par de nombreuses personnes différentes, ce qui pose des questions de gestion des données concernant les versions des données et des modèles d'apprentissage automatique. Le versionnage des modèles permet de gérer et de gouverner le processus itératif de développement de l'apprentissage automatique, dans lequel les données, les modèles et le code peuvent évoluer à des rythmes différents.

  • Stockage et retour en arrière des modèles : Lorsqu'un modèle est déployé, le fichier image correspondant doit être stocké. Les capacités de retour en arrière et de récupération permettent aux équipes MLOps de revenir à une version antérieure du modèle si nécessaire.

L'utilisation d'un seul modèle dans une application de production présente un certain nombre de difficultés. MLOps est une méthode structurée et reproductible qui s'appuie sur des outils, des technologies et des bonnes pratiques pour résoudre les problèmes techniques ou commerciaux qui surviennent au cours du cycle de vie d'un modèle d'apprentissage automatique. Une MLOps réussie maintient l'efficacité des équipes qui travaillent à la construction, au déploiement, à la surveillance, au recyclage et à la gestion des modèles d'IA et de leur utilisation dans les systèmes de production.


Pourquoi le MLOps est-il nécessaire ?

Comme le montre le cycle de vie du modèle ML ci-dessus, la construction d'un modèle d'apprentissage automatique est un processus itératif qui implique l'intégration de nouvelles données, le recyclage des modèles et la gestion de la dégradation générale du modèle au fil du temps. Ce sont tous des problèmes que les opérations de développement traditionnelles, ou DevOps, n'abordent pas et pour lesquels elles n'offrent pas de solutions. MLOps est devenu nécessaire pour gérer les investissements dans les modèles d'IA et garantir un cycle de vie productif des modèles. Étant donné que les modèles d'apprentissage automatique seront exploités par une variété de systèmes de production différents, MLOps devient essentiel pour s'assurer que les exigences peuvent être satisfaites dans différents environnements et au milieu de divers scénarios.

02.jpg 02.jpg


L'illustration simple ci-dessus montre un modèle d'apprentissage automatique déployé dans un environnement en nuage qui alimente une application. Dans ce scénario de base, un certain nombre de problèmes peuvent survenir que les MLOps aident à surmonter. L'application de production reposant sur un environnement cloud spécifique, il existe des exigences en matière de latence auxquelles les scientifiques des données qui ont développé le modèle d'apprentissage automatique n'ont pas accès. L'opérationnalisation du cycle de vie du modèle permettrait aux data scientists ou aux ingénieurs ayant une connaissance approfondie du modèle d'identifier et de résoudre les problèmes qui surviennent dans des environnements de production spécifiques.

Non seulement les modèles d'apprentissage automatique sont formés dans des environnements différents des applications de production dans lesquelles ils sont utilisés, mais ils s'appuient aussi souvent sur des ensembles de données historiques qui diffèrent des données utilisées dans les applications de production. Avec MLOps, l'ensemble de l'équipe de science des données, depuis les personnes qui développent le modèle jusqu'à celles qui travaillent au niveau de l'application, dispose d'un moyen de partager et de demander des informations et de l'aide. La vitesse à laquelle les données et les marchés évoluent fait qu'il est impératif qu'il y ait le moins de frictions possible entre toutes les parties prenantes et les contributeurs clés qui dépendront d'un modèle d'apprentissage automatique donné.

Soutenir la transition vers le logiciel 2.0

L'idée selon laquelle le développement de logiciels va connaître un changement de paradigme, l'intelligence artificielle jouant de plus en plus un rôle central dans l'écriture des modèles d'IA qui alimentent les applications logicielles, est celle du logiciel2.0. Dans le cadre du logiciel 1.0, le développement implique que les programmeurs écrivent des instructions explicites à l'aide d'un langage de programmation spécifique (par exemple, Python, C++). Le logiciel 2.0 est beaucoup plus abstrait. Bien que des personnes fournissent des données d'entrée et définissent des paramètres, les réseaux neuronaux sont difficiles à comprendre pour les humains en raison de leur complexité même, les réseaux typiques contenant des millions de poids qui ont un impact sur les résultats (et parfois des milliards ou des trillions).

DevOps s'est construit autour de la dépendance du logiciel 1.0 à l'égard d'instructions spécifiques dictées par des programmeurs utilisant des langages, mais n'a jamais pris en compte le cycle de vie d'un modèle d'apprentissage automatique qui alimente une variété d'applications différentes. MLOps répond à la nécessité de faire évoluer le processus de gestion du développement logiciel en même temps que le logiciel en cours de développement. À l'heure où le logiciel 2.0 devient la nouvelle norme en matière de résolution de problèmes par ordinateur, le fait de disposer des bons outils et processus pour gérer les cycles de vie des modèles permettra d'investir ou non dans les nouvelles technologies. Milvus est un moteur de recherche de similarités vectorielles open-source conçu pour faciliter la transition vers les logiciels 2.0 et gérer les cycles de vie des modèles avec MLOps.

03.jpg 03.jpg


Opérationnaliser l'IA à grande échelle avec Milvus

Milvus est une plateforme de gestion de données vectorielles spécialement conçue pour le stockage, l'interrogation, la mise à jour et la maintenance d'ensembles de données vectorielles massifs, à l'échelle du trillion. La plateforme permet la recherche de similarités vectorielles et peut s'intégrer à des bibliothèques d'index largement adoptées, notamment Faiss, NMSLIB et Annoy. En associant à Milvus des modèles d'IA qui convertissent des données non structurées en vecteurs, il est possible de créer des applications couvrant le développement de nouveaux médicaments, l'analyse biométrique, les systèmes de recommandation et bien plus encore.

Larecherche de similarités vectorielles est la solution de référence pour le traitement et l'analyse des données non structurées, et les données vectorielles s'imposent rapidement comme un type de données essentiel. Un système complet de gestion des données tel que Milvus facilite l'opérationnalisation de l'IA de nombreuses façons, notamment en

  • Fournir un environnement pour la formation des modèles qui garantit que davantage d'aspects du développement sont réalisés en un seul endroit, facilitant ainsi la collaboration entre les équipes, la gouvernance des modèles, etc.

  • L'offre d'un ensemble complet d'API prenant en charge des cadres populaires tels que Python, Java et Go, ce qui facilite l'intégration d'un ensemble commun de modèles de ML.

  • La compatibilité avec Google Colaboratory, un environnement de bloc-notes Jupyter qui s'exécute dans un navigateur, simplifie le processus de compilation de Milvus à partir du code source et l'exécution d'opérations Python de base.

  • La fonctionnalité d'apprentissage automatique (AutoML) permet d'automatiser les tâches associées à l'application de l'apprentissage automatique à des problèmes réels. Non seulement l'AutoML permet d'améliorer l'efficacité, mais il permet également aux non-experts de tirer parti des modèles et des techniques d'apprentissage automatique.

Quelles que soient les applications d'apprentissage automatique que vous créez aujourd'hui ou les applications que vous envisagez pour l'avenir, Milvus est une plate-forme de gestion des données flexible créée dans l'optique des logiciels 2.0 et des MLOps. Pour en savoir plus sur Milvus ou apporter des contributions, consultez le projet sur Github. Pour participer à la communauté ou poser des questions, rejoignez notre canal Slack. Envie de plus de contenu ? Consultez les ressources suivantes :

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Continuer à Lire