> ## 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 머신에서 스윕 에이전트를 병렬화합니다.

# 에이전트 병렬화

멀티 코어 또는 멀티 GPU 머신에서 스윕 에이전트를 병렬화하면 여러 스윕 run을 동시에 실행할 수 있습니다. 병렬로 실행하면 하이퍼파라미터 공간을 탐색하는 데 걸리는 시간이 줄어듭니다. 이 페이지에서는 다중 CPU 및 멀티 GPU 머신에서 병렬 에이전트를 시작해 단일 호스트의 사용 가능한 모든 컴퓨팅 리소스를 활용하는 방법을 설명합니다.

시작하기 전에 먼저 스윕을 초기화해야 합니다. 자세한 내용은 [스윕을 초기화](/ko/products/wandb/sweeps/initialize-sweeps)를 참조하세요.

<h2 id="parallelize-on-a-multi-cpu-machine">
  다중 CPU 머신에서 병렬화하기
</h2>

다음 탭에서는 동일한 머신에서 여러 스윕 에이전트를 병렬로 실행하는 방법을 설명합니다. 병렬 에이전트는 각 에이전트가 자체 코어에서 실행될 수 있는 다중 CPU 코어를 가진 머신에서 가장 유용합니다. CLI 또는 Jupyter Notebook 탭을 워크플로에 따라 선택하세요.

<Tabs>
  <Tab title="CLI">
    [`wandb agent`](/ko/products/wandb/ref/cli/wandb-agent) 명령을 사용하여 터미널에서 스윕 에이전트를 여러 CPU에 걸쳐 병렬화하세요. 스윕을 [초기화](/ko/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="Notebook">
    W\&B Python SDK 라이브러리를 사용하여 Jupyter Notebook 내에서 스윕 에이전트를 여러 CPU에 걸쳐 병렬화하세요. 스윕을 [초기화](/ko/products/wandb/sweeps/initialize-sweeps)할 때 W\&B가 반환한 sweep ID를 제공하고 `function` 매개변수를 스윕이 실행하는 함수 이름으로 설정하세요:

    1. 노트북을 두 개 이상 여세요.
    2. 여러 노트북에 sweep ID를 복사하여 붙여넣어 스윕을 병렬화하세요. 예를 들어 `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`](/ko/products/wandb/ref/cli/wandb-agent)에 서로 다른 GPU를 부여하면, 같은 머신의 여러 GPU에서 스윕 에이전트를 병렬로 실행할 수 있습니다. 이렇게 하면 에이전트끼리 같은 디바이스를 두고 경쟁하지 않고 동시에 실행됩니다.

이 절차를 따르려면 다음이 필요합니다.

* GPU가 두 개 이상 장착된 머신
* NVIDIA CUDA Toolkit 설치
* 터미널

예를 들어 로컬 머신에 NVIDIA GPU가 두 개 있다고 가정해 보겠습니다. 각 명령의 `[SWEEP-ID]`를 스윕을 초기화할 때 W\&B가 반환하는 sweep ID로 바꾸세요.

1. 터미널 하나에서 `CUDA_VISIBLE_DEVICES`를 `0`으로 설정하고 에이전트를 시작하세요.

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

2. 다른 터미널에서 `CUDA_VISIBLE_DEVICES`를 `1`로 설정하고 같은 sweep ID로 에이전트를 하나 더 시작하세요.

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