GKE에서 AI/ML 모델 추론을 위한 부하 분산 전략 선택

이 페이지는 Google Kubernetes Engine(GKE)에서 AI/ML 모델 추론 워크로드에 적합한 부하 분산 전략을 선택하는 데 도움이 됩니다.

이 페이지는 다음 사용자를 대상으로 합니다.

  • AI/ML 워크로드를 서빙하기 위해 Kubernetes 컨테이너 조정 기능을 사용하는 데 관심이 있는 머신러닝(ML) 엔지니어, 플랫폼 관리자 및 운영자, 데이터 및 AI 전문가
  • Kubernetes 네트워킹과 상호작용하는 클라우드 설계자 및 네트워킹 전문가

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

이 페이지를 읽기 전에 다음 내용을 숙지해야 합니다.

GKE에 AI/ML 모델 추론 워크로드를 배포할 때는 성능, 확장성, 비용 효율성을 최적화하기 위해 적절한 부하 분산 전략을 선택합니다.

  • AI/ML 워크로드 제공을 위한 최적화된 라우팅 및 부하 분산을 위해 GKE Inference Gateway를 선택합니다.
  • 애플리케이션 부하 분산기를 사용하는 커스텀 측정항목이 있는 GKE Gateway를 선택합니다. 이 옵션은 범용 제어를 제공하며 애플리케이션 또는 인프라 요구사항에 맞는 측정항목을 기반으로 트래픽 분산을 구성할 수 있습니다.

GKE Inference Gateway 개요

GKE Inference Gateway는 까다로운 생성형 AI(GenAI) 및 복잡한 대규모 언어 모델(LLM) 추론 워크로드를 최적화하고 관리합니다. 이 API는 GKE Gateway API를 확장하여 다음과 같은 몇 가지 주요 이점을 제공합니다.

  • 지능형 AI 인식 라우팅: GKE Inference Gateway는 다음을 비롯한 중요한 AI 관련 측정항목을 모니터링합니다.

    • 모델 서버 KV 캐시 사용률
    • 대기 요청 큐 길이
    • 전체 GPU/TPU 사용률
    • LoRA 어댑터 사용 설정
    • 개별 요청의 컴퓨팅 비용 이러한 측정항목을 기반으로 게이트웨이는 가장 적합하고 부하가 가장 적은 모델 서버 복제본에 트래픽을 지능적으로 분산합니다.
  • 요청 우선순위 지정: 게이트웨이는 요청의 우선순위를 지정하는 메커니즘을 제공합니다.

  • 최적화된 자동 확장: 게이트웨이는 모델 서버를 위한 최적화된 자동 확장 메커니즘을 제공합니다.

커스텀 측정항목이 있는 GKE 게이트웨이 개요

Google Cloud 는 전역 외부 및 리전 외부와 같은 범위를 지원하는 애플리케이션 부하 분산기 리소스를 제공합니다. 이러한 범용 부하 분산기는 백엔드 서비스에서 보고하는 커스텀 측정항목을 기반으로 트래픽을 분산합니다. 이 접근 방식을 사용하면 부하 분산을 세부적으로 제어하여 애플리케이션별 성능 지표를 기반으로 부하를 분산할 수 있습니다.

GKE Inference Gateway와 GKE 게이트웨이(커스텀 측정항목 포함) 비교

다음 표를 사용하여 GKE Inference Gateway와 GKE 게이트웨이(커스텀 측정항목 포함)의 기능을 비교하고 GKE에서 AI/ML 추론 워크로드에 적합한 부하 분산 솔루션을 선택합니다.

기능 GKE Inference Gateway 커스텀 측정항목이 있는 GKE 게이트웨이(애플리케이션 부하 분산기 사용)
기본 사용 사례 대규모 언어 모델(LLM) 서빙을 비롯한 Kubernetes의 생성형 AI 및 머신러닝 추론 워크로드를 최적화합니다. 모델 리소스에 대한 공정한 액세스를 보장하고 지연 시간에 민감한 GPU 또는 TPU 기반 LLM 워크로드를 최적화합니다. 커스텀 애플리케이션 보고 측정항목을 기반으로 트래픽을 분산하는 범용 HTTP(S) 부하 분산을 제공합니다. 이러한 부하 분산은 커스텀 사용률 데이터를 보고하는 실시간 게임 서버나 고빈도 거래 플랫폼과 같이 지연 시간에 민감한 서비스에 적합합니다.
기본 라우팅 호스트 및 경로를 기반으로 표준 HTTP(S) 라우팅을 지원하여 GKE Gateway API를 확장합니다. 호스트 및 경로를 기반으로 하는 표준 HTTP(S) 라우팅을 지원합니다. GKE Gateway API의 표준 리소스를 사용하여 이를 구성합니다.
고급 라우팅 로직 모델 인식 라우팅, 트래픽 분할, 미러링, 요청에 우선순위 및 중요도 수준 적용과 같은 고급 기능을 제공합니다. Open Request Cost Aggregation(ORCA) 표준을 통해 애플리케이션에서 보고하는 커스텀 측정항목을 기반으로 트래픽을 분산합니다. 이를 통해 지역 내 엔드포인트 가중치에 WEIGHTED_ROUND_ROBIN과 같은 정책을 사용할 수 있습니다.
지원되는 측정항목 GPU 또는 TPU 사용률, KV 캐시 적중, 요청 큐 길이와 같은 네이티브 AI 전용 측정항목 모음을 활용합니다. 표준화된 HTTP 헤더 메커니즘을 사용하여 애플리케이션에서 보고한 측정항목을 사용하도록 구성할 수도 있습니다. 표준화된 HTTP 헤더 메커니즘, 특히 Open Request Cost Aggregation(ORCA) 부하 보고를 사용하여 애플리케이션에서 보고한 측정항목을 사용합니다. 이 메커니즘은 CPU 및 메모리와 같은 표준 측정항목은 물론 애플리케이션별 제한된 리소스의 커스텀 이름 측정항목도 지원합니다.
요청 처리 프롬프트 복잡성이 다양하여 LLM에서 흔히 발생하는 균일하지 않은 요청 비용이 있는 워크로드를 처리하도록 설계되었습니다. 요청 중요도 수준을 지원하여 다양한 유형의 추론 요청의 우선순위를 지정할 수 있습니다. 개별 요청의 처리 비용이 비교적 균일한 워크로드에 가장 적합합니다. 이 솔루션에는 네이티브 요청 우선순위 지정 기능이 포함되어 있지 않습니다.
LoRa 어댑터 지원 특정 LoRa 어댑터가 장착된 백엔드로의 어피니티 기반 라우팅을 기본적으로 제공하여 요청이 적절한 리소스로 전달되도록 합니다. LoRa 어댑터 또는 LoRa 구성을 기반으로 하는 어피니티 기반 라우팅을 기본적으로 지원하지 않습니다.
자동 확장 통합 KV 캐시 사용률과 같은 AI 관련 측정항목을 활용하여 모델 서버의 자동 확장을 최적화하여 더 많은 정보를 바탕으로 확장 결정을 내립니다. 커스텀 측정항목을 사용하여 수평형 포드 자동 확장 처리(HPA)와 통합됩니다. 이러한 측정항목은 애플리케이션 부하 분산기에 보고되며 보고된 부하 신호를 기반으로 확장하는 데 일반적인 방식으로 사용됩니다.
설정 및 구성하기 GKE Gateway API로 구성합니다. AI 인식 기능을 지원하기 위해 전문화된 InferencePoolInferenceModel 커스텀 리소스 정의(CRD)로 표준 API를 확장합니다. GKE Gateway API의 표준 리소스를 사용하여 이 솔루션을 구성합니다. 애플리케이션은 부하 분산의 커스텀 측정항목을 보고하기 위해 Open Request Cost Aggregation(ORCA)과 같은 HTTP 헤더 기반 메커니즘을 구현해야 합니다.
보안 이 솔루션에는 게이트웨이 수준에서 Model Armor를 사용하는 AI 콘텐츠 필터링이 포함되어 있습니다. 또한 TLS, Identity and Access Management(IAM), 역할 기반 액세스 제어(RBAC), 네임스페이스와 같은 기본 GKE 보안 기능을 활용합니다. 이 솔루션은 Google Cloud Armor, TLS 종료, IAM을 포함하는 표준 애플리케이션 부하 분산기 보안 스택을 사용합니다. AI 콘텐츠 필터링을 사용 설정하려면 Google Cloud Armor를 서비스 확장 프로그램으로 통합하면 됩니다.
관측 가능성 GPU 또는 TPU 사용률, KV 캐시 적중, 요청 큐 길이, 모델 지연 시간 등 AI 관련 측정항목에 대한 기본 제공 관측 가능성을 제공합니다. 관측 가능성은 애플리케이션이 보고하도록 구성된 커스텀 측정항목에 따라 달라집니다. Cloud Monitoring에서 이러한 측정항목을 볼 수 있습니다. 여기에는 표준 또는 커스텀 이름 지정 측정항목이 포함될 수 있습니다.
확장성 확장 가능한 오픈소스 기반으로 빌드되어 사용자가 관리하는 엔드포인트 선택기 알고리즘을 허용합니다. 일반적인 AI 사용 사례를 간소화하기 위해 InferencePoolInferenceModel과 같은 전문화된 [커스텀 리소스 정의(CRD)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway)로 GKE Gateway API를 확장합니다. 유연성을 고려하여 설계되었으며, 애플리케이션이 ORCA 표준을 사용하여 보고하는 [커스텀 측정항목(부하 신호)](/load-balancing/docs/https/applb-custom-metrics)을 사용하여 부하 분산을 확장할 수 있습니다.
출시 단계 GA GA

GKE Inference Gateway를 사용해야 하는 경우

GKE Inference Gateway를 선택하여 GKE에서 정교한 AI 및 머신러닝 추론 워크로드를 최적화합니다. 특히 대규모 언어 모델(LLM)에 적합합니다. 다음과 같은 상황에서는 이 솔루션을 사용하는 것이 좋습니다.

  • LLM 서빙: vLLM과 같은 모델 서버를 사용할 때는 KV 캐시 사용률이나 요청 큐 길이와 같은 LLM별 상태를 기반으로 라우팅 결정을 내려야 합니다.
  • LoRa 어댑터로 모델 배포: 올바르고 사용 가능한 LoRa 어댑터가 장착된 백엔드로의 지능형 어필리티 기반 라우팅이 필요합니다.
  • 처리 비용이 매우 가변적인 추론 요청 처리: 예를 들어 동적 프롬프트 크기 또는 복잡성에는 비용 인식 부하 분산기가 필요합니다.
  • 요청 우선순위 지정 구현: 중요, 표준, 부하 차단 가능 요청과 같은 다양한 추론 트래픽 클래스의 우선순위를 지정해야 합니다.
  • 자동 확장 최적화: 정보에 입각한 확장 결정을 내리기 위해 KV 캐시 사용률과 같은 생성형 AI(GenAI) 모델 서버의 특정 성능 측정항목과 긴밀하게 결합된 자동 확장 메커니즘이 필요합니다.
  • Model Armor 통합 활용: 게이트웨이 수준에서 AI 안전 확인을 위해 Model Armor를 사용해야 합니다.
  • 기본 제공되는 관측 가능성 확보: GPU 또는 TPU 사용률, KV 캐시 적중, 요청 큐 길이 등 중요한 AI 관련 측정항목에 기본 제공 관측 가능성이 필요합니다.
  • 생성형 AI 배포 간소화: 확장 가능한 GKE Gateway API 기반을 통해 향후 맞춤설정 옵션을 유지하면서 GKE에서 일반적인 생성형 AI 배포 패턴을 간소화하는 목적에 맞게 빌드된 솔루션을 선호합니다.

커스텀 측정항목과 함께 GKE 게이트웨이를 사용해야 하는 경우

애플리케이션의 고유한 성능 지표를 기반으로 유연한 범용 부하 분산을 구현하려면 커스텀 측정항목과 함께 GKE 게이트웨이를 사용합니다. 이 접근 방식을 사용하면 특정 추론 시나리오를 비롯한 고유한 애플리케이션 정의 성능 지표를 기반으로 부하를 분산할 수 있습니다. 다음 시나리오에서는 이 방법을 사용하는 것이 좋습니다.

  • 워크로드의 트래픽이 많고 요청당 처리 비용이 비교적 균일합니다.
  • 부하 분산은 일반적으로 Open Request Cost Aggregation(ORCA) 부하 보고 표준을 사용하여 HTTP 응답 헤더를 통해 애플리케이션에서 보고하는 하나 또는 두 개의 특정 커스텀 측정항목으로 효과적으로 관리할 수 있습니다.
  • 부하 분산 요구사항은 생성형 AI 또는 LLM 관련 기능에 따라 달라지지 않습니다.
  • 운영 모델에 GKE Inference Gateway에서 제공하는 특수 AI 관련 인텔리전스가 필요하지 않으므로 불필요한 아키텍처 복잡성을 피할 수 있습니다.
  • 기존 애플리케이션 부하 분산기 배포와의 일관성을 유지하는 것이 우선이며 이러한 배포는 추론 서비스의 부하 분산 요구사항을 충족합니다.

다음 단계