메인 콘텐츠로 건너뛰기

Launch란 무엇인가요?

Colab에서 사용해 보기

W&B Launch를 사용하면 데스크톱에서 Amazon SageMaker, Kubernetes 등의 컴퓨팅 리소스로 트레이닝 runs를 쉽게 확장할 수 있습니다. W&B Launch를 설정하면 몇 번의 클릭과 명령만으로 트레이닝 스크립트를 실행하고, 모델 평가 제품군을 실행하고, 모델을 프로덕션 Inference용으로 준비하는 등 다양한 작업을 빠르게 수행할 수 있습니다.

작동 방식

Launch는 launch jobs, queues, agents의 세 가지 핵심 컴포넌트로 구성됩니다. launch job은 ML 워크플로에서 작업을 구성하고 실행하기 위한 청사진입니다. launch job이 있으면 이를 launch queue에 추가할 수 있습니다. launch queue는 선입선출(FIFO) 방식의 큐로, Amazon SageMaker 또는 Kubernetes cluster와 같은 특정 컴퓨팅 대상 리소스에 맞게 작업을 구성하고 제출할 수 있습니다. 작업이 큐에 추가되면 launch agents가 해당 큐를 폴링하여 큐가 대상으로 지정한 시스템에서 작업을 실행합니다.
W&B Launch 개요 다이어그램
사용 사례에 따라 사용자(또는 팀의 다른 구성원)는 선택한 컴퓨팅 리소스 대상(예: Amazon SageMaker)에 맞게 launch queue를 구성하고 자체 인프라에 Launch 에이전트를 배포합니다. Launch에 대한 자세한 내용은 용어 및 개념 페이지를 참조하세요.

시작하기

사용 사례에 따라 W&B Launch를 시작할 때 도움이 되는 다음 리소스를 살펴보세요:

워크스루

이 페이지에서는 W&B Launch 워크플로의 기본 내용을 살펴봅니다.
W&B Launch는 컨테이너에서 머신 러닝 워크로드를 실행합니다. 이 워크스루를 따라가는 데 컨테이너에 익숙할 필요는 없지만, 알고 있으면 도움이 될 수 있습니다. 컨테이너 입문 내용은 Docker 문서를 참조하세요.

사전 요구 사항

시작하기 전에 다음 사전 요구 사항을 충족했는지 확인하세요.
  1. https://wandb.ai/site에서 계정에 가입한 다음 W&B 계정에 로그인합니다.
  2. 이 워크스루를 진행하려면 Docker CLI와 엔진이 정상적으로 작동하는 머신에 대한 터미널 액세스가 필요합니다. 자세한 내용은 Docker 설치 가이드를 참조하세요.
  3. W&B Python SDK 버전 0.17.1 이상을 설치합니다.
    pip install wandb>=0.17.1
    
  4. 터미널에서 wandb login을 실행하거나 WANDB_API_KEY 환경 변수를 설정하여 W&B에 인증합니다.
터미널에서 다음을 실행하세요.
wandb login

launch job 생성하기

launch job은 다음 세 가지 방법 중 하나로 생성할 수 있습니다: Docker 이미지 사용, git 저장소 사용, 또는 로컬 소스 코드 사용.
W&B에 메시지를 로깅하는 미리 만들어진 컨테이너를 실행하려면 터미널을 열고 다음 명령어를 실행합니다:
wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart
위 명령어는 컨테이너 이미지 wandb/job_hello_world:main을 다운로드한 뒤 실행합니다.Launch는 컨테이너를 설정해 wandb로 로깅된 모든 내용이 launch-quickstart 프로젝트에 보고되도록 합니다. 컨테이너는 W&B에 메시지를 로깅하고, W&B에서 새로 생성된 run으로 이동하는 링크를 표시합니다. 링크를 클릭해 W&B UI에서 run을 확인하세요.

큐 만들기

Launch는 팀이 공유 컴퓨팅을 중심으로 워크플로를 구축할 수 있도록 설계되었습니다. 지금까지의 예제에서는 wandb launch 명령어가 로컬 머신에서 컨테이너를 동기식으로 실행했습니다. Launch 큐와 에이전트를 사용하면 공유 리소스에서 작업을 비동기식으로 실행하고, 우선순위 지정 및 하이퍼파라미터 최적화 같은 고급 기능을 활용할 수 있습니다. 기본 큐를 만들려면 다음 단계를 따르세요:
  1. wandb.ai/launch로 이동한 다음 Create a queue 버튼을 클릭합니다.
  2. 큐와 연결할 Entity를 선택합니다.
  3. Queue name을 입력합니다.
  4. ResourceDocker를 선택합니다.
  5. 지금은 Configuration을 비워 둡니다.
  6. Create queue를 클릭합니다 :rocket:
버튼을 클릭하면 브라우저가 큐 뷰의 Agents 탭으로 리디렉션됩니다. 에이전트가 폴링을 시작할 때까지 큐는 Not active 상태로 유지됩니다.
Docker 큐 생성
고급 큐 설정 옵션은 고급 큐 설정 페이지를 참조하세요.

에이전트를 큐에 연결하기

큐에 폴링 에이전트가 없으면 화면 상단의 빨간 배너에 에이전트 추가 버튼이 표시됩니다. 버튼을 클릭하면 에이전트를 실행하는 명령어를 확인하고 복사할 수 있습니다. 명령어는 다음과 비슷합니다.
wandb launch-agent --queue <queue-name> --entity <entity-name>
터미널에서 명령어를 실행해 에이전트를 시작합니다. 에이전트는 지정된 큐를 폴링해 실행할 작업이 있는지 확인합니다. 작업을 받으면 에이전트는 wandb launch 명령어를 로컬에서 실행한 것처럼 해당 작업의 컨테이너 이미지를 다운로드하거나 빌드한 다음 실행합니다. Launch 페이지로 돌아가 큐가 이제 Active로 표시되는지 확인합니다.

큐에 작업 제출

W&B 계정의 새 launch-quickstart 프로젝트로 이동한 다음, 화면 왼쪽 내비게이션에서 Jobs 탭을 여세요. Jobs 페이지에는 이전에 실행한 run에서 생성된 W&B Jobs 목록이 표시됩니다. launch job을 클릭하면 소스 코드, 의존성, 그리고 해당 작업에서 생성된 run을 볼 수 있습니다. 이 워크스루를 완료하면 목록에 작업이 세 개 표시됩니다. 새 작업 중 하나를 선택한 다음, 다음 지침에 따라 큐에 제출하세요:
  1. 작업을 큐에 제출하려면 Launch 버튼을 클릭하세요. 그러면 Launch 드로어가 나타납니다.
  2. 앞에서 만든 Queue를 선택한 다음 Launch를 클릭하세요.
이렇게 하면 작업이 큐에 제출됩니다. 이 큐를 폴링하는 에이전트가 작업을 가져와 실행합니다. 작업 진행 상황은 W&B UI에서 확인하거나 터미널에서 에이전트 출력을 검사해 모니터링할 수 있습니다. wandb launch command는 --queue argument를 지정해 작업을 큐에 직접 푸시할 수 있습니다. 예를 들어 hello-world container 작업을 큐에 제출하려면 다음 명령어를 실행하세요:
   wandb launch --docker-image wandb/job_hello_world:main --project launch-quickstart --queue <queue-name>