영구 리소스에서 커스텀 학습 작업 실행

이 페이지에서는 Google Cloud CLI, Vertex AI SDK for Python, REST API를 사용하여 영구 리소스에서 커스텀 학습 작업을 실행하는 방법을 보여줍니다.

일반적으로 커스텀 학습 작업을 만들 때는 작업을 만들고 실행할 컴퓨팅 리소스를 지정해야 합니다. 영구 리소스를 만든 후에는 대신 해당 영구 리소스의 리소스 풀 하나 이상에서 실행할 커스텀 학습 작업을 구성할 수 있습니다. 영구 리소스에서 커스텀 학습 작업을 실행하면 컴퓨팅 리소스를 만드는 데 필요한 작업 시작 시간이 현저하게 줄어듭니다.

필요한 역할

영구 리소스에서 커스텀 학습 작업을 실행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Vertex AI 사용자(roles/aiplatform.user) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 영구 리소스에서 커스텀 학습 작업을 실행하는 데 필요한 aiplatform.customJobs.create 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

영구 리소스에서 실행되는 학습 작업 만들기

영구 리소스에서 실행되는 커스텀 학습 작업을 만들려면 커스텀 학습 작업 만들기에 대해 표준 안내를 다음과 같이 수정합니다.

gcloud

  • --persistent-resource-id 플래그를 지정하고 값을 사용하려는 영구 리소스의 ID(PERSISTENT_RESOURCE_ID)로 설정합니다.
  • machine-typedisk-type의 값이 영구 리소스의 해당 리소스 풀과 정확하게 일치하도록 --worker-pool-spec 플래그를 지정합니다. 단일 노드 학습의 경우 --worker-pool-spec를 하나 지정하고 분한 학습의 경우에는 여러 개 지정합니다.
  • 해당 리소스 풀의 replica-count 또는 max-replica-count보다 작거나 같도록 replica-count를 지정합니다.

Python

Python용 Vertex AI SDK를 설치하거나 업데이트하는 방법은 Python용 Vertex AI SDK 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.

def create_custom_job_on_persistent_resource_sample(
    project: str,
    location: str,
    staging_bucket: str,
    display_name: str,
    container_uri: str,
    persistent_resource_id: str,
    service_account: Optional[str] = None,
) -> None:
    aiplatform.init(
        project=project, location=location, staging_bucket=staging_bucket
    )

    worker_pool_specs = [{
        "machine_spec": {
            "machine_type": "n1-standard-4",
            "accelerator_type": "NVIDIA_TESLA_K80",
            "accelerator_count": 1,
        },
        "replica_count": 1,
        "container_spec": {
            "image_uri": container_uri,
            "command": [],
            "args": [],
        },
    }]

    custom_job = aiplatform.CustomJob(
        display_name=display_name,
        worker_pool_specs=worker_pool_specs,
        persistent_resource_id=persistent_resource_id,
    )

    custom_job.run(service_account=service_account)

REST

  • persistent_resource_id 매개변수를 지정하고 값을 사용하려는 영구 리소스의 ID(PERSISTENT_RESOURCE_ID)로 설정합니다.
  • 각 리소스 풀의 machine_specdisk_spec의 값이 영구 리소스의 해당 리소스 풀과 정확하게 일치하도록 worker_pool_specs 매개변수를 지정합니다. 단일 노드 학습의 경우 machine_spec를 하나 지정하고 분한 학습의 경우에는 여러 개 지정합니다.
  • 해당 리소스 풀에서 실행되는 다른 작업의 복제본 수를 제외하고 해당 리소스 풀의 replica_count 또는 max_replica_count보다 작거나 같은 replica_count를 지정합니다.

다음 단계