GKE의 AI/ML 워크로드용 가속기 사용 옵션 정보

이 페이지에서는 AI/ML 워크로드의 요구사항에 따라 GPU 또는 TPU와 같은 컴퓨팅 가속기를 확보하는 데 사용할 수 있는 기법을 설명합니다. 이러한 기법을 GKE에서는 가속기 사용 옵션 이라고 합니다. 다양한 사용 옵션을 이해하면 리소스 활용도를 최적화하여 리소스 부족을 방지하고, 리소스를 확보할 가능성을 높이며, 비용과 성능의 균형을 맞출 수 있습니다.

이 페이지는 머신러닝 (ML) 엔지니어와 협력하여 AI/ML 워크로드를 성공적으로 배포하는 데 필요한 리소스를 확보하는 플랫폼 관리자 및 운영자를 대상으로 합니다.

콘텐츠에서 참조하는 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 Google Cloud 일반 GKE 사용자 역할 및 태스크를 참조하세요.

사용 옵션 이해

GKE에서 가속기를 사용하려면 다음 옵션 중에서 선택할 수 있습니다.

  • 온디맨드: GKE에서 용량을 미리 준비하지 않고 TPU 또는 GPU를 사용합니다. 리소스를 요청하기 전에 특정 유형 및 수량의 가속기에 대한 온디맨드 할당량이 충분해야 합니다. 온디맨드는 가장 유연한 사용 옵션이지만 요청을 만족시킬 수 있을 만큼 충분한 온디맨드 리소스가 제공된다고 보장할 수는 없습니다.
  • 예약: 정해진 기간 동안 리소스를 예약합니다. 예약은 다음 중 하나일 수 있습니다.
    • 미래용 예약: 일반적으로 미래의 특정 시점에 더 긴 기간 동안 리소스를 예약합니다. 해당 기간 동안 예약된 리소스에 독점적으로 액세스할 수 있습니다. 미래용 예약을 사용하려면 기술계정 관리자 (TAM)와 협력해야 합니다. 자세한 내용은 TPUGPU 가이드를 참고하세요.
    • 최대 90일까지의 미래용 예약 (캘린더 모드): 캘린더 어드바이저가 사용 가능한 날짜를 제안하는 지정된 기간 동안 용량을 요청합니다. 최대 90일까지의 미래용 예약 (캘린더 모드)은 더 짧은 기간과 셀프서비스 용량 검색에 더 많은 유연성을 제공합니다. 자세한 내용은 캘린더 모드의 미래용 예약 요청을 참고하세요.
    • 온디맨드 예약: 온디맨드 옵션과 마찬가지로 용량을 사용할 수 있게 되면 즉시 프로비저닝되도록 온디맨드 예약을 요청할 수 있습니다. 예약이 활성 상태인 동안에는 리소스를 사용하든 사용하지 않든 리소스 비용을 지불합니다.
  • flex-start: 예약 없이 짧은 기간의 워크로드에 집중적으로 할당된 리소스를 확보합니다. 특정 수의 GPU 또는 TPU를 요청하면 Compute Engine에서 용량을 사용할 수 있게 될 때 프로비저닝합니다. GPU 또는 TPU는 최대 7일 동안 중단 없이 실행됩니다. 자세한 내용은 flex-start 프로비저닝을 참고하세요.
  • 스팟: 스팟 VM을 프로비저닝하면 상당한 할인을 받을 수 있지만 스팟 VM은 언제든지 30초 경고와 함께 선점될 수 있습니다. 자세한 내용은 스팟 VM을 참고하세요.

컴퓨팅 리소스 제약 조건에서 프로비저닝 성공을 최적화하려면 ComputeClasses 를 사용하여 이러한 옵션을 조정하면 됩니다.

GKE의 가속기 할당량 이해

할당량과 시스템 한도는 모든 Google Cloud 사용자가 리소스를 사용할 수 있도록 리소스 Google Cloud 사용량을 제한합니다. 할당량에는 기본값이 있지만 일반적으로 조정을 요청할 수 있습니다. 시스템 한도는 변경될 수 없는 고정값입니다. 기본적으로 프로젝트에는 상당한 가속기 할당량이 제공되지 않습니다. 특정 가속기 유형 및 리전에 대한 할당량을 요청하고 승인을 받아야 합니다.

워크로드에 필요한 할당량을 관리할 때는 다음 특성을 고려하세요.

  • 각 사용 옵션에 필요한 할당량을 요청해야 합니다. 각 사용 옵션에 필요한 할당량을 확인하려면 사용 옵션 선택 표에 나열된 해당 "할당량" 매개변수를 참고하세요. 할당량이 충분하지 않으면 가속기가 필요한 클러스터, 노드 풀을 만들거나 워크로드를 배포하려는 시도가 Quota exceeded 오류와 함께 실패합니다.

  • Autopilot에서 커스텀 ComputeClass 를 사용하는 경우 할당량을 요청해야 합니다. ComputeClass 요구사항을 충족하기 위해 프로비저닝된 노드는 지정된 가속기에 대한 프로젝트의 할당량을 계속 사용합니다.

  • Google Cloud 무료 체험 계정은 GPU 및 TPU와 같은 고가치 리소스에 대한 할당량 상향 조정을 요청하는 데 제한이 있습니다. 가속기 할당량에 액세스하려면 유료 계정으로 업그레이드하세요.

할당량을 확인하고 요청하려면 콘솔의 할당량 페이지로 이동하세요. Google Cloud 가속기 할당량을 필터링하고 상향 조정을 요청할 수 있습니다.

사용 옵션 식별

다음 고려사항을 사용하여 AI/ML 워크로드에 가장 적합한 사용 옵션을 선택하세요.

  • 워크로드 유형: 구현하려는 워크로드 유형을 고려합니다. 학습 또는 추론 워크로드를 실행하는 경우 GKE 요구사항이 다릅니다.
    • 학습: 상당한 메모리가 있는 고성능 리소스가 필요합니다. 학습 워크로드에는 일반적으로 잘 정의된 수명이 있습니다. 이러한 워크로드는 리소스 소비가 갑자기 급증할 가능성이 적기 때문에 계획하기가 더 쉽습니다.
    • 추론: 일반적으로 확장성과 저렴한 비용에 최적화된 가속기가 필요합니다. 추론 워크로드에는 리소스 소비가 갑자기 급증하는 동안 상당한 가속기 메모리가 필요할 수 있습니다.
  • 구현 단계에 따른 수명: 개념 증명 (POC), 플랫폼 평가, 애플리케이션 개발 또는 테스트, 프로덕션화 또는 최적화를 실행하는 경우 비즈니스 목표를 고려합니다.
  • 프로비저닝 시간: 워크로드에 즉시 실행이 필요한지 아니면 나중에 실행할 수 있는지 확인합니다. 나중에 실행할 수 있는 경우 시작 시간을 얼마나 유연하게 지정할 수 있는지 확인합니다.
  • 비용과 성능 간 균형: 워크로드 성능 요구사항과 예산 제약 조건을 평가하여 가장 비용 효율적인 가속기를 선택합니다. 가속기 비용과 성능 특성 간의 절충점을 고려합니다. 새로운 가속기는 비용 대비 성능 비율을 개선할 수 있습니다.

사용 옵션 선택

다음 표를 사용하여 사용 옵션을 선택하세요.

사용 옵션 프로비저닝 매개변수 지원되는 가속기 세부정보 예제 작업 부하
온디맨드 예약
  • 프로비저닝 시간: 즉시 (승인된 예약 포함)
  • 수명: 장기 (예약당)
  • 모든 GPU (A4X, A4 또는 A3 Ultra 제외)
  • 모든 TPU
  • 비용: 전체 예약 기간에 대해 요금이 청구됩니다.
  • 할당량: 용량이 제공되기 전에 할당량이 자동으로 증가합니다.
  • 파운데이션 모델 사전 학습 또는 멀티 호스트 추론과 같은 실행 시간이 길고 대규모 워크로드.
  • 프로덕션 워크로드.
미래용 예약
  • 프로비저닝 시간: 즉시 (승인된 예약 포함)
  • 수명: 장기 (예약당)
  • G2
  • A2
  • GPU가 8개인 A3 High
  • A3 Mega
  • A3 Edge
  • 비용: 전체 예약 기간에 대해 요금이 청구됩니다.
  • 할당량: 용량이 제공되기 전에 할당량이 자동으로 증가합니다.
  • 파운데이션 모델 사전 학습 또는 멀티 호스트 추론과 같은 실행 시간이 길고 대규모 워크로드.
  • 프로덕션 워크로드.
최대 90일까지의 미래용 예약 (캘린더 모드)
  • 프로비저닝 시간: 즉시 (승인된 예약 포함)
  • 수명: 최대 90일
  • A4
  • A3 Ultra
  • A3 Mega
  • GPU가 8개인 A3 High
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • 비용: 할인 (최대 53%). 예약 기간에 대해 요금이 청구됩니다.
  • 할당량: 할당량이 청구되지 않습니다.
  • 정확한 시작 시간이 필요한 모델 미세 조정, 시뮬레이션 또는 일괄 추론과 같은 실행 시간이 짧은 분산 워크로드.
  • 플랫폼 평가, 벤치마킹 또는 최적화 테스트를 위한 워크로드.
flex-start 프로비저닝 모드
  • 프로비저닝 시간: 온디맨드 (제공 가능 여부에 따라 다름)
  • 수명: 할당당 최대 7일
  • A4X를 제외한 모든 GPU 계열
  • 모든 TPU 버전
  • 시작 시간이 유연한 소규모 모델 학습, 미세 조정 또는 확장 가능한 추론과 같은 일괄 워크로드.
  • POC 또는 통합 테스트를 위한 워크로드.
스팟 VM
  • 프로비저닝 시간: 온디맨드 (제공 가능 여부에 따라 다름)
  • 수명: 가변적이며 30초 경고와 함께 선점될 수 있음
  • A4X를 제외한 모든 GPU 계열
  • 모든 TPU 버전
  • CI/CD, 데이터 분석 또는 고성능 컴퓨팅 (HPC)과 같은 우선순위가 낮고 내결함성 워크로드.
  • 중단 가능성이 높은 워크로드.
온디맨드 (GPU 또는 TPU)
  • 프로비저닝 시간: 즉시 (제공 가능 여부에 따라 다름)
  • 수명: 제한 없음
  • A4X, A4 또는 A3 Ultra를 제외한 모든 GPU 계열
  • 모든 TPU 버전
  • 비용: 사용한 만큼만 지불합니다.
  • 할당량: GPU 또는 TPU 온디맨드 할당량이 청구됩니다.
  • 즉시 실행이 필요한 범용 워크로드.

ComputeClass로 비용 및 워크로드 프로비저닝 최적화

ComputeClasses를 사용하여 대체 구성의 우선순위 기반 목록을 정의하여 가속기 사용 전략을 동적으로 관리 하고 자동화할 수 있습니다. 확장 작업 중에 GKE는 설정한 우선순위 계층 구조에 따라 노드를 프로비저닝하려고 시도합니다.

다음 목록은 ComputeClass에서 사용할 수 있는 사용 옵션과 이를 구성하는 방법을 설명합니다. 전체 YAML 매니페스트는 ComputeClass를 사용한 사용 옵션 예를 참고하세요.

  • 예약: ComputeClass의 reservations 필드에서 예약 이름을 정의할 수 있습니다. 이렇게 하면 GKE가 대체하기 전에 먼저 예약된 용량을 사용하려고 시도합니다.
  • flex-start 프로비저닝 모드: ComputeClass의 flexStart 필드를 사용하여 flex 큐를 사용 설정하고 대체 노드 교체 기간을 nodeRecycling 필드를 사용하여 구성합니다.
  • 스팟 VM: 해당 우선순위 규칙의 노드를 프로비저닝할 때 스팟 VM을 사용하도록 GKE에 지시합니다. spot 필드를 true로 설정합니다.
  • 온디맨드 용량과 다중 영역 위치 정책 결합: 우선순위 목록에서 표준 머신 구성을 선언하고 대체 위치 전략을 구성하려면 location 필드를 사용합니다.

ComputeClass는 미래용 예약 또는 최대 90일까지의 미래용 예약 (캘린더 모드)을 지원하지 않습니다.

ComputeClass를 사용한 사용 옵션 예

다음 섹션에서는 이러한 전략의 구성 예를 제공합니다.

대체 구성이 포함된 예약

이 구성은 중단을 허용할 수 있는 워크로드보다는 영구 데이터에 의존하거나 완료될 때까지 실행해야 하는 워크로드에 가장 적합합니다.

이 구성은 다음 단계를 사용하여 복원력 있는 대체 전략을 설정합니다.

  1. 예약 먼저 사용: GKE는 특정 사전 구매 용량 예약을 사용하여 노드를 프로비저닝하려고 시도합니다.
  2. flex-start로 대체: 예약 용량이 완전히 사용되면 GKE는 실행 시간이 짧고 할인된 flex-start 리소스로 대체합니다.
  3. 온디맨드로 대체: 최종 대체로 GKE는 표준 온디맨드 리소스를 프로비저닝합니다.
  4. 예약으로 다시 마이그레이션: 활성 마이그레이션을 사용 설정하면 GKE가 용량을 사용할 수 있게 되는 즉시 워크로드를 자동으로 통합하고 우선순위가 더 높은 예약 노드로 다시 마이그레이션하도록 지시합니다. 이 마이그레이션은 중단을 일으킬 수 있습니다.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: ha-gpu-fallback
    spec:
      activeMigration:
        optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases
      priorities:
      # Priority 1: Consume specific corporate reservation first
      - gpu:
          type: nvidia-l4
          count: 1
        reservations:
          affinity: Specific
          specific:
          - name: reserved-l4-pool
            project: my-project
            zones: [us-central1-a]
      # Priority 2: Fallback to Flex Start (short-duration allocation)
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
      # Priority 3: Fallback to On-demand resources
      - gpu:
          type: nvidia-l4
          count: 1
    

노드 재활용 구성이 포함된 flex-start 프로비저닝 모드

이 구성은 다음 단계를 사용하여 지속적인 가동시간으로 실행 시간이 짧고 할인된 용량을 관리합니다.

  1. flex-start VM 요청: GKE는 flex-start 큐에서 VM 인스턴스를 요청합니다 (최대 7일 동안 중단 없이 실행됨).
  2. 임대 만료 모니터링: GKE는 활성 flex-start 노드의 남은 기간을 추적합니다.
  3. 노드 재활용 트리거: VM 임대가 만료되기 20분 (1, 200초) 전에 GKE는 대체 노드를 자동으로 프로비저닝합니다.
  4. 워크로드 재예약: 워크로드가 새 노드로 마이그레이션되어 서비스 중단 없이 실행을 재개합니다.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: flex-node-recycling
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
          nodeRecycling:
            leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
    

다중 영역 할당 정책 구성

이 구성은 다음 단계를 사용하여 단일 영역 공급 제한을 우회합니다.

  1. 대상 영역 정의: 우선순위 규칙에 여러 백업 영역 (예: us-central1-a, us-central1-b, us-central1-c)을 나열합니다.
  2. 대상 매개변수 확대: 위치 정책ANY로 설정합니다. 이 설정은 클러스터 자동 확장 처리에서 지정된 모든 영역에서 요청된 용량을 검색하도록 지시합니다.
  3. 영역별 가용성 분석: 확장 이벤트 중에 GKE는 지정된 영역을 검사합니다.
  4. 사용 가능한 영역에서 프로비저닝: GKE는 일치하는 용량이 있는 대상 영역에 요청된 워크로드 노드를 즉시 프로비저닝합니다. 이 전략은 할당 큐의 차단을 방지합니다.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: broad-zonal-serving
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        location:
          zones: [us-central1-a, us-central1-b, us-central1-c]
          locationPolicy: ANY # Provision accelerator in any target zone with supply
    

다음 단계