Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Avec W&B Launch, faites facilement passer à l’échelle vos runs d’entraînement, de votre ordinateur vers des ressources de calcul comme Amazon SageMaker, Kubernetes, etc. Une fois W&B Launch configuré, vous pouvez rapidement exécuter des scripts d’entraînement, lancer des suites d’évaluation de modèles, préparer des modèles pour l’inférence en production, et bien plus encore, en quelques clics et commandes.
Launch repose sur trois composants fondamentaux : les jobs Launch, les files d’attente et les agents.
Un job Launch est un plan servant à configurer et exécuter des tâches dans votre flux de travail ML. Une fois que vous avez un job Launch, vous pouvez l’ajouter à une file d’attente Launch. Une file d’attente Launch est une file d’attente premier entré, premier sorti (FIFO) dans laquelle vous pouvez configurer et soumettre vos jobs à une ressource de calcul cible spécifique, comme Amazon SageMaker ou un cluster Kubernetes.
À mesure que des jobs sont ajoutés à la file d’attente, les agents Launch interrogent cette file d’attente et exécutent le job sur le système ciblé par celle-ci.
Selon votre cas d’usage, vous (ou un membre de votre équipe) configurerez la file d’attente Launch en fonction de la ressource de calcul cible choisie (par exemple Amazon SageMaker) et déploierez un agent Launch sur votre propre infrastructure.
Voir la page Termes et concepts pour en savoir plus sur Launch.
Selon votre cas d’usage, consultez les ressources suivantes pour bien démarrer avec W&B Launch :
Cette page présente les notions de base du flux de travail de W&B Launch.
W&B Launch exécute des charges de travail de machine learning dans des conteneurs. Il n’est pas nécessaire de connaître les conteneurs, mais cela peut être utile pour ce guide pas à pas. Voir la documentation Docker pour une introduction aux conteneurs.
Avant de commencer, assurez-vous de remplir les prérequis suivants :
- Inscrivez-vous sur https://wandb.ai/site, puis connectez-vous à votre compte W&B.
- Ce guide pas à pas nécessite un accès à un terminal sur une machine disposant d’une CLI Docker et d’un moteur Docker fonctionnels. Voir le guide d’installation de Docker pour plus d’informations.
- Installez le SDK Python W&B en version
0.17.1 ou ultérieure :
pip install wandb>=0.17.1
- Dans votre terminal, exécutez
wandb login ou définissez la variable d’environnement WANDB_API_KEY pour vous authentifier auprès de W&B.
Se connecter à W&B
Variable d’environnement
Dans votre terminal, exécutez : WANDB_API_KEY=<your-api-key>
Remplacez <your-api-key> par votre clé API W&B.
Créez un job Launch de l’une des trois façons suivantes : avec une image Docker, à partir d’un dépôt Git ou à partir d’un code source local :
Pour exécuter un conteneur prédéfini qui consigne un message dans W&B, ouvrez un terminal et exécutez la commande suivante :wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart
La commande précédente télécharge et exécute l’image de conteneur wandb/job_hello_world:main.Launch configure le conteneur pour envoyer au projet launch-quickstart tout ce qui est enregistré avec wandb. Le conteneur consigne un message dans W&B et affiche un lien vers le run nouvellement créé dans W&B. Cliquez sur le lien pour afficher le run dans l’interface utilisateur W&B. Pour lancer le même job hello-world à partir de son code source dans le dépôt de jobs W&B Launch, exécutez la commande suivante :wandb launch --uri https://github.com/wandb/launch-jobs.git \\
--job-name hello-world-git --project launch-quickstart \\
--build-context jobs/hello_world --dockerfile Dockerfile.wandb \\
--entry-point "python job.py"
La commande effectue les opérations suivantes :
- Clone le dépôt de jobs W&B Launch dans un répertoire temporaire.
- Crée un job nommé hello-world-git dans le projet hello. Ce job suit précisément le code source et la configuration utilisés pour exécuter ce code.
- Construit une image de conteneur à partir du répertoire
jobs/hello_world et du fichier Dockerfile.wandb.
- Démarre le conteneur et exécute le script Python
job.py.
La sortie de la console affiche la construction de l’image et son exécution. La sortie du conteneur doit être presque identique à celle de l’exemple précédent. Le code qui n’est pas versionné dans un dépôt git peut être lancé en indiquant un chemin de répertoire local pour l’argument --uri.Créez un répertoire vide et ajoutez un script Python nommé train.py avec le contenu suivant :import wandb
with wandb.init() as run:
run.log({"hello": "world"})
Ajoutez un fichier requirements.txt avec le contenu suivant :Depuis ce répertoire, exécutez la commande suivante :wandb launch --uri . --job-name hello-world-code --project launch-quickstart --entry-point "python train.py"
La commande effectue les opérations suivantes :
- Enregistre le contenu du répertoire courant dans W&B en tant que Code Artifact.
- Crée un job nommé hello-world-code dans le projet launch-quickstart.
- Construit une image de conteneur en copiant
train.py et requirements.txt dans une image de base, puis en exécutant pip install pour installer les dépendances.
- Démarre le conteneur et exécute
python train.py.
Launch est conçu pour aider les équipes à mettre en place des flux de travail autour de ressources de calcul partagées. Dans les exemples précédents, la commande wandb launch a exécuté un conteneur de manière synchrone sur la machine locale. Les files d’attente Launch et les agents permettent l’exécution asynchrone de jobs sur des ressources partagées, ainsi que des fonctionnalités avancées comme la priorisation et l’optimisation des hyperparamètres. Pour créer une file d’attente de base, suivez ces étapes :
- Accédez à wandb.ai/launch et cliquez sur le bouton Create a file d’attente.
- Sélectionnez une Entity à associer à la file d’attente.
- Saisissez un file d’attente name.
- Sélectionnez Docker comme Resource.
- Laissez Configuration vide pour le moment.
- Cliquez sur Create file d’attente :rocket:
Après avoir cliqué sur le bouton, le navigateur vous redirige vers l’onglet Agents de la vue de la file d’attente. La file d’attente reste à l’état Not active jusqu’à ce qu’un agent commence à l’interroger.
Pour les options avancées de configuration de la file d’attente, voir la page de configuration avancée de la file d’attente.
Connecter un agent à la file d’attente
La vue de la file d’attente affiche un bouton Add an agent dans une bannière rouge en haut de l’écran si la file d’attente ne comporte aucun agent de scrutation. Cliquez sur ce bouton pour afficher et copier la commande permettant de lancer un agent. La commande doit ressembler à ce qui suit :
wandb launch-agent --queue <queue-name> --entity <entity-name>
Exécutez la commande dans un terminal pour démarrer l’agent. L’agent interroge la file d’attente spécifiée pour récupérer les jobs à exécuter. Une fois le job reçu, l’agent télécharge ou génère, puis exécute une image de conteneur pour ce job, comme si la commande wandb launch était exécutée localement.
Revenez à la page Launch et vérifiez que la file d’attente s’affiche désormais comme Active.
Soumettre un job dans la file d’attente
Accédez à votre nouveau projet launch-quickstart dans votre compte W&B et ouvrez l’onglet Jobs depuis le menu de navigation situé à gauche de l’écran.
La page Jobs affiche une liste de jobs W&B créés à partir de runs précédemment exécutés. Cliquez sur votre job Launch pour voir le code source, les dépendances et tous les runs créés à partir de ce job. Une fois ce guide pas à pas terminé, la liste devrait contenir trois jobs.
Choisissez l’un des nouveaux jobs et suivez ces instructions pour le soumettre à la file d’attente :
- Cliquez sur le bouton Launch pour soumettre le job à une file d’attente. Le volet latéral Launch s’affiche.
- Sélectionnez la file d’attente que vous avez créée précédemment, puis cliquez sur Launch.
Cela soumet le job à la file d’attente. L’agent qui interroge cette file d’attente récupère et exécute le job. Vous pouvez suivre la progression du job depuis l’interface utilisateur W&B ou en consultant la sortie de l’agent dans le terminal.
La commande wandb launch peut envoyer directement des jobs vers la file d’attente en spécifiant l’argument --queue. Par exemple, pour soumettre le job de conteneur hello-world à la file d’attente, exécutez la commande suivante :
wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart --queue <queue-name>