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

# Launch 큐 설정

> 기본값, 최소값, 최대값이 포함된 큐 설정 템플릿을 비롯한 고급 Launch 큐 옵션을 설정합니다.

이 페이지에서는 큐 설정 템플릿, 동적 매크로, 가속기 베이스 이미지를 포함한 고급 Launch 큐 옵션을 설정하는 방법을 설명합니다. 이러한 옵션을 사용하면 관리자가 가드레일을 강제 적용하고 특정 컴퓨팅 환경에 맞게 큐를 조정할 수 있습니다.

<div id="set-up-queue-config-templates">
  ## 큐 설정 템플릿 설정
</div>

Queue config templates를 사용하면 관리자가 컴퓨팅 사용량에 대한 가드레일을 관리할 수 있습니다. 메모리 사용량, GPU, 런타임 시간 등의 필드에 기본값, 최소값, 최대값을 설정할 수 있습니다.

큐를 설정 템플릿으로 구성한 후에는 팀 구성원이 정의한 필드를 지정한 범위 내에서만 변경할 수 있습니다.

<div id="configure-queue-template">
  ### 큐 템플릿 설정
</div>

기존 큐 또는 새 큐에서 큐 템플릿을 설정할 수 있습니다. 다음 절차에서는 큐의 설정에 템플릿 필드를 추가하여 팀 구성원이 사용자가 정의한 범위 내에서만 값을 설정할 수 있도록 합니다.

1. [W\&B Launch App](https://wandb.ai/launch)으로 이동합니다.
2. 템플릿을 추가하려는 큐 이름 옆의 **View queue**를 선택합니다.
3. **Config** 탭을 선택합니다. 여기에는 큐가 생성된 시점, 큐 설정, 기존 launch-time override 등 큐에 대한 정보가 표시됩니다.
4. **큐 설정** 섹션으로 이동합니다.
5. 템플릿을 만들려는 설정 키-값을 확인합니다.
6. 설정의 값을 템플릿 필드로 바꿉니다. 템플릿 필드는 `{{variable-name}}` 형식입니다.
7. **Parse configuration** 버튼을 클릭합니다. 설정을 파싱하면 W\&B가 생성한 각 템플릿에 대해 큐 설정 아래에 타일을 자동으로 만듭니다.
8. 생성된 각 타일에서 먼저 큐 설정에 허용할 데이터 유형(string, integer 또는 float)을 지정해야 합니다. 이렇게 하려면 **Type** 드롭다운 메뉴에서 데이터 유형을 선택합니다.
9. 데이터 유형에 따라 각 타일에 표시되는 필드를 입력합니다.
10. **Save config**를 클릭합니다.

설정을 저장하면 이후 Launch에서 큐가 템플릿 제약 조건을 강제 적용합니다.

예를 들어, 팀에서 사용할 수 있는 AWS 인스턴스를 제한하는 템플릿을 만들려고 한다고 가정해 보겠습니다. 템플릿 필드를 추가하기 전에는 큐 설정이 다음과 비슷할 수 있습니다.

```yaml title="launch config" theme={null}
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: ml.m4.xlarge
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
```

`InstanceType`용 템플릿 필드를 추가하면 설정은 다음과 같습니다:

```yaml title="launch config" theme={null}
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: "{{aws_instance}}"
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
```

다음으로 **Parse configuration**을 클릭하세요. 그러면 **큐 설정** 아래에 `aws-instance`라는 새 타일이 나타납니다.

이제 **Type** 드롭다운에서 데이터 유형으로 String을 선택하세요. 그러면 사용자가 선택할 수 있는 값을 지정할 수 있는 필드가 표시됩니다. 예를 들어 아래 이미지에서는 팀 관리자가 사용자가 선택할 수 있도록 두 개의 AWS 인스턴스 유형 `ml.m4.xlarge`와 `ml.p3.xlarge`를 설정했습니다.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sdk-testing-latest/5BwwFpNAnQO_33rW/images/launch/aws_template_example.png?fit=max&auto=format&n=5BwwFpNAnQO_33rW&q=85&s=ed3b71103cdcb3b61829f9fd54da4556" alt="AWS 인스턴스 유형 옵션이 있는 Launch queue 템플릿 타일" width="942" height="988" data-path="images/launch/aws_template_example.png" />
</Frame>

<div id="dynamically-configure-launch-jobs">
  ## launch 작업 동적 구성
</div>

큐 설정은 에이전트가 큐에서 작업을 디큐할 때 평가되는 매크로를 사용해 동적으로 구성할 수 있습니다. launch 시점에 매크로를 사용해 run별 값을 큐 설정에 주입하세요. 다음 매크로를 설정할 수 있습니다:

| Macro             | 설명                            |
| ----------------- | ----------------------------- |
| `${project_name}` | run이 시작될 대상 프로젝트의 이름입니다.      |
| `${entity_name}`  | run이 시작될 대상 프로젝트의 소유자입니다.     |
| `${run_id}`       | 시작될 run의 ID입니다.               |
| `${run_name}`     | 실행을 시작하는 run의 이름입니다.          |
| `${image_uri}`    | 이 run에 사용되는 컨테이너 이미지의 URI입니다. |

<Note>
  앞의 표에 나열되지 않은 맞춤형 매크로(예: `${MY_ENV_VAR}`)는 에이전트 환경의 환경 변수로 대체됩니다.
</Note>

<div id="use-the-launch-agent-to-build-images-that-execute-on-accelerators-or-gpus">
  ## Launch agent를 사용하여 가속기 또는 GPU에서 실행할 이미지를 구축하세요
</div>

가속기 환경에서 실행할 이미지를 구축하기 위해 Launch를 사용하는 경우, 결과 이미지가 대상 하드웨어와 호환되도록 가속기 베이스 이미지를 지정해야 할 수 있습니다.

가속기 베이스 이미지는 다음 요구 사항을 충족해야 합니다.

* Debian 호환성. Launch Dockerfile은 `apt-get`을 사용해 `python`을 가져옵니다.
* CPU 및 GPU 하드웨어 명령어 세트 호환성. 사용하려는 GPU가 해당 CUDA 버전을 지원하는지 확인하세요.
* 제공한 가속기 버전과 ML 알고리즘에 설치된 패키지 간의 호환성.
* 설치된 패키지가 하드웨어와 호환되도록 설정하는 데 필요한 추가 단계.

<div id="use-gpus-with-tensorflow">
  ### TensorFlow에서 GPU 사용
</div>

TensorFlow가 GPU를 사용하도록 하려면 큐 리소스 설정에서 `builder.accelerator.base_image` 키에 도커 이미지와 해당 이미지 태그를 지정합니다.

예를 들어, `tensorflow/tensorflow:latest-gpu` 베이스 이미지를 사용하면 TensorFlow가 GPU를 사용하도록 할 수 있습니다. 이는 큐의 리소스 설정을 사용해 구성할 수 있습니다.

다음 JSON 스니펫은 큐 설정에서 TensorFlow 베이스 이미지를 지정하는 방법을 보여줍니다.

```json title="큐 설정" theme={null}
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}
```
