Présentation d'AI Platform Pipelines

Les workflows de machine learning (ML) comprennent des étapes de préparation et d'analyse des données, d'entraînement et d'évaluation des modèles, de déploiement en production des modèles entraînés, de suivi des artefacts de ML et de compréhension des dépendances. La gestion ad hoc de ces étapes peut être difficile et chronophage.

MLOps est la pratique qui consiste à appliquer des principes DevOps pour automatiser, gérer et effectuer des audits de workflows de ML. AI Platform Pipelines vous aide à mettre en œuvre des MLOps en fournissant une plate-forme où vous pouvez orchestrer les étapes de votre workflow en tant que pipeline. Les pipelines de ML sont des définitions portables et reproductibles des workflows de ML.

AI Platform Pipelines facilite la mise en œuvre des MLOps en vous épargnant la difficulté de configurer Kubeflow Pipelines avec TensorFlow Extended (TFX). Kubeflow Pipelines est une plate-forme Open Source permettant d'exécuter, de surveiller, d'effectuer un audit et de gérer des pipelines de ML sur Kubernetes. TFX est un projet Open Source permettant de créer des pipelines de ML qui orchestrent les workflows de ML de bout en bout.

À propos de Kubeflow et de la plate-forme Kubeflow Pipelines

Kubeflow est une panoplie d'outils Open Source permettant d'exécuter des charges de travail de ML sur Kubernetes. Kubeflow Pipelines est un composant de Kubeflow qui fournit une plate-forme pour la création et le déploiement de workflows de ML, appelés pipelines.

À propos de TensorFlow Extended

TFX est un projet Open Source que vous pouvez utiliser pour concevoir vos workflows de ML basés sur TensorFlow comme un pipeline. TFX fournit des composants que vous pouvez réutiliser pour intégrer et transformer des données, entraîner et évaluer un modèle, déployer un modèle d'inférence, etc. En réutilisant les composants TFX, vous pouvez orchestrer votre processus de ML sans créer de composants personnalisés pour chaque étape.

À propos d'AI Platform Pipelines

AI Platform Pipelines vous évite les difficultés suivantes :

Avec AI Platform Pipelines, vous pouvez configurer un cluster Kubeflow Pipelines en 15 minutes pour profiter au plus vite des pipelines de ML. AI Platform Pipelines crée également un bucket Cloud Storage, pour faciliter l'exécution des tutoriels de pipeline et commencer à utiliser les modèles de pipeline TFX.

Comprendre les pipelines de ML

Les pipelines de ML sont des workflows de ML portables et évolutifs, basés sur des conteneurs. Les pipelines de ML sont composés d'un ensemble de paramètres d'entrée et d'une liste de tâches. Chaque tâche représente une instance d'un composant de pipeline.

Vous pouvez utiliser des pipelines de ML pour :

  • appliquer des stratégies MLOps afin d'automatiser les processus reproductibles ;
  • effectuer un test en exécutant un workflow de ML avec différents ensembles d'hyperparamètres, plusieurs étapes ou itérations d'entraînement, etc ;
  • réutiliser le workflow d'un pipeline pour entraîner un nouveau modèle.

Vous pouvez créer des pipelines à l'aide des modèles de pipeline TensorFlow Extended ou du SDK Kubeflow Pipelines.

Comprendre les composants d'un pipeline

Les composants des pipelines sont des ensembles autonomes de code qui effectuent une étape dans le workflow d'un pipeline, comme le prétraitement des données, la transformation des données, l'entraînement d'un modèle, etc.

Les composants incluent un ensemble de paramètres d'entrée, un ensemble de sorties et l'emplacement d'une image de conteneur. L'image de conteneur d'un composant est un package qui fournit le code exécutable du composant et définit l'environnement dans lequel le code s'exécute.

Comprendre le workflow d'un pipeline

Chaque tâche d'un pipeline effectue une étape dans le workflow d'un pipeline. Les tâches étant des instances de composants du pipeline, les tâches comportent des paramètres d'entrée, des sorties et une image de conteneur. Les paramètres d'entrée de la tâche peuvent être définis à partir des paramètres d'entrée du pipeline ou en fonction de la sortie d'autres tâches dans ce pipeline. Kubeflow Pipelines utilise ces dépendances pour définir le workflow du pipeline comme un graphe orienté acyclique.

Par exemple, considérons un pipeline qui comprend les tâches suivantes :

  • Prétraitement : cette tâche prépare les données d'entraînement.
  • Entraînement : cette tâche utilise les données d'entraînement prétraitées pour entraîner le modèle.
  • Prédiction : cette tâche déploie le modèle entraîné en tant que service de ML et obtient des prédictions pour l'ensemble de données de test.
  • Matrice de confusion : cette tâche utilise la sortie de la tâche de prédiction pour créer une matrice de confusion.
  • Courbe ROC : cette tâche utilise la sortie de la tâche de prédiction pour analyser la courbe ROC (Receiver Operating Characteristic).

Pour créer le graphique de workflow, le SDK Kubeflow Pipelines analyse les dépendances entre les tâches.

  • La tâche de prétraitement ne dépend d'aucune autre tâche. Elle peut donc être la première tâche du workflow ou être exécutée simultanément avec d'autres tâches.
  • La tâche d'entraînement repose sur les données générées par la tâche de prétraitement. L'entraînement doit donc avoir lieu après le prétraitement.
  • La tâche de prédiction repose sur le modèle entraîné produit par la tâche d'entraînement. Par conséquent, la prédiction doit avoir lieu après l'entraînement.
  • La création de la matrice de confusion et l'analyse de la courbe ROC reposent toutes deux sur le résultat de la tâche de prédiction. Elles doivent donc avoir lieu une fois la prédiction terminée. La création de la matrice de confusion et l'analyse de la courbe ROC peuvent se produire simultanément, car elles dépendent toutes deux du résultat de la tâche de prédiction.

Sur la base de cette analyse, le système de Kubeflow Pipelines exécute les tâches de prétraitement, d'entraînement et de prédiction de manière séquentielle, puis exécute simultanément la matrice de confusion et les tâches ROC.

Étapes suivantes