Compute Engine으로 TPU flex-start VM 만들기

동적 워크로드 스케줄러를 기반으로 하는 TPU flex-start VM은 장기 예약 없이 최대 7일 동안 AI 워크로드용 TPU 리소스에 유연하고 비용 효율적으로 액세스하는 방법을 제공합니다. TPU flex-start VM을 요청하면 용량이 확보될 때까지 요청이 대기열에 유지됩니다. 프로비저닝되면 TPU VM이 지정된 기간 동안 실행됩니다.

TPU flex-start VM은 빠른 실험, 소규모 테스트, 추론 워크로드를 위한 TPU 동적 프로비저닝, 모델 세부 조정, 7일 미만 실행되는 워크로드 실행에 적합합니다. 다른 TPU 소비 옵션에 대한 자세한 내용은 Cloud TPU 소비 옵션을 참조하세요.

언제든지 TPU 리소스를 삭제하여 비용 청구를 중지할 수 있습니다. TPU 가격 책정에 대한 자세한 내용은 Cloud TPU 가격 책정을 참조하세요.

제한사항

TPU flex-start VM에는 다음과 같은 제한사항이 있습니다.

  • 최대 7일 동안 TPU flex-start VM을 요청할 수 있습니다.
  • 다음 Cloud TPU 버전과 영역을 요청할 수 있습니다.
    • TPU7x: us-central1-c
    • TPU v6e: asia-northeast1-b, us-east5-a, us-south1-ai1b
    • TPU v5p: us-east5-a

TPU가 있는 MIG에는 다음과 같은 제한사항이 있습니다.

  • 수명 주기 작업: TPU 인스턴스를 중지, 시작, 재개 또는 일시중지할 수 없습니다. 다시 시작해야 하는 구성을 변경하거나 요금 청구를 중지하려면 인스턴스를 삭제해야 합니다.

  • 리전 MIG 영역 배포: 대상 배포 형태ANY_SINGLE_ZONE으로 설정해야 합니다.

  • MIG의 구성 업데이트:

  • 멀티 호스트 TPU 슬라이스를 형성하는 MIG에는 다음과 같은 제한사항도 적용됩니다.

    • 대상 크기 정책: 대상 크기 정책 모드를 BULK로 설정해야 합니다. 이 모드를 설정한 후에는 변경할 수 없습니다.

    • 대상 크기: 일괄 모드에서 대상 크기를 0 또는 가속기 토폴로지를 형성하는 데 필요한 인스턴스 수로 설정할 수 있습니다.

    • 워크로드 정책: 가속기 토폴로지가 정의된 워크로드 정책을 지정해야 합니다. 워크로드 정책을 설정한 후에는 MIG에서 정책을 변경하거나 삭제할 수 없습니다.

  • 지원되지 않는 기능: TPU가 있는 MIG는 다음 기능을 지원하지 않습니다.

시작하기 전에

TPU flex-start VM을 요청하기 전에 다음 작업을 수행해야 합니다.

  • Google Cloud CLI 설치
  • 프로젝트 만들기 Google Cloud
  • Compute Engine API (compute.googleapis.com) 사용 설정
  • 필수 권한이 있는지 확인합니다.
    • roles/compute.instanceAdmin.v1
    • roles/iam.serviceAccountUser

자세한 내용은 TPU용 프로젝트 설정 Google Cloud 을 참조하세요.

TPU flex-start VM을 사용하기에 충분한 선점형 할당량이 있는지 확인합니다. 워크로드에 현재 할당량보다 많은 코어가 필요한 경우 할당량 증가를 요청할 수 있습니다. 자세한 내용은 Cloud TPU 할당량을 참조하세요.

MIG로 TPU flex-start VM 만들기

TPU flex-start VM을 사용하려면 특정 인스턴스 템플릿 구성으로 관리형 인스턴스 그룹 (MIG)을 만듭니다.

flex-start VM을 만드는 방법에 대한 일반적인 안내는 flex-start VM 만들기를 참조하세요.

멀티 호스트 슬라이스로 TPU flex-start VM 만들기

인스턴스 템플릿 만들기

FLEX_START 프로비저닝 모델과 선택한 실행 기간을 지정하는 인스턴스 템플릿을 만듭니다.

gcloud compute instance-templates create TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --provisioning-model=FLEX_START \
    --instance-termination-action=DELETE \
    --max-run-duration=DURATION \
    --region=REGION \
    --maintenance-policy=TERMINATE

다음 자리표시자를 바꿉니다.

  • TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • MACHINE_TYPE: TPU VM의 머신 유형 입니다 (예: ct6e-standard-8t).
  • IMAGE_FAMILY: TPU VM의 OS 이미지 계열입니다 (예: ubuntu-accelerator-2204-amd64-with-tpu-v6e).
  • IMAGE_PROJECT: TPU VM의 OS 이미지 프로젝트입니다 (예: ubuntu-os-accelerator-images)
  • DURATION: 최대 실행 기간입니다 (예: 7일의 경우 7d ).
  • REGION: 인스턴스 템플릿을 만들 리전입니다.

워크로드 정책 만들기

다음 명령어는 워크로드 정책을 만듭니다. 단일 호스트 슬라이스의 경우 선택사항입니다.

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --accelerator-topology=TOPOLOGY

다음 자리표시자를 바꿉니다.

  • WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.
  • TOPOLOGY: TPU VM의 토폴로지입니다(예: 4x4x8).

MIG 만들기

템플릿을 사용하여 MIG를 만듭니다.

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=TEMPLATE_NAME \
    --size=SIZE \
    --workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME \
    --target-size-policy-mode=bulk

다음 자리표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • ZONE: MIG의 영역입니다.
  • TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • SIZE: 만들 인스턴스 수입니다.
  • PROJECT_ID: 프로젝트의 ID입니다. Google Cloud
  • WORKLOAD_POLICY_REGION: 워크로드 정책이 정의된 리전 입니다.
  • WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.

단일 호스트 슬라이스로 TPU flex-start VM 만들기

인스턴스 템플릿 만들기

FLEX_START 프로비저닝 모델과 선택한 실행 기간을 지정하는 인스턴스 템플릿을 만듭니다.

gcloud compute instance-templates create TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --provisioning-model=FLEX_START \
    --instance-termination-action=DELETE \
    --max-run-duration=DURATION \
    --region=REGION \
    --maintenance-policy=TERMINATE

다음 자리표시자를 바꿉니다.

  • TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • MACHINE_TYPE: TPU VM의 머신 유형 입니다 (예: ct6e-standard-8t).
  • IMAGE_FAMILY: TPU VM의 OS 이미지 계열입니다 (예: ubuntu-accelerator-2204-amd64-with-tpu-v6e).
  • IMAGE_PROJECT: TPU VM의 OS 이미지 프로젝트입니다 (예: ubuntu-os-accelerator-images).
  • DURATION: 최대 실행 기간입니다 (예: 7일의 경우 7d ).
  • REGION: 인스턴스 템플릿을 만들 리전입니다.

워크로드 정책 만들기

다음 명령어는 워크로드 정책을 만듭니다. 단일 호스트 슬라이스의 경우 선택사항입니다.

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput

다음 자리표시자를 바꿉니다.

  • WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.

MIG 만들기

템플릿을 사용하여 MIG를 만듭니다.

gcloud compute instance-groups managed create MIG_NAME \
    --zone=ZONE \
    --template=TEMPLATE_NAME \
    --size=SIZE \
    --workload-policy=projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME

다음 자리표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • ZONE: MIG의 영역입니다.
  • TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • SIZE: 만들 인스턴스 수입니다.
  • PROJECT_ID: 프로젝트의 ID입니다. Google Cloud
  • WORKLOAD_POLICY_REGION: 워크로드 정책이 정의된 리전입니다.
  • WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.