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

> W&B Launch의 작업, 큐, 에이전트 및 ML 워크로드를 실행하는 기본 개념 튜토리얼을 따라 하세요.

# Tutorial: W&B Launch 기본 개념

<h2 id="what-is-launch">
  Launch란 무엇인가요
</h2>

<Card title="Colab에서 사용해 보기" href="https://colab.research.google.com/drive/1wX0OSVxZJDHRsZaOaOEDx-lLUrO1hHgP" icon="code" />

이 튜토리얼은 ML 실무자와 플랫폼 팀을 위해 W\&B Launch를 소개하고, Launch 작업 생성, 큐 설정, 에이전트 연결, 실행할 작업 제출 과정을 안내합니다. 튜토리얼을 마치면 W\&B Launch를 통해 컨테이너화된 ML 워크로드를 실행하고, 팀에서 재사용할 수 있는 작동 중인 큐와 에이전트를 갖추게 됩니다.

W\&B Launch를 사용하면 트레이닝 [run](/ko/products/wandb/runs)을 데스크톱에서 Amazon SageMaker, Kubernetes 등의 컴퓨팅 리소스로 확장할 수 있습니다. Launch를 설정하면 몇 번의 클릭과 명령어로 트레이닝 스크립트와 모델 평가 도구 모음을 실행하고, 프로덕션 추론용 모델을 준비하는 등 다양한 작업을 수행할 수 있습니다.

<h2 id="how-it-works">
  How it works
</h2>

Launch는 세 가지 기본 컴포넌트로 구성됩니다: **Launch 작업**, **Launch 큐**, **에이전트**.

[*Launch 작업*](/ko/products/wandb/platform/launch/launch-terminology#launch-job)은 ML 워크플로에서 작업을 설정하고 실행하기 위한 청사진입니다. Launch 작업이 있으면 이를 [*Launch 큐*](/ko/products/wandb/platform/launch/launch-terminology#launch-queue)에 추가할 수 있습니다. Launch 큐는 FIFO 큐로, Amazon SageMaker 또는 Kubernetes 클러스터와 같은 특정 컴퓨팅 리소스 대상에 작업을 설정하고 제출할 수 있습니다.

작업이 큐에 추가되면 [*Launch 에이전트*](/ko/products/wandb/platform/launch/launch-terminology#launch-agent)가 해당 큐를 폴링하고 큐가 대상으로 하는 시스템에서 작업을 실행합니다.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/launch_overview.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=9ebe0d7cdb780d1cb454ced88f18085d" alt="W&B Launch overview diagram" width="1314" height="642" data-path="products/wandb/platform/_media/launch_overview.png" />
</Frame>

사용 사례에 따라 본인(또는 팀의 누군가)이 선택한 [컴퓨팅 리소스 대상](/ko/products/wandb/platform/launch/launch-terminology#target-resources)(예: Amazon SageMaker)에 따라 Launch 큐를 설정하고 자체 인프라에 Launch 에이전트를 배포합니다.

Launch에 대한 자세한 내용은 [Terms and concepts](/ko/products/wandb/platform/launch/launch-terminology) 페이지를 참조하세요.

<h2 id="get-started">
  Get started
</h2>

사용 사례에 따라 다음 리소스를 탐색하여 W\&B Launch를 시작하세요:

* W\&B Launch를 처음 사용하는 경우 [Launch 워크스루](#walkthrough) 가이드부터 시작하세요.
* [W\&B Launch](/ko/products/wandb/platform/launch/set-up-launch)를 설정하는 방법을 알아보세요.
* [Launch 작업](/ko/products/wandb/platform/launch/launch-terminology#launch-job)을 생성하세요.
* W\&B Launch [public jobs GitHub 저장소](https://github.com/wandb/launch-jobs)에서 [Triton에 배포](https://github.com/wandb/launch-jobs/tree/main/jobs/deploy_to_nvidia_triton), [LLM 평가](https://github.com/wandb/launch-jobs/tree/main/jobs/openai_evals)와 같은 일반적인 작업의 템플릿을 확인하세요.
  * 이 저장소에서 생성된 Launch 작업은 public [`wandb/jobs` 프로젝트](https://forge.coreweave.com/wandb/wandb/jobs/jobs)에서 확인할 수 있습니다.

<h2 id="walkthrough">
  워크스루
</h2>

이 페이지는 W\&B Launch 워크플로의 기본 개념을 워크스루합니다.

<Note>
  W\&B Launch은 머신 러닝 워크로드를 컨테이너에서 실행합니다. 컨테이너에 대한 지식은 필수가 아니지만 이 워크스루에 도움이 될 수 있습니다. 컨테이너에 대한 입문서는 [도커 문서](https://docs.docker.com/guides/docker-concepts/the-basics/what-is-a-container/)를 참조하세요.
</Note>

<h2 id="prerequisites">
  사전 요구 사항
</h2>

시작하기 전에 다음 사전 요구 사항을 충족했는지 확인하세요. 이 요구 사항은 이 워크스루에서 나중에 명령어를 실행하는 데 필요한 계정, 도구 및 인증을 다룹니다.

1. [https://wandb.ai/site](https://wandb.ai/site) 에서 계정을 등록한 후 W\&B 계정에 로그인하세요.
2. 이 워크스루는 작동하는 도커 CLI와 엔진이 있는 머신에 대한 터미널 액세스가 필요합니다. 자세한 내용은 [도커 설치 가이드](https://docs.docker.com/engine/install/)를 참조하세요.
3. W\&B Python SDK 버전 `0.17.1` 이상을 설치하세요:
   ```bash theme={"system"}
   pip install wandb>=0.17.1
   ```
4. 터미널에서 `wandb login`을 실행하거나 `WANDB_API_KEY` 환경 변수를 설정하여 W\&B에 인증하세요.

<Tabs>
  <Tab title="W&B에 로그인">
    터미널에서 다음을 실행하세요:

    ```bash theme={"system"}
    wandb login
    ```
  </Tab>

  <Tab title="환경 변수">
    ```bash theme={"system"}
        WANDB_API_KEY=[API-KEY]
    ```

    `[API-KEY]`를 W\&B API 키로 교체하세요.
  </Tab>
</Tabs>

<h2 id="create-a-launch-job">
  Launch 작업 만들기
</h2>

Launch 작업은 Launch가 실행할 워크로드의 청사진입니다. 따라서 큐에 작업을 제출하기 전에 Launch 작업이 필요합니다. Launch 작업을 [Launch 작업](/ko/products/wandb/platform/launch/launch-terminology#launch-job) 만드는 방법은 세 가지가 있습니다: 도커 이미지를 사용하거나, git 저장소에서 만들거나, 로컬 소스 코드에서 만드는 것입니다:

<Tabs>
  <Tab title="도커 이미지 사용">
    미리 만들어진 컨테이너를 실행하여 W\&B에 메시지를 로깅하려면 터미널을 열고 다음 명령어를 실행하세요:

    ```bash theme={"system"}
    wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart
    ```

    위 명령어는 컨테이너 이미지 `wandb/job_hello_world:main`을 다운로드하고 실행합니다.

    Launch는 `wandb`로 로깅된 모든 내용을 `launch-quickstart` 프로젝트에 보고하도록 컨테이너를 설정합니다. 컨테이너는 W\&B에 메시지를 로깅하고 W\&B의 run 링크를 표시합니다. 링크를 클릭하여 W\&B UI에서 run을 확인하세요.
  </Tab>

  <Tab title="git 저장소에서">
    [W\&B Launch 작업 저장소](https://github.com/wandb/launch-jobs)의 소스 코드에서 동일한 hello-world 작업을 실행하려면 다음 명령어를 실행하세요:

    ```bash theme={"system"}
    wandb launch --uri https://github.com/wandb/launch-jobs.git \\
    --job-name hello-world-git --project launch-quickstart \\ 
    --build-context jobs/hello_world --dockerfile Dockerfile.wandb \\ 
    --entry-point "python job.py"
    ```

    명령어는 다음을 수행합니다:

    1. [W\&B Launch 작업 저장소](https://github.com/wandb/launch-jobs)를 임시 디렉터리에 복제합니다.
    2. **hello** 프로젝트에 **hello-world-git**이라는 작업을 만듭니다. 이 작업은 코드를 실행하는 데 사용된 정확한 소스 코드와 설정을 추적합니다.
    3. `jobs/hello_world` 디렉터리와 `Dockerfile.wandb`에서 컨테이너 이미지를 구축합니다.
    4. 컨테이너를 시작하고 `job.py` python 스크립트를 실행합니다.

    콘솔 출력에 이미지 구축 및 실행 과정이 표시됩니다. 컨테이너의 출력은 이전 예시와 거의 동일해야 합니다.
  </Tab>

  <Tab title="로컬 소스 코드에서">
    git 저장소에 버전 관리되지 않은 코드를 실행하려면 `--uri` 인수에 로컬 디렉터리 경로를 지정하세요.

    빈 디렉터리를 만들고 다음 내용의 `train.py`라는 Python 스크립트를 추가하세요:

    ```python theme={"system"}
    import wandb

    with wandb.init() as run:
        run.log({"hello": "world"})
    ```

    다음 내용의 `requirements.txt` 파일을 추가하세요:

    ```text theme={"system"}
    wandb>=0.17.1
    ```

    디렉터리 내에서 다음 명령어를 실행하세요:

    ```bash theme={"system"}
    wandb launch --uri . --job-name hello-world-code --project launch-quickstart --entry-point "python train.py"
    ```

    명령어는 다음을 수행합니다:

    1. 현재 디렉터리의 내용을 코드 아티팩트로 W\&B에 로깅합니다.
    2. **launch-quickstart** 프로젝트에 **hello-world-code**라는 작업을 만듭니다.
    3. `train.py`와 `requirements.txt`를 기본 이미지에 복사하고 요구 사항을 `pip install`하여 컨테이너 이미지를 구축합니다.
    4. 컨테이너를 시작하고 `python train.py`를 실행합니다.
  </Tab>
</Tabs>

<h2 id="create-a-queue">
  큐 만들기
</h2>

Launch 작업이 준비되면 다음 단계는 작업을 실행할 위치와 방식을 정의하는 큐를 만드는 것입니다. Launch는 팀이 공유 컴퓨트를 중심으로 워크플로를 구축하도록 지원합니다. 지금까지의 예시에서 `wandb launch` 명령어는 로컬 머신에서 컨테이너를 동기적으로 실행했습니다. Launch 큐와 에이전트를 사용하면 공유 리소스에서 작업을 비동기적으로 실행하고 우선순위 지정, 하이퍼파라미터 최적화 같은 고급 기능을 활용할 수 있습니다. 기본 큐를 만들려면 다음 단계를 따르세요:

1. [https://forge.coreweave.com/wandb/launch](https://forge.coreweave.com/wandb/launch)로 이동하여 **큐 만들기** 버튼을 클릭하세요.
2. 큐를 연결할 **entity**를 선택하세요.
3. **큐 이름**을 입력하세요.
4. **리소스**로 **도커**를 선택하세요.
5. **설정**은 비워 두세요.
6. **큐 만들기**를 클릭하세요.

버튼을 클릭하면 브라우저가 큐 뷰의 **에이전트** 탭으로 이동합니다. 에이전트가 폴링을 시작할 때까지 큐는 **비활성** 상태로 유지됩니다.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/create_docker_queue.gif?s=9b54e5812ecdeffd8eb6837231d47cbe" alt="Docker 큐 만들기" width="2482" height="1670" data-path="products/wandb/platform/_media/create_docker_queue.gif" />
</Frame>

고급 큐 설정 옵션은 [고급 큐 설정 페이지](/ko/products/wandb/platform/launch/setup-queue-advanced)를 참조하세요.

<h2 id="connect-an-agent-to-the-queue">
  큐에 에이전트 연결
</h2>

큐는 에이전트가 폴링할 때까지 유휴 상태로 유지되므로, 작업을 실행하려면 먼저 에이전트를 연결해야 합니다. 큐 뷰는 폴링 에이전트가 없는 경우 화면 상단의 빨간 배너에 **에이전트 추가** 버튼을 표시합니다. 버튼을 클릭하여 에이전트를 실행하는 명령어를 보고 복사하세요. 명령어는 다음과 같아야 합니다:

```bash theme={"system"}
wandb launch-agent --queue [QUEUE-NAME] --entity [ENTITY-NAME]
```

`[QUEUE-NAME]`을 큐 이름으로, `[ENTITY-NAME]`을 W\&B entity로 바꾸세요. 터미널에서 명령어를 실행하여 에이전트를 시작하세요. 에이전트는 지정된 큐에서 실행할 작업을 폴링합니다. 작업을 수신하면 에이전트는 해당 작업을 위한 이미지를 다운로드하거나 구축한 후 실행합니다. 마치 로컬에서 `wandb launch` 명령어를 실행한 것처럼요.

[the Launch page](https://forge.coreweave.com/wandb/launch)로 다시 이동하여 큐가 이제 **Active**로 표시되는지 확인하세요.

<h2 id="submit-a-job-to-the-queue">
  큐에 작업 제출하기
</h2>

큐와 폴링 에이전트가 준비되었으므로, 앞서 생성한 Launch 작업 중 하나를 제출하고 공유 컴퓨트에서 실행되는 모습을 확인할 수 있습니다. W\&B 계정의 **launch-quickstart** 프로젝트로 이동하고 화면 왼쪽 내비게이션에서 작업 탭을 여세요.

**Jobs** 페이지에는 이전 run에서 생성된 작업 목록이 표시됩니다. Launch 작업을 클릭하면 소스 코드, 의존성, 해당 작업에서 생성된 run을 확인할 수 있습니다. 이 워크스루를 완료하면 목록에 작업 세 개가 포함됩니다.

작업 중 하나를 선택하고 다음 지침에 따라 큐에 제출하세요:

1. **Launch** 버튼을 클릭하여 작업을 큐에 제출하세요. **Launch** 서랍이 나타납니다.
2. 앞서 생성한 **큐**를 선택하고 **Launch**를 클릭하세요.

이렇게 하면 작업이 큐에 제출됩니다. 이 큐를 폴링하는 에이전트가 작업을 가져와 실행합니다. W\&B UI에서 또는 터미널에서 에이전트의 출력을 확인하여 작업 진행 상황을 모니터링할 수 있습니다.

`wandb launch` 명령어는 `--queue` 인수를 지정하여 작업을 큐에 직접 푸시할 수 있습니다. 예를 들어 hello-world 컨테이너 작업을 큐에 제출하려면 다음 명령어를 실행하세요:

```bash theme={"system"}
   wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart --queue [QUEUE-NAME]
```

`[QUEUE-NAME]`을 큐 이름으로 바꾸세요.

이제 Launch 작업, 큐, 큐를 폴링하는 에이전트, 공유 컴퓨트에서 비동기적으로 실행되는 작업으로 구성된 완전한 W\&B Launch 워크플로가 준비되었습니다. 이 패턴을 자체 트레이닝, 평가 및 추론 워크로드에 재사용할 수 있습니다.


## Related topics

- [Tutorial: Set up W&B Launch on Vertex AI](/ko/products/wandb/platform/launch/setup-vertex.md)
