Tutorial: Set up W&B Launch on Vertex AI
3 minute read
W&B Launch 를 사용하여 Vertex AI 트레이닝 작업으로 실행하기 위한 작업을 제출할 수 있습니다. Vertex AI 트레이닝 작업을 통해 Vertex AI 플랫폼에서 제공되거나 사용자 정의된 알고리즘을 사용하여 기계학습 모델을 트레이닝할 수 있습니다. Launch 작업이 시작되면 Vertex AI는 기본 인프라, 확장 및 오케스트레이션을 관리합니다.
W&B Launch 는 google-cloud-aiplatform
SDK의 CustomJob
클래스를 통해 Vertex AI와 연동됩니다. CustomJob
의 파라미터는 Launch 대기열 설정으로 제어할 수 있습니다. Vertex AI는 GCP 외부의 개인 레지스트리에서 이미지를 가져오도록 구성할 수 없습니다. 즉, W&B Launch 와 함께 Vertex AI를 사용하려면 컨테이너 이미지를 GCP 또는 공용 레지스트리에 저장해야 합니다. Vertex 작업에 컨테이너 이미지를 엑세스할 수 있도록 설정하는 방법에 대한 자세한 내용은 Vertex AI 설명서를 참조하십시오.
전제 조건
- Vertex AI API가 활성화된 GCP 프로젝트를 만들거나 엑세스합니다. API 활성화에 대한 자세한 내용은 GCP API Console 문서를 참조하십시오.
- Vertex에서 실행하려는 이미지를 저장할 GCP Artifact Registry 저장소를 만듭니다. 자세한 내용은 GCP Artifact Registry 문서를 참조하십시오.
- Vertex AI가 메타데이터를 저장할 스테이징 GCS 버킷을 만듭니다. 이 버킷은 스테이징 버킷으로 사용하려면 Vertex AI 워크로드와 동일한 리전에 있어야 합니다. 동일한 버킷을 스테이징 및 빌드 컨텍스트에 사용할 수 있습니다.
- Vertex AI 작업을 시작하는 데 필요한 권한이 있는 서비스 계정을 만듭니다. 서비스 계정에 권한을 할당하는 방법에 대한 자세한 내용은 GCP IAM 문서를 참조하십시오.
- Vertex 작업을 관리할 수 있는 권한을 서비스 계정에 부여합니다.
권한 | 리소스 범위 | 설명 |
---|---|---|
aiplatform.customJobs.create |
지정된 GCP 프로젝트 | 프로젝트 내에서 새로운 기계학습 작업을 생성할 수 있습니다. |
aiplatform.customJobs.list |
지정된 GCP 프로젝트 | 프로젝트 내에서 기계학습 작업 목록을 볼 수 있습니다. |
aiplatform.customJobs.get |
지정된 GCP 프로젝트 | 프로젝트 내에서 특정 기계학습 작업에 대한 정보를 검색할 수 있습니다. |
spec.service_account
필드를 사용하여 W&B run 에 대한 사용자 정의 서비스 계정을 선택할 수 있습니다.Vertex AI에 대한 대기열 구성
Vertex AI 리소스에 대한 대기열 구성은 Vertex AI Python SDK의 CustomJob
생성자와 CustomJob
의 run
메소드에 대한 입력을 지정합니다. 리소스 구성은 spec
및 run
키 아래에 저장됩니다.
spec
키에는 Vertex AI Python SDK의CustomJob
생성자의 명명된 인수에 대한 값이 포함되어 있습니다.run
키에는 Vertex AI Python SDK의CustomJob
클래스의run
메소드의 명명된 인수에 대한 값이 포함되어 있습니다.
실행 환경의 사용자 정의는 주로 spec.worker_pool_specs
목록에서 발생합니다. 작업자 풀 사양은 작업을 실행할 작업자 그룹을 정의합니다. 기본 구성의 작업자 사양은 가속기가 없는 단일 n1-standard-4
머신을 요청합니다. 필요에 따라 머신 유형, 가속기 유형 및 수를 변경할 수 있습니다.
사용 가능한 머신 유형 및 가속기 유형에 대한 자세한 내용은 Vertex AI 설명서를 참조하십시오.
대기열 만들기
Vertex AI를 컴퓨팅 리소스로 사용하는 W&B App 에서 대기열을 만듭니다.
- Launch 페이지로 이동합니다.
- 대기열 만들기 버튼을 클릭합니다.
- 대기열을 만들려는 Entity 를 선택합니다.
- 이름 필드에 대기열 이름을 입력합니다.
- 리소스 로 GCP Vertex 를 선택합니다.
- 설정 필드 내에서 이전 섹션에서 정의한 Vertex AI
CustomJob
에 대한 정보를 제공합니다. 기본적으로 W&B는 다음과 유사한 YAML 및 JSON 요청 본문을 채웁니다.
spec:
worker_pool_specs:
- machine_spec:
machine_type: n1-standard-4
accelerator_type: ACCELERATOR_TYPE_UNSPECIFIED
accelerator_count: 0
replica_count: 1
container_spec:
image_uri: ${image_uri}
staging_bucket: <REQUIRED>
run:
restart_job_on_worker_restart: false
- 대기열을 구성한 후 대기열 만들기 버튼을 클릭합니다.
최소한 다음을 지정해야 합니다.
spec.worker_pool_specs
: 비어 있지 않은 작업자 풀 사양 목록spec.staging_bucket
: Vertex AI 자산 및 메타데이터를 스테이징하는 데 사용될 GCS 버킷
일부 Vertex AI 문서는 모든 키가 카멜 케이스인 작업자 풀 사양(예: workerPoolSpecs
)을 보여줍니다. Vertex AI Python SDK는 이러한 키에 대해 스네이크 케이스(예: worker_pool_specs
)를 사용합니다.
Launch 대기열 구성의 모든 키는 스네이크 케이스를 사용해야 합니다.
Launch 에이전트 구성
Launch 에이전트는 기본적으로 ~/.config/wandb/launch-config.yaml
에 있는 구성 파일을 통해 구성할 수 있습니다.
max_jobs: <n-concurrent-jobs>
queues:
- <queue-name>
Launch 에이전트가 Vertex AI에서 실행되는 이미지를 빌드하도록 하려면 고급 에이전트 설정을 참조하십시오.
에이전트 권한 설정
이 서비스 계정으로 인증하는 방법은 여러 가지가 있습니다. 이는 Workload Identity, 다운로드된 서비스 계정 JSON, 환경 변수, Google Cloud Platform 코맨드라인 툴 또는 이러한 방법의 조합을 통해 수행할 수 있습니다.
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.