> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Suivez ce tutoriel de premiers pas pour W&B Launch, qui couvre les jobs, les files d'attente, les agents et l'exécution de charges de travail ML.

# Tutoriel : notions de base de W&B Launch

<h2 id="what-is-launch">
  Qu’est-ce que Launch ?
</h2>

<Card title="Essayer dans Colab" href="https://colab.research.google.com/drive/1wX0OSVxZJDHRsZaOaOEDx-lLUrO1hHgP" icon="code" />

Ce tutoriel présente W\&B Launch aux praticiens du ML et aux équipes plateforme. Il vous guide dans la création d’un job Launch, la configuration d’une file d’attente, la connexion d’un agent et la soumission de jobs à exécuter. À la fin, vous aurez exécuté une charge de travail ML conteneurisée avec W\&B Launch et disposerez d’une file d’attente et d’un agent opérationnels, réutilisables par votre équipe.

Avec W\&B Launch, faites passer vos [runs](/fr/products/wandb/runs) d’entraînement de votre poste de travail à une ressource de calcul telle qu’Amazon SageMaker, Kubernetes, etc. Une fois Launch configuré, quelques clics et commandes suffisent pour exécuter des scripts d’entraînement et des suites d’évaluation de modèles, préparer des modèles pour l’inférence en production, et bien plus encore.

<h2 id="how-it-works">
  Fonctionnement
</h2>

Launch repose sur trois composants fondamentaux : les **jobs Launch**, les **files d’attente** et les **agents**.

Un [*job Launch*](/fr/products/wandb/platform/launch/launch-terminology#launch-job) est un modèle qui permet de configurer et d’exécuter des tâches dans votre flux de travail de ML. Une fois que vous disposez d’un job Launch, vous pouvez l’ajouter à une [*file d’attente Launch*](/fr/products/wandb/platform/launch/launch-terminology#launch-queue). Une file d’attente Launch est une file de type premier entré, premier sorti (FIFO) dans laquelle vous pouvez configurer vos jobs et les soumettre à 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, des [*agents Launch*](/fr/products/wandb/platform/launch/launch-terminology#launch-agent) interrogent cette file et exécutent les jobs sur le système qu’elle cible.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/launch_overview.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=9ebe0d7cdb780d1cb454ced88f18085d" alt="Schéma d’aperçu de W&B Launch" width="1314" height="642" data-path="products/wandb/platform/_media/launch_overview.png" />
</Frame>

Selon votre cas d’usage, vous (ou un membre de votre équipe) configurez la file d’attente Launch en fonction de la [ressource de calcul cible](/fr/products/wandb/platform/launch/launch-terminology#target-resources) choisie (par exemple, Amazon SageMaker), puis déployez un agent Launch sur votre propre infrastructure.

Pour plus d’informations sur Launch, voir la page [Termes et concepts](/fr/products/wandb/platform/launch/launch-terminology).

<h2 id="get-started">
  Premiers pas
</h2>

Selon votre cas d’usage, explorez les ressources suivantes pour faire vos premiers pas avec W\&B Launch :

* Si vous utilisez W\&B Launch pour la première fois, commencez par le [guide pas à pas de Launch](#walkthrough).
* Découvrez comment configurer [W\&B Launch](/fr/products/wandb/platform/launch/set-up-launch).
* Créez un [job Launch](/fr/products/wandb/platform/launch/launch-terminology#launch-job).
* Consultez le [dépôt GitHub des jobs publics](https://github.com/wandb/launch-jobs) de W\&B Launch pour y trouver des modèles de tâches courantes, comme le [déploiement sur Triton](https://github.com/wandb/launch-jobs/tree/main/jobs/deploy_to_nvidia_triton), l’[évaluation d’un LLM](https://github.com/wandb/launch-jobs/tree/main/jobs/openai_evals), et bien d’autres.
  * Consultez les jobs Launch créés à partir de ce dépôt dans le projet W\&B public [`wandb/jobs`](https://forge.coreweave.com/wandb/wandb/jobs/jobs).

<h2 id="walkthrough">
  Guide pas à pas
</h2>

Cette page présente les notions de base du flux de travail W\&B Launch.

<Note>
  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 pour suivre ce guide pas à pas, mais cela peut être utile. Pour une introduction aux conteneurs, consultez la [documentation Docker](https://docs.docker.com/guides/docker-concepts/the-basics/what-is-a-container/).
</Note>

<h2 id="prerequisites">
  Prérequis
</h2>

Avant de commencer, assurez-vous de remplir les prérequis suivants. Ils concernent le compte, les outils et l’authentification dont vous aurez besoin pour exécuter les commandes de ce guide pas à pas.

1. Inscrivez-vous sur [https://wandb.ai/site](https://wandb.ai/site) pour créer un compte, puis connectez-vous à votre compte W\&B.
2. Ce guide pas à pas nécessite un accès terminal à une machine disposant d’une CLI et d’un moteur Docker fonctionnels. Pour plus d’informations, consultez le [guide d’installation de Docker](https://docs.docker.com/engine/install/).
3. Installez le SDK Python W\&B en version `0.17.1` ou ultérieure :
   ```bash theme={"system"}
   pip install wandb>=0.17.1
   ```
4. 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.

<Tabs>
  <Tab title="Se connecter à W&B">
    Dans votre terminal, exécutez :

    ```bash theme={"system"}
    wandb login
    ```
  </Tab>

  <Tab title="Variable d’environnement">
    ```bash theme={"system"}
        WANDB_API_KEY=[API-KEY]
    ```

    Remplacez `[API-KEY]` par votre clé API W\&B.
  </Tab>
</Tabs>

<h2 id="create-a-launch-job">
  Créer un job Launch
</h2>

Un job Launch est le modèle de la charge de travail que vous souhaitez faire exécuter par Launch ; vous devez donc en créer un avant de pouvoir soumettre du travail à une file d'attente. Vous pouvez créer un [job Launch](/fr/products/wandb/platform/launch/launch-terminology#launch-job) de trois manières : avec une image Docker, à partir d'un dépôt Git ou à partir de code source local :

<Tabs>
  <Tab title="Avec une image Docker">
    Pour exécuter un conteneur prêt à l'emploi qui journalise un message dans W\&B, ouvrez un terminal et exécutez la commande suivante :

    ```bash theme={"system"}
    wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart
    ```

    Cette commande télécharge et exécute l'image de conteneur `wandb/job_hello_world:main`.

    Launch configure le conteneur pour que tout ce qui est journalisé avec `wandb` soit envoyé au projet `launch-quickstart`. Le conteneur journalise un message dans W\&B et affiche un lien vers le run dans W\&B. Cliquez sur ce lien pour afficher le run dans l'interface W\&B.
  </Tab>

  <Tab title="À partir d'un dépôt Git">
    Pour lancer le même job hello-world à partir de son [code source dans le dépôt W\&B Launch jobs](https://github.com/wandb/launch-jobs), exécutez la commande suivante :

    ```bash theme={"system"}
    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"
    ```

    Cette commande effectue les opérations suivantes :

    1. Clone le [dépôt W\&B Launch jobs](https://github.com/wandb/launch-jobs) dans un répertoire temporaire.
    2. 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 le code.
    3. Construit une image de conteneur à partir du répertoire `jobs/hello_world` et du fichier `Dockerfile.wandb`.
    4. Démarre le conteneur et exécute le script Python `job.py`.

    La sortie de la console affiche la construction de l'image puis son exécution. La sortie du conteneur devrait être quasiment identique à celle de l'exemple précédent.
  </Tab>

  <Tab title="À partir de code source local">
    Vous pouvez lancer du code qui n'est pas versionné dans un dépôt Git en passant le chemin d'un répertoire local à l'argument `--uri`.

    Créez un répertoire vide et ajoutez-y un script Python nommé `train.py` avec le contenu suivant :

    ```python theme={"system"}
    import wandb

    with wandb.init() as run:
        run.log({"hello": "world"})
    ```

    Ajoutez un fichier `requirements.txt` avec le contenu suivant :

    ```text theme={"system"}
    wandb>=0.17.1
    ```

    Depuis ce répertoire, exécutez la commande suivante :

    ```bash theme={"system"}
    wandb launch --uri . --job-name hello-world-code --project launch-quickstart --entry-point "python train.py"
    ```

    Cette commande effectue les opérations suivantes :

    1. Journalise le contenu du répertoire courant dans W\&B en tant qu'artifact de code.
    2. Crée un job nommé **hello-world-code** dans le projet **launch-quickstart**.
    3. Construit une image de conteneur en copiant `train.py` et `requirements.txt` dans une image de base, puis installe les dépendances avec `pip install`.
    4. Démarre le conteneur et exécute `python train.py`.
  </Tab>
</Tabs>

<h2 id="create-a-queue">
  Créer une file d’attente
</h2>

Une fois le job Launch en place, l’étape suivante consiste à créer une file d’attente qui définit où et comment les jobs s’exécutent. Launch est conçu pour aider les équipes à bâtir des flux de travail autour de ressources de calcul partagées. Dans les exemples présentés jusqu’ici, 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 d’exécuter des jobs de manière asynchrone sur des ressources partagées et donnent accès à 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 :

1. Accédez à [https://forge.coreweave.com/wandb/launch](https://forge.coreweave.com/wandb/launch) et cliquez sur le bouton **Create a queue**.
2. Sélectionnez l’**Entity** à laquelle associer la file d’attente.
3. Saisissez un **Queue name**.
4. Sélectionnez **Docker** comme **Resource**.
5. Laissez le champ **Configuration** vide.
6. Cliquez sur **Create queue**.

Une fois que vous avez 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.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/create_docker_queue.gif?s=9b54e5812ecdeffd8eb6837231d47cbe" alt="Création d’une file d’attente Docker" width="2482" height="1670" data-path="products/wandb/platform/_media/create_docker_queue.gif" />
</Frame>

Pour découvrir les options avancées de configuration de la file d’attente, consultez la [page de configuration avancée des files d’attente](/fr/products/wandb/platform/launch/setup-queue-advanced).

<h2 id="connect-an-agent-to-the-queue">
  Connecter un agent à la file d'attente
</h2>

Une file d'attente reste inactive tant qu'aucun agent ne l'interroge : vous devez donc connecter un agent avant de pouvoir exécuter des jobs. Si aucun agent n'interroge 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. Cliquez sur ce bouton pour afficher et copier la commande qui permet d'exécuter un agent. La commande doit ressembler à ceci :

```bash theme={"system"}
wandb launch-agent --queue [QUEUE-NAME] --entity [ENTITY-NAME]
```

Remplacez `[QUEUE-NAME]` par le nom de votre file d’attente et `[ENTITY-NAME]` par votre entity W\&B. Exécutez la commande dans un terminal pour démarrer l’agent. L’agent interroge la file d’attente spécifiée pour y récupérer des jobs à exécuter. Dès qu’il reçoit un job, l’agent télécharge ou construit une image de conteneur pour ce job, puis l’exécute, comme si vous aviez lancé la commande `wandb launch` en local.

Revenez à [la page Launch](https://forge.coreweave.com/wandb/launch) et vérifiez que la file d’attente affiche désormais l’état **Active**.

<h2 id="submit-a-job-to-the-queue">
  Soumettre un job à la file d'attente
</h2>

Maintenant que vous disposez d'une file d'attente et d'un agent qui l'interroge, vous pouvez soumettre l'un des jobs Launch créés précédemment et suivre son exécution sur les ressources de calcul partagées. Accédez à votre projet **launch-quickstart** dans votre compte W\&B et ouvrez l'onglet des jobs depuis la barre de navigation située à gauche de l'écran.

La page **Jobs** affiche la liste des jobs créés à partir des runs précédents. Cliquez sur votre job Launch pour afficher son code source, ses dépendances et les runs créés à partir de ce job. À la fin de ce guide pas à pas, la liste contient trois jobs.

Choisissez l'un des jobs et suivez ces instructions pour le soumettre à la file d'attente :

1. Cliquez sur le bouton **Launch** pour soumettre le job à une file d'attente. Le volet latéral **Launch** s'affiche.
2. Sélectionnez la **Queue** que vous avez créée précédemment, puis cliquez sur **Launch**.

Le job est alors soumis à la file d'attente. L'agent qui interroge cette file d'attente récupère le job et l'exécute. Vous pouvez suivre la progression du job depuis l'interface W\&B ou en consultant la sortie de l'agent dans le terminal.

La commande `wandb launch` permet de téléverser directement des jobs vers la file d'attente à l'aide de l'argument `--queue`. Par exemple, pour soumettre le job de conteneur hello-world à la file d'attente, exécutez la commande suivante :

```bash theme={"system"}
   wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart --queue [QUEUE-NAME]
```

Remplacez `[QUEUE-NAME]` par le nom de votre file d'attente.

Vous disposez désormais d'un flux de travail W\&B Launch complet : un job Launch, une file d'attente, un agent qui l'interroge et un job qui s'exécute de manière asynchrone sur des ressources de calcul partagées. Vous pouvez réutiliser ce modèle pour vos propres charges de travail d'entraînement, d'évaluation et d'inférence.


## Related topics

- [Aperçu du registre](/fr/products/registry.md)
