> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-serverless-sft-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# エージェント の並列化

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

マルチコアまたはマルチ GPU マシン上で W\&B Sweeps エージェントを並列化します。開始する前に、W\&B Sweep が初期化されていることを確認してください。W\&B Sweep の初期化方法の詳細については、[Initialize sweeps](./initialize-sweeps) を参照してください。

### マルチ CPU マシンでの並列化

ユースケースに応じて、以下のタブから CLI または Jupyter Notebook を使用して W\&B Sweeps エージェントを並列化する方法を確認してください。

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

    1. ローカルマシンで複数のターミナルウィンドウを開きます。
    2. 以下の コードスニペット をコピーして貼り付け、`sweep_id` を実際の sweep ID に置き換えてください。

    ```bash theme={null}
    wandb agent sweep_id
    ```
  </Tab>

  <Tab title="Jupyter Notebook">
    W\&B Python SDK ライブラリを使用して、Jupyter Notebook 内の複数の CPU で W\&B Sweeps エージェントを並列化します。[sweep を初期化した際](./initialize-sweeps) に返された sweep ID があることを確認してください。また、`function` パラメータ に sweep が実行する関数の名前を指定します。

    1. 複数の Jupyter Notebook を開きます。
    2. 複数の Jupyter Notebook に W\&B Sweep ID をコピー＆ペーストして、W\&B Sweep を並列化します。例えば、sweep ID が `sweep_id` という変数に格納されており、関数名が `function_name` である場合、以下の コードスニペット を複数のノートブックに貼り付けることで sweep を並列化できます。

    ```python theme={null}
    # sweep_id と関数名を指定してエージェントを実行
    wandb.agent(sweep_id=sweep_id, function=function_name)
    ```
  </Tab>
</Tabs>

### マルチ GPU マシンでの並列化

CUDA Toolkit を使用し、ターミナルから複数の GPU で W\&B Sweeps エージェントを並列化する手順は以下の通りです。

1. ローカルマシンで複数のターミナルウィンドウを開きます。
2. W\&B Sweep ジョブ ([`wandb agent`](/models/ref/cli/wandb-agent)) を開始する際に、`CUDA_VISIBLE_DEVICES` を使用して使用する GPU インスタンスを指定します。`CUDA_VISIBLE_DEVICES` には、使用する GPU インスタンスに対応する整数値を割り当てます。

例えば、ローカルマシンに 2 つの NVIDIA GPU があるとします。1 つ目のターミナルウィンドウを開き、`CUDA_VISIBLE_DEVICES` を `0` に設定します (`CUDA_VISIBLE_DEVICES=0`)。以下の例の `sweep_ID` は、W\&B Sweep を初期化した際に返された ID に置き換えてください。

ターミナル 1

```bash theme={null}
CUDA_VISIBLE_DEVICES=0 wandb agent sweep_ID
```

2 つ目のターミナルウィンドウを開きます。`CUDA_VISIBLE_DEVICES` を `1` に設定します (`CUDA_VISIBLE_DEVICES=1`)。先ほどと同じ W\&B Sweep ID を以下の コードスニペット の `sweep_ID` に貼り付けます。

ターミナル 2

```bash theme={null}
CUDA_VISIBLE_DEVICES=1 wandb agent sweep_ID
```
