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

큐 설정 템플릿 설정

Queue Config Templates를 사용해 컴퓨팅 사용량에 대한 가드레일을 관리하세요. 메모리 사용량, GPU, 런타임 시간 등의 필드에 기본값, 최소값, 최대값을 설정할 수 있습니다. 큐를 설정 템플릿으로 구성한 후에는 팀 구성원이 정의한 필드를 지정한 범위 내에서만 변경할 수 있습니다.

큐 템플릿 설정

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

launch 작업 동적 구성

큐 설정은 에이전트가 큐에서 작업을 디큐할 때 평가되는 매크로를 사용해 동적으로 구성할 수 있습니다. 다음 매크로를 설정할 수 있습니다:
Macro설명
${project_name}run이 시작될 대상 프로젝트의 이름입니다.
${entity_name}run이 시작될 대상 프로젝트의 소유자입니다.
${run_id}시작될 run의 ID입니다.
${run_name}실행을 시작하는 run의 이름입니다.
${image_uri}이 run에 사용되는 컨테이너 이미지의 URI입니다.
앞의 표에 나열되지 않은 맞춤형 매크로(예: ${MY_ENV_VAR})는 에이전트 환경의 환경 변수로 대체됩니다.

가속기(GPU)에서 실행될 이미지를 빌드하려면 Launch 에이전트를 사용하세요

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

TensorFlow에서 GPU를 사용하는 방법

TensorFlow가 GPU를 올바르게 사용하도록 하세요. 이를 위해 큐 리소스 설정에서 builder.accelerator.base_image 키에 도커 이미지와 해당 이미지 태그를 지정합니다. 예를 들어, tensorflow/tensorflow:latest-gpu 베이스 이미지를 사용하면 TensorFlow가 GPU를 올바르게 사용하도록 할 수 있습니다. 이는 큐의 리소스 설정으로 구성할 수 있습니다. 다음 JSON 스니펫은 큐 설정에서 TensorFlow 베이스 이미지를 지정하는 방법을 보여줍니다.
큐 설정
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}