> ## 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.

> マルチコアまたはマルチ GPU マシンで sweep エージェントを並列化します。

# エージェントを並列化する

マルチコアまたはマルチ GPU マシンで sweep エージェントを並列化すると、複数の sweep run を同時に実行できます。並列化により、ハイパーパラメーター空間の探索にかかる時間を短縮できます。このページでは、マルチ CPU およびマルチ GPU マシンで並列エージェントを起動し、単一ホスト上の利用可能なコンピュートをすべて使用する方法について説明します。

開始する前に、sweep を初期化しておく必要があります。詳細については、[sweep の初期化](/ja/products/wandb/sweeps/initialize-sweeps)を参照してください。

<h2 id="parallelize-on-a-multi-cpu-machine">
  マルチ CPU マシンで並列化する
</h2>

以下のタブでは、同じマシン上で複数の sweep エージェントを並列に実行する方法を説明します。並列エージェントは、複数の CPU コアを備えたマシンで特に効果を発揮します。各エージェントがそれぞれ専用のコアで実行されるためです。ワークフローに応じて、CLI または Jupyter ノートブックのタブを選択してください。

<Tabs>
  <Tab title="CLI">
    ターミナルで [`wandb agent`](/ja/products/wandb/ref/cli/wandb-agent) コマンドを使用して、sweep エージェントを複数の CPU で並列化します。[sweep の初期化](/ja/products/wandb/sweeps/initialize-sweeps)時に W\&B から返された sweep ID を指定してください。

    1. ローカルマシンでターミナルウィンドウを複数開きます。
    2. 次のコードスニペットをコピー＆ペーストし、`[SWEEP-ID]` を実際の sweep ID に置き換えます。

       ```bash theme={"system"}
       wandb agent [SWEEP-ID]
       ```
  </Tab>

  <Tab title="ノートブック">
    W\&B Python SDK ライブラリを使用して、Jupyter ノートブック上で sweep エージェントを複数の CPU で並列化します。[sweep の初期化](/ja/products/wandb/sweeps/initialize-sweeps)時に W\&B から返された sweep ID を指定し、`function` パラメーターには sweep で実行する関数の名前を設定します。

    1. ノートブックを複数開きます。
    2. 複数のノートブックに sweep ID をコピー＆ペーストして、sweep を並列化します。たとえば、sweep ID を `sweep_id` という変数に格納していて、関数名が `function_name` の場合は、次のコードスニペットを複数のノートブックに貼り付けます。

       ```python theme={"system"}
       wandb.agent(sweep_id=sweep_id, function=function_name)
       ```
  </Tab>
</Tabs>

<h2 id="parallelize-on-a-multi-gpu-machine">
  マルチ GPU マシンで並列化する
</h2>

`CUDA_VISIBLE_DEVICES` を使用して各 [`wandb agent`](/ja/products/wandb/ref/cli/wandb-agent) にそれぞれ異なる GPU を割り当てると、同じマシン上の複数の GPU で sweep エージェントを並列に実行できます。各エージェントが同じデバイスを奪い合うことはありません。

この手順を実行するには、次のものが必要です。

* 複数の GPU を搭載したマシン
* NVIDIA CUDA Toolkit (インストール済みであること)
* ターミナル

たとえば、ローカルマシンに NVIDIA GPU が 2 基搭載されているとします。各コマンドの `[SWEEP-ID]` は、sweep の初期化時に W\&B から返される sweep ID に置き換えてください。

1. 1 つ目のターミナルで `CUDA_VISIBLE_DEVICES` を `0` に設定し、エージェントを起動します。

   ```bash theme={"system"}
   CUDA_VISIBLE_DEVICES=0 wandb agent [SWEEP-ID]
   ```

2. 別のターミナルで `CUDA_VISIBLE_DEVICES` を `1` に設定し、同じ sweep ID でもう 1 つのエージェントを起動します。

   ```bash theme={"system"}
   CUDA_VISIBLE_DEVICES=1 wandb agent [SWEEP-ID]
   ```


## Related topics

- [チュートリアル: project から sweep ジョブを作成する](/ja/products/wandb/sweeps/existing-project.md)
