Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Ce tutoriel vous guide dans la configuration de W&B Launch pour soumettre des jobs exécutés en tant que tâches d’entraînement Vertex AI, afin de déporter les charges de travail d’entraînement vers l’infrastructure gérée de Google Cloud. Avec les tâches d’entraînement Vertex AI, vous pouvez entraîner des modèles de machine learning à l’aide d’algorithmes fournis ou personnalisés sur la plateforme Vertex AI. Une fois un job Launch démarré, Vertex AI gère l’infrastructure sous-jacente, la mise à l’échelle et l’orchestration. Ce guide s’adresse aux ingénieurs ML et aux administrateurs de plateforme qui utilisent déjà W&B Launch et souhaitent exécuter des jobs sur Google Cloud Vertex AI. W&B Launch fonctionne avec Vertex AI via la classe CustomJob du SDK google-cloud-aiplatform. Vous pouvez contrôler les paramètres d’un CustomJob à l’aide de la configuration de la file d’attente Launch. Vous ne pouvez pas configurer Vertex AI pour récupérer des images depuis un registre privé situé hors de Google Cloud. Cela signifie que vous devez stocker les images de conteneur dans Google Cloud ou dans un registre public si vous souhaitez utiliser Vertex AI avec W&B Launch. Voir la documentation Vertex AI pour plus d’informations sur la façon de rendre les images de conteneur accessibles aux jobs Vertex.

Prérequis

Avant de configurer une file d’attente Launch, assurez-vous que les ressources Google Cloud et les autorisations suivantes sont en place :
  1. Créez ou accédez à un projet Google Cloud avec l’API Vertex AI activée. Voir la documentation Google Cloud API Console pour plus d’informations sur l’activation d’une API.
  2. Créez un dépôt Google Cloud Artifact Registry pour stocker les images que vous souhaitez exécuter sur Vertex. Voir la documentation Google Cloud Artifact Registry pour plus d’informations.
  3. Créez un bucket GCS de staging pour que Vertex AI y stocke ses métadonnées. Ce bucket doit se trouver dans la même région que vos charges de travail Vertex AI afin de servir de bucket de staging. Vous pouvez utiliser le même bucket pour le staging et les contextes de build.
  4. Créez un compte de service avec les autorisations nécessaires pour lancer des jobs Vertex AI. Voir la documentation Google Cloud IAM pour plus d’informations sur l’attribution d’autorisations aux comptes de service.
  5. Accordez à votre compte de service l’autorisation de gérer les jobs Vertex, comme indiqué dans le tableau suivant :
AutorisationPortée de la ressourceDescription
aiplatform.customJobs.createProjet Google Cloud spécifiéVous permet de créer de nouveaux jobs de machine learning dans le projet.
aiplatform.customJobs.listProjet Google Cloud spécifiéVous permet de lister les jobs de machine learning dans le projet.
aiplatform.customJobs.getProjet Google Cloud spécifiéVous permet de récupérer des informations sur des jobs de machine learning spécifiques dans le projet.
Si vous souhaitez que vos charges de travail Vertex AI utilisent l’identité d’un compte de service non standard, reportez-vous à la documentation Vertex AI pour obtenir des instructions sur la création des comptes de service et les autorisations nécessaires. Utilisez le champ spec.service_account de la configuration de la file d’attente Launch pour sélectionner un compte de service personnalisé pour vos runs W&B.

Configurer une file d’attente pour Vertex AI

Une fois vos prérequis Google Cloud en place, l’étape suivante consiste à planifier la configuration de la file d’attente que W&B Launch utilise pour soumettre des jobs Vertex AI. La configuration de la file d’attente pour les ressources Vertex AI définit les arguments passés au constructeur CustomJob dans le SDK Python Vertex AI, ainsi qu’à la méthode run de CustomJob. Les configurations de ressources sont stockées sous les clés spec et run :
  • La clé spec contient les valeurs des arguments nommés du constructeur CustomJob dans le SDK Python Vertex AI.
  • La clé run contient les valeurs des arguments nommés de la méthode run de la classe CustomJob dans le SDK Python Vertex AI.
La personnalisation de l’environnement d’exécution se fait dans la liste spec.worker_pool_specs. Une spécification de pool de workers définit un groupe de workers qui exécutent votre job. La spécification de worker de la configuration par défaut demande une seule machine n1-standard-4 sans accélérateur. Vous pouvez modifier le type de machine, le type d’accélérateur et le nombre d’accélérateurs selon vos besoins. Pour plus d’informations sur les types de machines et d’accélérateurs disponibles, voir la documentation Vertex AI.

Créer une file d’attente

Maintenant que vous avez défini la configuration de votre file d’attente, créez une file d’attente dans la W&B App qui utilise Vertex AI comme ressource de calcul :
  1. Accédez à la page Launch.
  2. Cliquez sur le bouton Create Queue.
  3. Sélectionnez l’Entity dans laquelle vous souhaitez créer la file d’attente.
  4. Saisissez un nom pour votre file d’attente dans le champ Name.
  5. Sélectionnez Google Cloud Vertex AI comme Resource.
  6. Dans le champ Configuration, fournissez des informations sur le CustomJob Vertex AI que vous avez défini dans Configurer une file d’attente pour Vertex AI. Par défaut, W&B renseigne un corps de requête YAML et JSON semblable à celui-ci :
    spec:
      worker_pool_specs:
        - machine_spec:
            machine_type: n1-standard-4
            accelerator_type: ACCELERATOR_TYPE_UNSPECIFIED
            accelerator_count: 0
          replica_count: 1
          container_spec:
            image_uri: ${image_uri}
      staging_bucket: [STAGING-BUCKET]
    run:
      restart_job_on_worker_restart: false
    
  7. Une fois votre file d’attente configurée, cliquez sur le bouton Create Queue.
Au minimum, vous devez spécifier les champs suivants :
  • spec.worker_pool_specs : liste non vide de spécifications de pools de workers.
  • spec.staging_bucket : bucket GCS utilisé pour le stockage intermédiaire des ressources et des métadonnées Vertex AI.
Certaines sections de la documentation Vertex AI montrent des spécifications de pools de workers avec toutes les clés en camel case, par exemple workerPoolSpecs. Le SDK Python Vertex AI utilise le snake case pour ces clés, par exemple worker_pool_specs.Chaque clé de la configuration de la file d’attente Launch doit utiliser le snake case.

Configurer un agent Launch

Une fois la file d’attente créée, configurez un agent Launch pour interroger la file d’attente et envoyer des jobs vers Vertex AI. L’agent Launch se configure à l’aide d’un fichier de configuration situé, par défaut, à l’emplacement ~/.config/wandb/launch-config.yaml.
max_jobs: [N-CONCURRENT-JOBS]
queues:
  - [QUEUE-NAME]
Si vous souhaitez que l’agent Launch crée pour vous des images exécutées dans Vertex AI, voir Configuration avancée de l’agent.

Configurer les autorisations de l’agent

Enfin, donnez à l’agent Launch les identifiants dont il a besoin pour agir comme le compte de service que vous avez créé lors des prérequis. Il existe plusieurs méthodes pour vous authentifier à l’aide de ce compte de service. Vous pouvez le faire via Workload Identity, un fichier JSON de compte de service téléchargé, des variables d’environnement, l’outil en ligne de commande Google Cloud Platform, ou une combinaison de ces méthodes.