본문으로 건너뛰기

Launch 설정하기

이 페이지는 W&B Launch를 설정하는 데 필요한 하이레벨 단계를 설명합니다:

  1. Set up a queue: 큐는 FIFO이며 큐 설정을 가지고 있습니다. 큐의 설정은 대상 리소스에서 작업이 어떻게 실행될지를 제어합니다.
  2. Set up an agent: 에이전트는 사용자의 기계/인프라에서 실행되며 하나 이상의 큐에서 런치 작업을 폴링합니다. 작업이 선택되면, 에이전트는 이미지가 구축되고 사용 가능한지 확인합니다. 그런 다음 에이전트는 작업을 대상 리소스에 제출합니다.

Set up a queue

런치 큐는 특정 대상 리소스를 가리키도록 설정되어야 하며, 그 리소스에 특정한 추가 설정도 포함해야 합니다. 예를 들어, 쿠버네티스 클러스터를 가리키는 런치 큐는 환경 변수를 포함하거나 런치 큐 설정에서 사용자 정의 네임스페이스를 설정할 수 있습니다. 큐를 생성할 때 사용하고자 하는 대상 리소스와 그 리소스를 사용하기 위한 설정을 모두 지정하게 됩니다.

에이전트가 큐에서 작업을 받으면, 큐 설정도 함께 받게 됩니다. 에이전트가 작업을 대상 리소스에 제출할 때, 큐 설정과 작업 자체에서 오는 재정의 사항을 포함합니다. 예를 들어, 작업 설정을 사용하여 해당 작업 인스턴스에 대한 아마존 SageMaker 인스턴스 유형을 지정할 수 있습니다. 이 경우, 큐 설정 템플릿을 최종 사용자 인터페이스로 사용하는 것이 일반적입니다.

Set up an agent

  1. wandb.ai/launch에서 Launch 앱으로 이동합니다.
  2. 화면 오른쪽 상단에 있는 큐 생성 버튼을 클릭합니다.

  1. Entity 드롭다운 메뉴에서 큐가 속할 엔티티를 선택합니다.

    팀 엔티티를 선택하면 팀의 모든 멤버가 이 큐에 작업을 보낼 수 있습니다. 개인 엔티티(사용자 이름과 연관된)를 선택하면 W&B는 해당 사용자만 사용할 수 있는 개인 큐를 생성합니다.

  2. 필드에 큐의 이름을 제공합니다.
  3. 리소스 드롭다운에서 이 큐에 추가된 작업이 사용할 컴퓨트 리소스를 선택합니다.
  4. 이 큐에 우선 순위 지정을 허용할지 선택합니다. 우선 순위 지정이 활성화되면, 팀의 사용자가 작업을 큐에 넣을 때 런치 작업에 대한 우선 순위를 정의할 수 있습니다. 더 높은 우선 순위의 작업은 낮은 우선 순위의 작업보다 먼저 실행됩니다.
  5. 설정 필드에 JSON 또는 YAML 형식으로 리소스 설정을 제공합니다. 구성 문서의 구조와 의미는 큐가 가리키는 리소스 유형에 따라 달라집니다. 대상 리소스에 대한 전용 설정 페이지를 참조하세요.

런치 에이전트 설정하기

런치 에이전트는 장기 실행 프로세스로서 하나 이상의 런치 큐를 폴링하여 작업을 찾습니다. 런치 에이전트는 FIFO 순서 또는 우선 순위 순서에 따라 큐에서 작업을 가져옵니다. 에이전트가 큐에서 작업을 가져올 때, 작업에 대한 이미지를 선택적으로 구축할 수 있습니다. 그런 다음 에이전트는 큐 설정에 지정된 구성 옵션과 함께 작업을 대상 리소스에 제출합니다.

정보

에이전트는 매우 유연하며 다양한 사용 사례를 지원하도록 구성할 수 있습니다. 에이전트에 필요한 설정은 구체적인 사용 사례에 따라 다릅니다. Docker, Amazon SageMaker, 쿠버네티스, 또는 Vertex AI에 대한 전용 페이지를 참조하세요.

W&B는 특정 사용자의 API 키 대신 서비스 계정의 API 키로 에이전트를 시작하는 것이 좋습니다. 서비스 계정의 API 키를 사용하면 두 가지 이점이 있습니다:

  1. 에이전트가 개별 사용자에게 의존하지 않습니다.
  2. Launch를 통해 생성된 실행과 연관된 작성자는 에이전트와 연관된 사용자가 아니라 런치 작업을 제출한 사용자로 보입니다.

에이전트 구성

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

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

사용 사례와 관계없이 런치 에이전트에 대한 핵심 구성 옵션이 있습니다:

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

런치 에이전트에 대한 전역 구성 옵션(최대 작업 수, W&B 엔티티, 런치 큐)을 지정하기 위해 설정 YAML 파일 대신 W&B CLI를 사용할 수 있습니다. 자세한 내용은 wandb launch-agent 코맨드를 참조하세요.

다음 YAML 스니펫은 핵심 런치 에이전트 구성 키를 지정하는 방법을 보여줍니다:

launch-config.yaml
# 실행할 최대 동시 실행 수. -1 = 제한 없음
max_jobs: -1

entity: <entity-name>

# 폴링할 큐 목록.
queues:
- <queue-name>

컨테이너 빌더 구성하기

런치 에이전트는 이미지를 구축하도록 구성할 수 있습니다. git 저장소나 코드 아티팩트에서 생성된 런치 작업을 사용하려면 에이전트를 컨테이너 빌더로 구성해야 합니다. 런치 작업을 생성하는 방법에 대한 자세한 내용은 런치 작업 생성하기를 참조하세요.

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

  • Docker: Docker 빌더는 로컬 Docker 데몬을 사용하여 이미지를 구축합니다.
  • Kaniko: Kaniko는 Docker 데몬이 사용 불가능한 환경에서 이미지를 구축할 수 있게 해주는 Google 프로젝트입니다.
  • Noop: 에이전트는 작업을 구축하려고 시도하지 않으며, 대신 사전 구축된 이미지만 가져옵니다.

에이전트가 Docker 데몬이 사용 불가능한 환경(예: 쿠버네티스 클러스터)에서 폴링하는 경우 Kaniko 빌더를 사용하세요.

Kaniko 빌더에 대한 자세한 내용은 쿠버네티스 설정하기를 참조하세요.

이미지 빌더를 지정하려면 에이전트 구성에 빌더 키를 포함하세요. 예를 들어, 다음 코드 스니펫은 Docker 또는 Kaniko를 사용하도록 지정하는 런치 설정(launch-config.yaml)의 일부를 보여줍니다:

launch-config.yaml
builder:
type: docker | kaniko | noop

컨테이너 레지스트리 구성하기

일부 경우에는 런치 에이전트를 클라우드 레지스트리에 연결하고자 할 수 있습니다. 런치 에이전트를 클라우드 레지스트리에 연결하고자 하는 일반적인 시나리오는 다음과 같습니다:

  • 빌드한 환경과 다른 환경에서 작업을 실행하고 싶은 경우, 예를 들어 강력한 워크스테이션 또는 클러스터에서.
  • 에이전트를 사용하여 이미지를 구축하고 이러한 이미지를 Amazon SageMaker 또는 VertexAI에서 실행하고 싶은 경우.
  • 이미지 저장소에서 가져오기 위해 에이전트에 자격증명을 제공하고 싶은 경우.

에이전트가 컨테이너 레지스트리와 상호 작용하도록 구성하는 방법에 대해 자세히 알아보려면 고급 에이전트 설정 페이지를 참조하세요.

런치 에이전트 활성화하기

launch-agent W&B CLI 코맨드로 런치 에이전트를 활성화하세요:

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

일부 사용 사례에서는 쿠버네티스 클러스터 내에서 큐를 폴링하는 런치 에이전트를 가질 수 있습니다. 자세한 내용은 고급 큐 설정 페이지를 참조하세요.

Was this page helpful?👍👎