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에는 다음과 같은 제한사항이 있습니다.

  • 최대 7일 동안 유연한 시작 리소스를 요청할 수 있습니다.
  • Flex-start는 다음 Cloud TPU 버전과 영역을 지원합니다.
  • Cloud TPU에서 유연한 시작을 사용하려면 대기열에 추가된 리소스 API를 사용해야 합니다.

시작하기 전에

Flex-start(유연한 시작) TPU를 요청하기 전에 다음을 충족해야 합니다.

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

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

또한 유연한 시작을 사용하기에 충분한 선점 가능 할당량이 있어야 합니다. 기본 할당량에서 부여하는 것보다 더 많은 TPU 코어가 필요한 경우 더 높은 할당량 할당을 요청해야 합니다. 기본값 및 추가 할당량 요청에 대한 자세한 내용은 Cloud TPU 할당량을 참고하세요.

Flex-start(유연한 시작) TPU 요청

유연한 시작은 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 문서를 참고하세요.

Flex-start(유연한 시작) 요청 상태 가져오기

Flex-start 요청의 상태를 모니터링하려면 대기열에 추가된 리소스 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: 요청과 연결된 리소스가 삭제되었습니다.

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

Flex-start(유연한 시작) TPU의 런타임 모니터링

TPU의 종료 타임스탬프를 확인하여 Flex-start 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

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