Passer au contenu principal
Parallélisez vos agents de balayage W&B sur une machine multicœur ou multi-GPU afin d’exécuter plusieurs exécutions de balayage W&B simultanément. La parallélisation réduit le temps nécessaire pour explorer votre espace d’hyperparamètres. Cette page vous montre comment lancer des agents en parallèle sur des machines multi-CPU et multi-GPU afin d’utiliser toutes les ressources de calcul disponibles sur un seul hôte. Avant de commencer, vous devez initialiser votre balayage W&B. Pour plus d’informations, voir Initialiser les balayages W&B.

Paralléliser sur une machine multi-CPU

Les onglets suivants expliquent comment exécuter plusieurs agents de balayage W&B en parallèle sur une même machine. Les agents parallèles sont particulièrement utiles sur une machine dotée de plusieurs cœurs de CPU, où chaque agent peut s’exécuter sur son propre cœur. Choisissez l’onglet CLI ou Jupyter Notebook en fonction de votre flux de travail.
Utilisez la commande wandb agent pour paralléliser votre agent de balayage W&B sur plusieurs CPU depuis le terminal. Indiquez l’ID du balayage W&B renvoyé par W&B lorsque vous avez initialisé le balayage W&B.
  1. Ouvrez plusieurs fenêtres de terminal sur votre machine locale.
  2. Copiez-collez l’extrait de code suivant et remplacez [SWEEP-ID] par l’ID de votre balayage W&B :

Paralléliser sur une machine multi-GPU

Exécutez des agents de balayage W&B en parallèle sur plusieurs GPU d’une même machine à l’aide de CUDA_VISIBLE_DEVICES pour attribuer chaque wandb agent à un GPU différent, afin que les agents s’exécutent en parallèle sans entrer en concurrence pour le même périphérique. Pour suivre cette procédure, vous avez besoin des éléments suivants :
  • Une machine avec plusieurs GPU.
  • Le toolkit NVIDIA CUDA installé.
  • Un terminal.
Par exemple, supposons que vous disposiez de deux GPU NVIDIA sur votre machine locale. Remplacez [SWEEP-ID] dans chaque commande par l’ID de balayage W&B que W&B renvoie lorsque vous initialisez un balayage W&B :
  1. Dans un terminal, définissez CUDA_VISIBLE_DEVICES sur 0 et démarrez un agent :
  2. Dans un autre terminal, définissez CUDA_VISIBLE_DEVICES sur 1 et démarrez un autre agent avec le même ID de balayage W&B :