Flex-start를 사용하여 Cloud TPU 요청

동적 워크로드 스케줄러를 기반으로 하는 Cloud TPU의 Flex-start는 AI 워크로드의 TPU 리소스에 유연하고 비용 효율적인 방식으로 액세스할 수 있도록 지원합니다. Flex-start를 사용하면 장기 예약이나 복잡한 할당량 관리 없이 최대 7일 동안 필요에 따라 TPU를 동적으로 프로비저닝할 수 있습니다. flex-start를 사용하면 용량을 사용할 수 있을 때까지 유지되는 TPU 프로비저닝 요청을 제출합니다. 사용 가능해지면 Flex-start는 요청에 지정된 기간 동안 실행되도록 TPU VM을 프로비저닝합니다.

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

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

제한사항

유연한 시작 Cloud TPU에는 다음과 같은 제한사항이 있습니다.

시작하기 전에

Flex-start TPU를 요청하기 전에 다음을 실행해야 합니다.

  • Google Cloud CLI 설치
  • Google Cloud 프로젝트 만들기
  • Cloud TPU API 사용 설정

자세한 내용은 Cloud TPU 환경 설정을 참고하세요.

또한 Flex-start를 사용하기 위해 충분한 선점 가능 할당량이 있어야 합니다. 기본 할당량으로 부여된 것보다 더 많은 TPU 코어가 필요한 경우 더 높은 할당량 할당을 요청해야 합니다. 기본값 및 할당량 추가 요청에 관한 자세한 내용은 Cloud TPU 할당량을 참고하세요.

유연한 시작 TPU 요청

Flex-start는 TPU 큐에 추가된 리소스 API를 사용하여 큐에 추가된 방식으로 TPU 리소스를 요청합니다. 요청된 리소스를 사용할 수 있게 되면 즉시 독점으로 사용 가능하도록 Google Cloud 프로젝트에 할당됩니다. 요청된 실행 시간이 지나면 TPU VM이 삭제되고 큐에 추가된 리소스가 SUSPENDED 상태로 이동합니다. 대기열에 추가된 리소스에 관한 자세한 내용은 대기열에 추가된 리소스 관리를 참고하세요.

TPU 요청을 유연하게 시작하려면 --provisioning-model 플래그를 flex-start로 설정하고 --max-run-duration 플래그를 TPU를 실행할 시간으로 설정하여 gcloud alpha compute tpus queued-resources create 명령어를 사용합니다.

gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --runtime-version=RUNTIME_VERSION \
    --node-id=NODE_ID \
    --provisioning-model=flex-start \
    --max-run-duration=RUN_DURATION

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

  • QUEUED_RESOURCE_ID: 큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
  • ZONE: TPU VM을 만들 영역입니다.
  • ACCELERATOR_TYPE: 만들 Cloud TPU의 버전 및 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.
  • RUNTIME_VERSION: Cloud TPU 소프트웨어 버전입니다.
  • NODE_ID: 큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
  • RUN_DURATION: TPU를 실행할 시간입니다. 일, 시간, 분, 초를 각각 d, h, m, s로 지정하여 기간 형식을 지정합니다. 예를 들어 72시간 기간에는 72h을 지정하거나 1일, 2시간, 3분, 4초 기간에는 1d2h3m4s를 지정합니다. 최대 기간은 7일입니다.

추가 플래그를 사용하여 특정 시간에 실행되도록 큐에 추가된 리소스 요청을 추가로 맞춤설정할 수 있습니다.

  • --valid-after-duration: TPU를 프로비저닝해서는 안 되는 기간입니다.
  • --valid-after-time: TPU를 프로비저닝해서는 안 되는 시간입니다.
  • --valid-until-duration: 요청의 유효 기간입니다. 이 기간이 지나도 요청이 처리되지 않으면 요청이 만료되고 FAILED 상태로 이동합니다.
  • --valid-until-time: 요청이 유효한 시간입니다. 이 시간까지 요청이 처리되지 않으면 요청이 만료되고 FAILED 상태로 이동합니다.

선택적 플래그에 관한 자세한 내용은 gcloud alpha compute tpus queued-resources create 문서를 참고하세요.

유연한 시작 요청 상태 가져오기

유연한 시작 요청의 상태를 모니터링하려면 큐에 추가된 리소스 API를 사용하여 gcloud alpha compute tpus queued-resources describe 명령어를 통해 큐에 추가된 리소스 요청의 상태를 가져옵니다.

gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \
    --zone ZONE

대기열에 추가된 리소스는 다음 상태 중 하나일 수 있습니다.

  • WAITING_FOR_RESOURCES: 요청이 초기 검증을 통과하여 큐에 추가되었습니다.
  • PROVISIONING: 요청이 큐에서 선택되었으며 TPU VM이 생성되고 있습니다.
  • ACTIVE: 요청이 처리되고 TPU VM이 준비되었습니다.
  • FAILED: 요청을 완료할 수 없습니다. 자세한 내용은 describe 명령어를 사용하세요.
  • SUSPENDING: 요청과 연결된 리소스를 삭제하는 중입니다.
  • SUSPENDED: 요청과 연결된 리소스가 삭제되었습니다.

자세한 내용은 큐에 추가된 리소스 요청에 대한 상태 및 진단 정보 검색을 참고하세요.

유연한 시작 TPU의 런타임 모니터링

TPU의 종료 타임스탬프를 확인하여 유연한 시작 TPU의 실행 시간을 모니터링할 수 있습니다.

  1. 대기열에 추가된 리소스 요청의 세부정보를 가져옵니다.
  2. TPU가 생성되었는지에 따라 다음 옵션 중 하나를 선택합니다.

    • 큐에 추가된 리소스가 리소스를 기다리는 경우: 출력에서 maxRunDuration 필드를 확인합니다. 이 필드는 TPU가 생성된 후 실행되는 기간을 지정합니다.

    • 대기열에 추가된 리소스와 연결된 TPU가 생성된 경우: 출력에서 대기열에 추가된 리소스의 각 노드에 나열된 terminationTimestamp 필드를 확인합니다. 이 필드는 TPU가 종료되는 시점을 지정합니다.

큐에 추가된 리소스 삭제

큐에 추가된 리소스 요청을 삭제하고 --force 플래그를 queued-resources delete 명령어에 전달하여 큐에 추가된 리소스 요청 및 해당 요청과 연결된 TPU를 삭제할 수 있습니다.

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --force

gcloud compute tpus tpu-vm delete 명령어를 사용하여 TPU를 직접 삭제하는 경우 다음 예와 같이 대기열에 추가된 리소스도 삭제해야 합니다. TPU를 삭제하면 큐에 추가된 리소스 요청이 SUSPENDED 상태로 전환된 후 큐에 추가된 리소스 요청을 삭제할 수 있습니다.

TPU를 삭제하려면 gcloud compute tpus tpu-vm delete 명령어를 사용합니다.

gcloud compute tpus tpu-vm delete NODE_ID \
    --zone ZONE

그런 다음 대기열에 추가된 리소스를 삭제하려면 gcloud alpha compute tpus queued-resources delete 명령어를 사용합니다.

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --zone ZONE

자세한 내용은 대기열에 추가된 리소스 요청 삭제를 참고하세요.