MLOps avec Intelligent Product Essentials

Last reviewed 2022-06-28 UTC

Ce document décrit une architecture de référence pour la mise en œuvre de MLOps à l'aide de Intelligent Products Essentials et de Vertex AI. Ces outils peuvent aider les fabricants à améliorer en permanence leurs produits en procédant comme suit :

  • Ajout de fonctionnalités intelligentes pour répondre plus efficacement aux besoins des clients.
  • Monétisation de nouvelles fonctionnalités de produit.

En tenant compte de ces objectifs, ce document est destiné aux data scientists, aux ingénieurs en machine learning (ML) et aux architectes de solutions qui souhaitent en savoir plus sur l'architecture des solutions MLOps pour les produits connectés.

MLOps

Comme décrit dans le document Hidden technical debt in ML systems (Dette technique cachée des systèmes de ML), le code de ML ne constitue qu'une petite partie des systèmes de ML matures. En plus du code de ML et des données de haute qualité, vous avez besoin d'un moyen de mettre en œuvre vos processus de ML.

MLOps est une pratique qui aide les entreprises à créer, à déployer et à mettre en œuvre des systèmes de ML de manière rapide, reproductible et fiable. Il permet d'appliquer des principes DevOps aux systèmes de ML. Le MLOps est une culture et une pratique d'ingénierie visant à unifier le développement (Dev) et les opérations (Ops) des systèmes de ML. L'objectif du MLOps est de fournir un ensemble de processus standardisés et de fonctionnalités technologiques permettant de créer, de déployer et de mettre en œuvre des systèmes de ML rapidement et de manière fiable.

Les sections suivantes expliquent comment les MLOps peuvent être mis en œuvre avec Intelligent Products Essentials et Vertex AI.

Personas du MLOps

Architecture de haut niveau d'Intelligent Products Essentials et des principaux personas utilisateur de MLOps

Le schéma ci-dessus présente les composants et les principaux personas utilisateur de MLOps suivants :

  • Intelligent Products Essentials : stocke les données client, les données des appareils, la télémétrie des appareils et les données de propriété sur BigQuery et Cloud Storage.
  • Data scientists : chargés d'analyser les données stockées dans Intelligent Products Essentials, d'extraire les caractéristiques, de développer des modèles, d'évaluer les modèles et de créer un pipeline de ML.
  • Ingénieurs en ML : chargés de l'orchestration et de l'hébergement du déploiement des modèles à grande échelle.

Les sections suivantes décrivent l'architecture MLOps du point de vue des data scientists et des ingénieurs en ML.

Data scientists

Pour tout problème de ML, l'objectif des data scientists est d'appliquer des techniques d'analyse et de ML avancées pour identifier des modèles dans les données et les prédictions de sortie. Les données étant la base du ML, les data scientists ont besoin d'accéder facilement aux ensembles de données et à un environnement de développement flexible pour les analyser.

Le schéma suivant illustre l'architecture MLOps d'Intelligent Products Essentials du point de vue des data scientists.

Architecture MLOps détaillée d'Intelligent Products Essentials du point de vue des data scientists.

Le schéma ci-dessus présente les composants MLOps suivants pour les data scientists :

  • Vertex AI Workbench : offre une infrastructure de calcul entièrement gérée, évolutive, basée sur Jupyter et adaptée aux entreprises permettant de se connecter à toutes les données Google Cloud de l'organisation. Les data scientists peuvent utiliser cette infrastructure comme environnement de développement.

  • Vertex AI Feature Store : fournit un dépôt centralisé pour l'organisation, le stockage et la publication des caractéristiques de ML. Les data scientists peuvent utiliser Vertex AI Feature Store pour stocker et partager des caractéristiques au sein de leur organisation.

  • SDK Kubeflow Pipelines : permet aux data scientists de créer et de déployer des workflows de ML portables et évolutifs à partir de conteneurs Docker. Une fois que les data scientists ont généré un modèle de ML, ils peuvent empaqueter leurs procédures d'entraînement dans un pipeline de ML à l'aide du SDK Kubeflow Pipelines.

  • Vertex AI Pipelines : fournit un environnement d'exécution pour les pipelines de ML créés à l'aide du SDK Kubeflow Pipelines ou de TensorFlow Extended. Pour Intelligent Products Essentials, nous vous recommandons d'utiliser le SDK Kubeflow Pipelines. Lorsque vous utilisez le SDK Kubeflow Pipelines, il existe également des composants prédéfinis, tels que les composants du pipeline Google Cloud pour un déploiement simple et rapide. Pour obtenir la liste complète des composants prédéfinis, consultez la liste des composants du pipeline Google Cloud.

  • Cloud Source Repositories : dépôts Git privés complets hébergés sur Google Cloud. Une fois que les data scientists ont défini leur pipeline de ML pour l'entraînement continu, ils peuvent stocker la définition du pipeline dans un dépôt source, tel que Cloud Source Repositories. Cette approche déclenche l'exécution du pipeline d'intégration continue et de déploiement continu (CI/CD).

Ingénieurs en ML

Intelligent Products Essentials aide les ingénieurs en ML à automatiser le fonctionnement des modèles de ML en temps voulu et de manière fiable. Les ingénieurs en ML gèrent les pipelines CI/CD compatibles avec le déploiement du pipeline de ML, le modèle et, dans certains cas, le service de prédiction.

Le schéma suivant illustre l'architecture MLOps d'Intelligent Products Essentials du point de vue des ingénieurs en ML.

Architecture MLOps détaillée d'Intelligent Products Essentials du point de vue des ingénieurs en ML.

Le schéma ci-dessus présente les composants MLOps suivants pour les ingénieurs en machine learning :

  • Pipeline CI : compile, teste et empaquette les composants du pipeline de ML.
  • Pipeline CD : déploie le pipeline de ML dans des environnements appropriés, tels que des environnements de préproduction ou de production.
  • Pipeline de ML : prépare les données d'entraînement et entraîne les modèles de ML. Il comprend les étapes suivantes :
    • Extraction de données : extrait des ensembles de données d'entraînement à partir de sources de données prédéfinies.
    • Validation des données : identifie les anomalies dans le schéma de données et dans la distribution des valeurs des données.
    • Préparation des données : implique le nettoyage des données, la transformation des données et l'ingénierie des caractéristiques.
    • Entraînement du modèle : crée des modèles entraînés à partir de données d'entraînement et d'autres techniques de ML, telles que l'optimisation des hyperparamètres.
    • Évaluation du modèle : évalue les performances du modèle entraîné (étape précédente de l'entraînement) sur l'ensemble de données de test.
    • Validation du modèle : vérifie si le modèle entraîné est conforme à l'évaluation prédictive des performances du déploiement.
  • Déclencheurs de pipeline de ML : événements publiés dans Pub/Sub qui déclenchent le pipeline de ML pour l'entraînement continu.
  • Vertex AI Model Registry : stocke différentes versions de modèles entraînés et les métadonnées associées.
  • Prédiction par lot : applique des prédictions par lot aux données d'entrée stockées dans Cloud Storage ou BigQuery (disponibles avec AutoML Tables). L'opération de prédiction par lot peut générer les résultats de la prédiction dans Cloud Storage ou BigQuery (disponibles avec AutoML Tables) pour que les systèmes en aval puissent les utiliser.

Étape suivante