Set up Launch

이 페이지는 W&B Launch 설정에 필요한 개략적인 단계를 설명합니다.

  1. 대기열 설정: 대기열은 FIFO이며 대기열 설정을 갖습니다. 대기열의 설정은 대상 리소스에서 작업이 실행되는 위치와 방법을 제어합니다.
  2. 에이전트 설정: 에이전트는 사용자 시스템/인프라에서 실행되며 Launch 작업을 위해 하나 이상의 대기열을 폴링합니다. 작업이 풀되면 에이전트는 이미지가 빌드되어 사용 가능한지 확인합니다. 그런 다음 에이전트는 작업을 대상 리소스에 제출합니다.

대기열 설정

Launch 대기열은 특정 대상 리소스를 가리키도록 구성해야 하며, 해당 리소스에 특정한 추가 구성도 함께 설정해야 합니다. 예를 들어 Kubernetes 클러스터를 가리키는 Launch 대기열은 환경 변수를 포함하거나 Launch 대기열 구성에 사용자 정의 네임스페이스를 설정할 수 있습니다. 대기열을 생성할 때 사용하려는 대상 리소스와 해당 리소스에 사용할 구성을 모두 지정합니다.

에이전트가 대기열에서 작업을 받으면 대기열 구성도 함께 받습니다. 에이전트가 작업을 대상 리소스에 제출할 때 작업 자체의 재정의와 함께 대기열 구성을 포함합니다. 예를 들어 작업 구성을 사용하여 해당 작업 인스턴스에 대해서만 Amazon SageMaker 인스턴스 유형을 지정할 수 있습니다. 이 경우 대기열 구성 템플릿이 최종 사용자 인터페이스로 사용되는 것이 일반적입니다.

대기열 생성

  1. wandb.ai/launch에서 Launch App으로 이동합니다.
  2. 화면 오른쪽 상단의 대기열 생성 버튼을 클릭합니다.
  1. Entity 드롭다운 메뉴에서 대기열이 속할 Entity를 선택합니다.
  2. 대기열 필드에 대기열 이름을 입력합니다.
  3. 리소스 드롭다운에서 이 대기열에 추가할 작업에 사용할 컴퓨팅 리소스를 선택합니다.
  4. 이 대기열에 대해 우선 순위 지정을 허용할지 여부를 선택합니다. 우선 순위 지정이 활성화되면 팀의 사용자가 작업을 대기열에 추가할 때 Launch 작업의 우선 순위를 정의할 수 있습니다. 우선 순위가 높은 작업은 우선 순위가 낮은 작업보다 먼저 실행됩니다.
  5. 구성 필드에 JSON 또는 YAML 형식으로 리소스 구성을 제공합니다. 구성 문서의 구조와 의미는 대기열이 가리키는 리소스 유형에 따라 달라집니다. 자세한 내용은 대상 리소스에 대한 전용 설정 페이지를 참조하십시오.

Launch 에이전트 설정

Launch 에이전트는 하나 이상의 Launch 대기열에서 작업을 폴링하는 장기 실행 프로세스입니다. Launch 에이전트는 선입선출(FIFO) 순서 또는 대기열에서 가져오는 우선 순위에 따라 작업을 디큐합니다. 에이전트가 대기열에서 작업을 디큐하면 해당 작업에 대한 이미지를 선택적으로 빌드합니다. 그런 다음 에이전트는 대기열 구성에 지정된 구성 옵션과 함께 작업을 대상 리소스에 제출합니다.

에이전트 구성

launch-config.yaml이라는 YAML 파일로 Launch 에이전트를 구성합니다. 기본적으로 W&B는 ~/.config/wandb/launch-config.yaml에서 구성 파일을 확인합니다. Launch 에이전트를 활성화할 때 다른 디렉토리를 선택적으로 지정할 수 있습니다.

Launch 에이전트의 구성 파일 내용은 Launch 에이전트의 환경, Launch 대기열의 대상 리소스, Docker 빌더 요구 사항, 클라우드 레지스트리 요구 사항 등에 따라 달라집니다.

유스 케이스와 관계없이 Launch 에이전트에 대한 핵심 구성 가능 옵션은 다음과 같습니다.

  • max_jobs: 에이전트가 병렬로 실행할 수 있는 최대 작업 수
  • entity: 대기열이 속한 Entity
  • queues: 에이전트가 감시할 하나 이상의 대기열 이름

다음 YAML 코드 조각은 핵심 Launch 에이전트 구성 키를 지정하는 방법을 보여줍니다.

# 수행할 동시 run의 최대 수입니다. -1 = 제한 없음
max_jobs: -1

entity: <entity-name>

# 폴링할 대기열 목록입니다.
queues:
  - <queue-name>

컨테이너 빌더 구성

Launch 에이전트는 이미지를 빌드하도록 구성할 수 있습니다. git 리포지토리 또는 코드 Artifacts에서 생성된 Launch 작업을 사용하려면 컨테이너 빌더를 사용하도록 에이전트를 구성해야 합니다. Launch 작업 생성 방법에 대한 자세한 내용은 Launch 작업 생성을 참조하십시오.

W&B Launch는 세 가지 빌더 옵션을 지원합니다.

  • Docker: Docker 빌더는 로컬 Docker 데몬을 사용하여 이미지를 빌드합니다.
  • Kaniko: Kaniko는 Docker 데몬을 사용할 수 없는 환경에서 이미지 빌드를 가능하게 하는 Google 프로젝트입니다.
  • Noop: 에이전트는 작업을 빌드하려고 시도하지 않고 미리 빌드된 이미지만 가져옵니다.

이미지 빌더를 지정하려면 에이전트 구성에 빌더 키를 포함하십시오. 예를 들어 다음 코드 조각은 Docker 또는 Kaniko를 사용하도록 지정하는 Launch 구성(launch-config.yaml)의 일부를 보여줍니다.

builder:
  type: docker | kaniko | noop

컨테이너 레지스트리 구성

경우에 따라 Launch 에이전트를 클라우드 레지스트리에 연결할 수 있습니다. Launch 에이전트를 클라우드 레지스트리에 연결하려는 일반적인 시나리오는 다음과 같습니다.

  • 강력한 워크스테이션 또는 클러스터와 같이 빌드한 환경 이외의 환경에서 작업을 실행하려는 경우.
  • 에이전트를 사용하여 이미지를 빌드하고 이러한 이미지를 Amazon SageMaker 또는 VertexAI에서 실행하려는 경우.
  • Launch 에이전트가 이미지 리포지토리에서 가져오기 위한 자격 증명을 제공하도록 하려는 경우.

에이전트가 컨테이너 레지스트리와 상호 작용하도록 구성하는 방법에 대한 자세한 내용은 고급 에이전트 설정 페이지를 참조하십시오.

Launch 에이전트 활성화

launch-agent W&B CLI 명령으로 Launch 에이전트를 활성화합니다.

wandb launch-agent -q <queue-1> -q <queue-2> --max-jobs 5

일부 유스 케이스에서는 Kubernetes 클러스터 내에서 Launch 에이전트가 대기열을 폴링하도록 할 수 있습니다. 자세한 내용은 고급 대기열 설정 페이지를 참조하십시오.