메인 콘텐츠로 건너뛰기

Launch란 무엇인가요?

Colab에서 사용해 보기

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

작동 방식

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

시작하기

사용 사례에 따라 W&B Launch를 시작하는 데 도움이 되는 다음 리소스를 확인하세요:

워크스루

이 페이지에서는 W&B Launch 워크플로의 기본 개념을 단계별로 살펴봅니다.
W&B Launch는 컨테이너에서 머신 러닝 워크로드를 실행합니다. 이 워크스루를 진행하는 데 컨테이너에 익숙할 필요는 없지만, 알고 있으면 도움이 됩니다. 컨테이너의 기본 개념은 Docker 문서를 참조하세요.

사전 요구 사항

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

launch 작업 만들기

세 가지 방법 중 하나로 launch job을 만드세요. 도커 이미지를 사용하거나, 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 큐 생성
고급 큐 설정 옵션은 고급 큐 설정 페이지를 참조하세요.

에이전트를 큐에 연결하기

큐에 폴링 에이전트가 없으면 화면 상단의 빨간 배너에 Add an agent 버튼이 표시됩니다. 버튼을 클릭하면 에이전트를 실행하는 command를 확인하고 복사할 수 있는 뷰가 열립니다. command는 다음과 비슷한 형태여야 합니다:
wandb launch-agent --queue <queue-name> --entity <entity-name>
터미널에서 명령어를 실행해 에이전트를 시작하세요. 에이전트는 지정된 큐를 폴링하여 실행할 작업을 확인합니다. 작업을 수신하면 에이전트는 wandb launch 명령어를 로컬에서 실행한 것처럼 해당 작업의 컨테이너 이미지를 다운로드하거나 구축한 다음 실행합니다. Launch 페이지로 다시 이동한 후, 이제 큐가 Active로 표시되는지 확인하세요.

큐에 작업 제출

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