메인 콘텐츠로 건너뛰기
이 페이지에서는 Launch 큐 옵션을 구성하는 방법을 설명합니다.

큐 구성 템플릿 설정

Queue Config Templates를 사용해 컴퓨트 사용량에 대한 가드레일을 설정하고 관리하세요. 메모리 사용량, GPU, 실행 시간과 같은 필드에 대한 기본값, 최소값, 최대값을 설정할 수 있습니다. 큐에 구성 템플릿을 설정하면, 팀 구성원은 지정한 범위 내에서만 정의된 필드를 변경할 수 있습니다.

큐 템플릿 구성

기존 큐에 큐 템플릿을 구성하거나 새 큐를 생성할 수 있습니다.
  1. W&B Launch App으로 이동합니다.
  2. 템플릿을 추가하려는 큐 이름 옆의 View queue를 선택합니다.
  3. Config 탭을 선택합니다. 그러면 큐 생성 시점, 큐 config, 기존 실행 시점(launch-time) 오버라이드 등의 큐 정보가 표시됩니다.
  4. Queue config 섹션으로 이동합니다.
  5. 템플릿을 생성하려는 config 키-값을 식별합니다.
  6. 해당 config 값을 템플릿 필드로 바꿉니다. 템플릿 필드는 {{variable-name}} 형태를 사용합니다.
  7. Parse configuration 버튼을 클릭합니다. 구성을 파싱하면 W&B에서 생성한 각 템플릿에 대해 큐 config 아래에 타일을 자동으로 생성합니다.
  8. 생성된 각 타일에 대해 먼저 큐 config에서 허용할 수 있는 데이터 타입(문자열, 정수 또는 float)을 지정해야 합니다. 이를 위해 Type 드롭다운 메뉴에서 데이터 타입을 선택합니다.
  9. 데이터 타입에 따라 각 타일에 표시되는 필드를 채웁니다.
  10. Save config를 클릭합니다.
예를 들어, 팀이 사용할 수 있는 AWS 인스턴스를 제한하는 템플릿을 만들고 싶다고 가정해 봅니다. 템플릿 필드를 추가하기 전 큐 config는 다음과 비슷하게 보일 수 있습니다:
launch config
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에 대한 템플릿 필드를 추가하면 설정이 다음과 같아집니다:
launch config
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을 클릭합니다. 그러면 Queue config 아래에 aws-instance라는 이름의 새 타일이 나타납니다. 여기에서 Type 드롭다운에서 데이터 타입으로 String을 선택합니다. 그러면 사용자가 선택할 수 있는 값을 지정할 수 있는 필드가 생성됩니다. 예를 들어, 아래 이미지에서는 팀의 관리자(admin)가 사용자가 선택할 수 있도록 두 가지 AWS 인스턴스 타입(ml.m4.xlargeml.p3.xlarge)을 구성해 두었습니다:
AWS CloudFormation template

실행 작업을 동적으로 구성하기

큐 구성은 에이전트가 큐에서 Job을 디큐할 때 평가되는 매크로를 사용해 동적으로 설정할 수 있습니다. 다음 매크로를 설정할 수 있습니다:
MacroDescription
${project_name}실행이 시작되는 프로젝트의 이름.
${entity_name}실행이 시작되는 프로젝트의 소유자.
${run_id}시작되는 실행의 ID.
${run_name}시작되는 실행의 이름.
${image_uri}이 실행에 사용되는 컨테이너 이미지의 URI.
앞의 표에 나열되지 않은 사용자 정의 매크로(예: ${MY_ENV_VAR})는 에이전트 환경에 설정된 동일한 이름의 환경 변수 값으로 치환됩니다.

가속기(GPU)에서 실행되는 이미지를 빌드하기 위해 launch 에이전트 사용하기

launch를 사용해 가속기 환경에서 실행될 이미지를 빌드하는 경우, 가속기용 베이스 이미지를 지정해야 할 수 있습니다. 이 가속기용 베이스 이미지는 다음 요구사항을 충족해야 합니다:
  • Debian 호환성 (Launch Dockerfile은 apt-get을 사용해 Python을 설치합니다)
  • CPU 및 GPU 하드웨어 명령어 세트 호환성 (사용하려는 GPU에서 해당 CUDA 버전을 지원하는지 확인하세요)
  • 제공한 가속기 버전과 ML 알고리즘에서 사용하는 패키지 간 호환성
  • 하드웨어와의 호환성을 위해 추가 설정 단계가 필요한 패키지 설치

TensorFlow에서 GPU를 사용하는 방법

TensorFlow가 GPU를 제대로 활용하도록 구성하십시오. 이를 위해 큐 리소스 구성에서 builder.accelerator.base_image 키에 사용할 Docker 이미지와 해당 이미지 태그를 지정해야 합니다. 예를 들어 tensorflow/tensorflow:latest-gpu 기본 이미지는 TensorFlow가 GPU를 올바르게 사용하도록 보장합니다. 이 이미지는 큐의 리소스 구성을 통해 설정할 수 있습니다. 다음 JSON 예시는 큐 구성에서 TensorFlow 기본 이미지를 지정하는 방법을 보여줍니다:
Queue config
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}