メインコンテンツへスキップ
マルチコアまたはマルチGPUマシンで sweep エージェントを並列化すると、複数の sweep の run を同時に実行できます。並列化により、ハイパーパラメーター空間の探索にかかる時間を短縮できます。このページでは、単一ホスト上の利用可能な計算リソースを最大限に活用できるように、マルチCPUおよびマルチGPUマシンでエージェントを並列起動する方法を説明します。 開始する前に、sweep を初期化する必要があります。詳細は、Initialize sweepsを参照してください。

複数の CPU コアを備えたマシンで並列化する

以下のタブでは、同じマシン上で複数の sweep エージェント を並列実行する方法を説明します。並列エージェントは、各エージェントをそれぞれ別の CPU コアで実行できる、複数の CPU コアを備えたマシンで特に効果的です。ワークフローに応じて、CLI または Jupyter Notebook のタブを選択してください。
ターミナルで sweep エージェント を複数の CPU にまたがって並列実行するには、wandb agent コマンドを使用します。sweep を初期化した際に W&B から返された sweep ID を指定してください。
  1. ローカルマシンで複数のターミナルウィンドウを開きます。
  2. 次のコードスニペットをコピー&ペーストし、[SWEEP-ID] を sweep ID に置き換えます。

マルチ GPU マシンで並列化する

CUDA_VISIBLE_DEVICES を使用して各 wandb agent を別々の GPU に割り当てると、同じマシン上の複数の GPU で sweep エージェントを並列実行できます。これにより、同じデバイスを取り合うことなく、エージェントを並列に実行できます。 この手順を実行するには、次が必要です。
  • 2 基以上の GPU を搭載したマシン。
  • NVIDIA CUDA Toolkit がインストールされていること。
  • ターミナル。
たとえば、ローカル マシンに 2 基の NVIDIA GPU があるとします。各コマンド内の [SWEEP-ID] は、sweep の初期化時に W&B が返す sweep ID に置き換えてください。
  1. 1 つ目のターミナルで、CUDA_VISIBLE_DEVICES0 に設定し、エージェントを起動します。
  2. 別のターミナルで、CUDA_VISIBLE_DEVICES1 に設定し、同じ sweep ID でもう 1 つのエージェントを起動します。