google-cloud-aiplatform SDK의 CustomJob 클래스를 통해 Vertex AI와 연동됩니다. CustomJob의 매개변수는 Launch 큐 설정으로 제어할 수 있습니다. Vertex AI는 Google Cloud 외부의 프라이빗 레지스트리에서 이미지를 가져오도록 구성할 수 없습니다. 따라서 Vertex AI를 W&B Launch와 함께 사용하려면 컨테이너 이미지를 Google Cloud 또는 퍼블릭 레지스트리에 저장해야 합니다. 컨테이너 이미지를 Vertex 작업에서 액세스할 수 있도록 만드는 방법에 대한 자세한 내용은 Vertex AI 문서를 참조하세요.
사전 준비 사항
- Vertex AI API가 활성화된 Google Cloud 프로젝트를 새로 만들거나 기존 프로젝트에 액세스합니다. API 활성화 방법은 Google Cloud API Console 문서를 참고하세요.
- Google Cloud Artifact Registry 리포지토리를 생성합니다. Vertex에서 실행할 이미지를 저장하는 용도로 사용합니다. 자세한 내용은 Google Cloud Artifact Registry 문서를 참고하세요.
- Vertex AI 메타데이터를 저장할 스테이징 GCS 버킷을 생성합니다. 이 버킷은 스테이징 버킷으로 사용되기 위해 Vertex AI 워크로드와 동일한 리전에 있어야 합니다. 하나의 버킷을 스테이징 및 빌드 컨텍스트용으로 함께 사용할 수 있습니다.
- Vertex AI 작업(Job)을 시작할 수 있는 권한을 가진 서비스 계정을 생성합니다. 서비스 계정에 권한을 부여하는 방법은 Google Cloud IAM 문서를 참고하세요.
- 서비스 계정에 Vertex 작업 관리 권한을 부여합니다.
| Permission | Resource Scope | Description |
|---|---|---|
aiplatform.customJobs.create | 지정된 Google Cloud Project | 지정된 Project 내에서 새로운 머신러닝 작업을 생성할 수 있습니다. |
aiplatform.customJobs.list | 지정된 Google Cloud Project | 지정된 Project 내의 머신러닝 작업 목록을 조회할 수 있습니다. |
aiplatform.customJobs.get | 지정된 Google Cloud Project | 지정된 Project 내 특정 머신러닝 작업에 대한 정보를 조회할 수 있습니다. |
Vertex AI 워크로드가 표준이 아닌 서비스 계정의 ID를 사용하도록 하려면, 서비스 계정 생성 및 필요한 권한에 대한 안내를 위해 Vertex AI 문서를 참고하세요. Launch 큐 구성의
spec.service_account 필드를 사용해 W&B 실행에 사용할 커스텀 서비스 계정을 선택할 수 있습니다.Vertex AI용 큐 구성
CustomJob 생성자와 CustomJob의 run 메서드에 전달할 입력 값을 정의합니다. 리소스 구성은 spec 및 run 키 아래에 저장됩니다:
spec키에는 Vertex AI Python SDK의CustomJob생성자에 대한 이름이 지정된 매개변수 값이 포함됩니다.run키에는 Vertex AI Python SDK의CustomJob클래스run메서드에 대한 이름이 지정된 매개변수 값이 포함됩니다.
spec.worker_pool_specs 목록에서 이루어집니다. worker pool spec은 작업을 실행할 워커 그룹을 정의합니다. 기본 구성의 worker spec은 가속기가 없는 단일 n1-standard-4 머신을 요청합니다. 필요에 따라 머신 유형, 가속기 유형 및 개수를 변경할 수 있습니다.
사용 가능한 머신 유형 및 가속기 유형에 대한 자세한 내용은 Vertex AI 문서를 참조하세요.
큐 생성
- Launch 페이지로 이동합니다.
- Create Queue 버튼을 클릭합니다.
- 큐를 생성할 Entity를 선택합니다.
- Name 필드에 큐 이름을 입력합니다.
- Resource로 Google Cloud Vertex AI를 선택합니다.
- Configuration 필드에 이전 섹션에서 정의한 Vertex AI
CustomJob정보를 입력합니다. 기본적으로 W&B는 다음과 유사한 YAML 및 JSON 요청 본문을 자동으로 채워 넣습니다:
- 큐를 구성한 후 Create Queue 버튼을 클릭합니다.
spec.worker_pool_specs: 비어 있지 않은 worker pool 사양 목록.spec.staging_bucket: Vertex AI 자산과 메타데이터를 스테이징하는 데 사용할 GCS 버킷.
Launch 에이전트 구성
~/.config/wandb/launch-config.yaml에 위치한 구성 파일을 통해 구성할 수 있습니다.