Présentation de Vertex AI Pipelines

Vertex AI Pipelines vous permet d'automatiser, de surveiller et de gérer vos systèmes de machine learning (ML) sans serveur en utilisant des pipelines de ML pour orchestrer vos workflows de ML. Vous pouvez exécuter par lot des pipelines de ML définis à l'aide des frameworks Kubeflow Pipelines (KFP) ou TensorFlow Extended (TFX). Pour découvrir comment choisir un framework de définition de votre pipeline de ML, consultez la section Interfaces permettant de définir un pipeline.

Cette page présente les éléments suivants :

Qu'est-ce qu'un pipeline de ML ?

Un pipeline de ML est une description portable et extensible d'un workflow MLOps sous la forme d'une série d'étapes appelées "tâches de pipeline". Chaque tâche effectue une étape spécifique dans le workflow pour entraîner et/ou déployer un modèle de ML.

Avec les pipelines de ML, vous pouvez appliquer des stratégies MLOps pour automatiser et surveiller les processus reproductibles de votre pratique du ML. Par exemple, vous pouvez réutiliser une définition de pipeline pour réentraîner un modèle en continu sur les dernières données de production. Pour en savoir plus sur le MLOps dans Vertex AI, consultez la section MLOps sur Vertex AI.

Structure d'un pipeline de ML

Un pipeline de ML est un graphe orienté acyclique (DAG) de tâches de pipeline conteneurisées, qui sont connectées entre elles à l'aide de dépendances d'entrée/sortie. Vous pouvez créer chaque tâche en Python ou en tant qu'image de conteneur prédéfinie.

Vous pouvez définir le pipeline en tant que DAG à l'aide du SDK Kubeflow Pipelines ou du SDK TFX, le compiler en YAML servant de représentation intermédiaire, puis l'exécuter. Par défaut, les tâches de pipeline s'exécutent en parallèle. Vous pouvez associer les tâches pour les exécuter en série. Pour plus d'informations sur les tâches de pipeline, consultez la section Tâche de pipeline. Pour en savoir plus sur le workflow de définition, de compilation et d'exécution du pipeline, consultez la section Cycle de vie d'un pipeline de ML.

Tâches et composants d'un pipeline

Une tâche de pipeline est une instanciation d'un composant de pipeline avec des entrées spécifiques. Lorsque vous définissez votre pipeline de ML, vous pouvez connecter plusieurs tâches entre elles pour former un DAG, en acheminant les sorties d'une tâche de pipeline vers les entrées de la tâche de pipeline suivante dans le workflow de ML. Vous pouvez également utiliser les entrées du pipeline de ML en tant qu'entrées d'une tâche de pipeline.

Composant de pipeline

Un composant de pipeline est un ensemble autonome de code qui effectue une étape spécifique d'un workflow de ML, par exemple le prétraitement des données, l'entraînement du modèle ou son déploiement. Un composant comprend généralement les éléments suivants :

  • Entrées : un composant peut avoir un ou plusieurs paramètres et artefacts d'entrée.

  • Sorties : chaque composant possède un ou plusieurs paramètres ou artefacts de sortie.

  • Logique : il s'agit du code exécutable du composant. Pour les composants conteneurisés, la logique contient également la définition de l'environnement ou l'image du conteneur dans lequel le composant est exécuté.

Les composants constituent la base de la définition de tâches dans un pipeline de ML. Pour définir des tâches de pipeline, vous pouvez utiliser des composants prédéfinis du pipeline Google Cloud ou créer vos propres composants personnalisés.

Composants prédéfinis

Utilisez des composants prédéfinis du pipeline Google Cloud si vous souhaitez utiliser dans votre pipeline des fonctionnalités de Vertex AI, telles qu'AutoML. Pour apprendre à utiliser les composants du pipeline Google Cloud afin de définir un pipeline, consultez la section Construire un pipeline.

Composants personnalisés

Vous pouvez créer vos propres composants personnalisés à utiliser dans votre pipeline de ML. Pour en savoir plus sur la création de composants personnalisés, consultez la section Créer vos propres composants de pipeline.

Pour apprendre à créer des composants Kubeflow Pipelines personnalisés, consultez le notebook Jupyter Pipelines avec des composants légers basés sur des fonctions Python sur GitHub. Pour apprendre à créer des composants TFX personnalisés, consultez le tutoriel sur les composants de fonction Python TFX dans les tutoriels TensorFlow Extended en production.

Tâche de pipeline

Une tâche de pipeline est l'instanciation d'un composant de pipeline, qui effectue une étape spécifique dans votre workflow de ML. Vous pouvez créer des tâches de pipeline de ML à l'aide de Python ou en tant qu'images de conteneurs prédéfinies.

Dans une tâche, vous pouvez exploiter les capacités de calcul à la demande de Vertex AI avec Kubernetes pour exécuter votre code de manière évolutive, ou déléguer votre charge de travail à un autre moteur d'exécution, tel que BigQuery, Dataflow ou Dataproc sans serveur.

Cycle de vie d'un pipeline de ML

De la définition à l'exécution et à la surveillance, le cycle de vie d'un pipeline de ML comprend les étapes générales suivantes :

  1. Définition : le processus de définition d'un pipeline de ML et de sa tâche est également appelé création d'un pipeline. Dans cette étape, vous devez effectuer les actions suivantes :

    1. Choisir un framework de ML : Vertex AI Pipelines est compatible avec les pipelines de ML définis à l'aide des frameworks TFX ou Kubeflow Pipelines. Pour savoir comment choisir un framework de création de votre pipeline, consultez la section Interfaces permettant de définir un pipeline.

    2. Définir les tâches de pipeline et configurer le pipeline : pour plus d'informations, consultez la section Construire un pipeline.

  2. Compilation : dans cette étape, vous devez effectuer les actions suivantes :

    1. Générer la définition de votre pipeline de ML dans un fichier YAML compilé pour la représentation intermédiaire, que vous pouvez utiliser pour exécuter votre pipeline de ML.

    2. Facultatif : Vous pouvez importer le fichier YAML compilé dans un dépôt en tant que modèle de pipeline et le réutiliser pour créer des exécutions de pipeline de ML.

  3. Exécution : créez une instance d'exécution de votre pipeline de ML à l'aide du fichier YAML compilé ou d'un modèle de pipeline. L'instance d'exécution d'une définition de pipeline est appelée exécution de pipeline.

    Vous pouvez créer une occurrence unique de l'exécution du pipeline ou utiliser le programmeur Vertex AI pour créer des exécutions de pipeline récurrentes à partir de la même définition de pipeline de ML. Vous pouvez également cloner une exécution de pipeline existante. Pour savoir comment choisir une interface d'exécution d'un pipeline de ML, consultez la section Interfaces permettant d'exécuter un pipeline. Pour en savoir plus sur la création d'une exécution de pipeline, consultez la section Exécuter un pipeline.

  4. Surveillance, visualisation et analyse des exécutions : après avoir créé une exécution de pipeline, vous pouvez effectuer les actions suivantes pour surveiller les performances, l'état et les coûts des exécutions du pipeline :

  5. Facultatif : arrêt ou suppression d'exécutions de pipeline : la durée de maintien en activité d'un pipeline n'est soumise à aucune limite. Vous pouvez facultativement effectuer les actions suivantes :

    • Arrêter une exécution de pipeline.

    • Mettre en pause ou reprendre une planification d'exécution de pipeline.

    • Supprimer un modèle de pipeline, une exécution de pipeline ou une planification d'exécution de pipeline existants.

Qu'est-ce qu'une exécution de pipeline ?

Une exécution de pipeline est une instance d'exécution de votre définition de pipeline de ML. Chaque exécution de pipeline est identifiée par un nom d'exécution unique. Vertex AI Pipelines vous permet de créer une exécution de pipeline de ML de différentes manières :

  • Utiliser la définition YAML compilée d'un pipeline

  • Utiliser un modèle prédéfini à partir de la galerie de modèles

Pour en savoir plus sur la création d'une exécution de pipeline, consultez la section Exécuter un pipeline. Pour en savoir plus sur la création d'une exécution de pipeline à partir d'un modèle de pipeline, consultez la section Créer, importer et utiliser un modèle de pipeline.

Pour en savoir plus sur le suivi et le stockage des artefacts et des métadonnées d'exécution du pipeline à l'aide de Vertex ML Metadata, consultez la section Utiliser Vertex ML Metadata pour suivre la traçabilité des artefacts de ML.

Pour plus d'informations sur l'utilisation des exécutions de pipeline pour tester votre workflow de ML à l'aide des tests Vertex AI, consultez la section Ajouter des exécutions de pipeline aux tests.

Utiliser Vertex ML Metadata pour suivre la traçabilité des artefacts de ML

Une exécution de pipeline contient plusieurs artefacts et paramètres, y compris des métadonnées de pipeline. Pour comprendre les changements dans les performances ou la justesse de votre système de ML, vous devez analyser les métadonnées et la traçabilité des artefacts de ML pour vos exécutions de pipeline. La traçabilité d'un artefact de ML comprend tous les facteurs qui ont contribué à sa création, ainsi que les artefacts et les métadonnées qui en découlent.

Gérer ces métadonnées de manière ad hoc peut s'avérer difficile et chronophage. Vertex ML Metadata vous permet de suivre ces métadonnées efficacement. Lorsque vous exécutez un pipeline à l'aide de Vertex AI Pipelines, les artefacts et les métadonnées de l'exécution du pipeline sont stockés à l'aide de Vertex ML Metadata.

Pour en savoir plus sur le suivi de la traçabilité des artefacts de ML à l'aide de Vertex ML Metadata, consultez la section Suivre la traçabilité des artefacts de pipelines.

Pour en savoir plus sur la visualisation, l'analyse et la comparaison des exécutions de pipeline, consultez la section Visualiser et analyser les résultats du pipeline. Pour obtenir la liste des types d'artefacts propriétaires définis dans les composants du pipeline Google Cloud, consultez la section Types d'artefacts de métadonnées de ML.

Ajouter des exécutions de pipeline aux tests

Les tests Vertex AI vous permettent de suivre et d'analyser différentes architectures de modèle, hyperparamètres et environnements d'entraînement afin de trouver le meilleur modèle pour votre cas d'utilisation de ML. Après avoir créé une exécution de pipeline de ML, vous pouvez l'associer à un test ou à une exécution de test. Vous pouvez ainsi tester différents ensembles de variables, tels que les hyperparamètres, le nombre d'étapes d'entraînement ou les itérations.

Pour plus d'informations sur les tests de workflows de ML à l'aide des tests Vertex AI, consultez la section Présentation des tests Vertex AI.

Étapes suivantes