GKE의 AI/ML 모델 추론 정보


이 페이지에서는 GKE 생성형 AI 기능을 사용하여 Google Kubernetes Engine (GKE)에서 생성형 AI/ML 모델 추론 워크로드를 실행하기 위한 주요 개념, 이점, 단계를 설명합니다.

추론 서빙은 생성형 AI 모델을 실제 애플리케이션에 배포하는 데 매우 중요합니다. GKE는 컨테이너화된 워크로드를 관리하기 위한 강력하고 확장 가능한 플랫폼을 제공하므로 개발 또는 프로덕션에서 모델을 제공하는 데 적합합니다. GKE를 사용하면 오케스트레이션, 확장, 고가용성을 위한 Kubernetes 기능을 사용하여 추론 서비스를 효율적으로 배포하고 관리할 수 있습니다.

AI/ML 추론의 구체적인 요구사항을 인식한 Google Cloud 에서는 GKE의 추론 서빙을 향상하고 최적화하도록 특별히 설계된 기능 모음인 GKE 생성형 AI 기능을 도입했습니다. 특정 기능에 대한 자세한 내용은 GKE 생성형 AI 기능을 참고하세요.

GKE에서 AI/ML 모델 추론 시작하기

몇 분 내에 GKE에서 AI/ML 모델 추론을 탐색할 수 있습니다. GKE의 무료 등급을 사용하면 클러스터 관리 비용을 지불하지 않고도 Kubernetes를 시작할 수 있습니다.

  1. Google Cloud 콘솔에서 GKE AI/ML 페이지로 이동

  2. 모델 배포 단계에 따라 컨테이너화된 모델과 모델 서버를 배포해 보세요.
  3. GKE에서 추론 워크로드를 계획하고 실행하기 위한 안내와 리소스가 포함된 추론 계획을 읽습니다.

용어

이 페이지에서는 GKE의 추론과 관련하여 다음 용어를 사용합니다.

  • 추론: GKE 클러스터 내에서 대규모 언어 모델 또는 확산 모델과 같은 생성형 AI 모델을 실행하여 입력 데이터로부터 텍스트, 임베딩 또는 기타 출력을 생성하는 프로세스입니다. GKE의 모델 추론은 액셀러레이터를 활용하여 실시간 또는 일괄 처리를 위한 복잡한 계산을 효율적으로 처리합니다.
  • 모델: 데이터에서 패턴을 학습하고 추론에 사용되는 생성형 AI 모델입니다. 모델은 크기와 아키텍처가 다양합니다. 작은 도메인별 모델부터 다양한 언어 작업에 최적화된 수십억 개의 파라미터가 있는 대규모 신경망까지 있습니다.
  • 모델 서버: 추론 요청을 수신하고 추론을 반환하는 컨테이너화된 서비스입니다. 이 서비스는 Python 앱이거나 vLLM, JetStream, TensorFlow Serving, Triton Inference Server와 같은 더 강력한 솔루션일 수 있습니다. 모델 서버는 모델을 메모리에 로드하고 가속기에서 계산을 실행하여 추론을 효율적으로 반환합니다.
  • 가속기: GKE 노드에 연결하여 특히 학습 및 추론 작업의 컴퓨팅 속도를 높일 수 있는 특수 하드웨어(예: NVIDIA의 그래픽 처리 장치(GPU), Google의 Tensor Processing Unit(TPU))입니다.

추론을 위한 GKE의 이점

GKE의 추론 제공은 다음과 같은 여러 이점을 제공합니다.

  • 효율적인 가격 대비 성능: 추론 제공 요구사항에 맞는 가치와 속도를 제공합니다. GKE를 사용하면 다양한 강력한 가속기 (GPU 및 TPU) 중에서 선택할 수 있으므로 필요한 성능에 대해서만 비용을 지불하면 됩니다.
  • 더 빠른 배포: GKE 생성형 AI 기능에서 제공하는 맞춤형 권장사항, 자격 요건, 권장사항을 통해 출시 기간을 단축하세요.
  • 확장 가능한 성능: GKE 추론 게이트웨이, 수평형 포드 자동 확장 처리(HPA), 맞춤 측정항목을 사용하여 사전 빌드된 모니터링으로 성능을 확장합니다. 80억 개의 파라미터에서 최대 6, 710억 개의 파라미터에 이르는 다양한 사전 학습된 모델 또는 맞춤 모델을 실행할 수 있습니다.
  • 완전한 이동성: 개방형 표준을 통해 완전한 이동성을 누리세요. Google은 게이트웨이LeaderWorkerSet을 비롯한 주요 Kubernetes API에 기여하며 모든 API는 Kubernetes 배포와 함께 이식 가능합니다.
  • 생태계 지원: 고급 리소스 대기열 및 관리를 위한 Kueue, 분산 컴퓨팅을 위한 Ray와 같은 도구를 지원하는 GKE의 강력한 생태계를 기반으로 확장 가능하고 효율적인 모델 학습 및 추론을 지원합니다.

GKE의 추론 작동 방식

이 섹션에서는 추론 제공을 위해 GKE를 사용하는 단계를 간략하게 설명합니다.

  1. 모델 컨테이너화: 모델 서버 (예: vLLM)를 컨테이너화하고 Cloud Storage 또는 Hugging Face와 같은 저장소에서 모델 가중치를 로드하여 모델을 배포합니다. GKE 추론 빠른 시작을 사용하면 컨테이너화된 이미지가 매니페스트에서 자동으로 관리됩니다.

  2. GKE 클러스터 만들기: 배포를 호스팅할 GKE 클러스터를 만듭니다. 관리형 환경을 위해 Autopilot을 선택하거나 맞춤설정을 위해 표준을 선택합니다. 클러스터 크기, 노드 유형, 가속기를 구성합니다. 최적화된 구성을 사용하려면 추론 빠른 시작을 사용하세요.

  3. 모델을 Kubernetes 배포로 배포: 추론 서비스를 관리할 Kubernetes 배포를 만듭니다. 배포는 클러스터에서 노드 간에 배포되는 여러 포드 복제본을 실행할 수 있는 Kubernetes API 객체입니다. Docker 이미지, 복제본, 설정을 지정합니다. Kubernetes는 이미지를 가져와 GKE 클러스터 노드에서 컨테이너를 실행합니다. 필요한 경우 LoRA 어댑터를 포함하여 모델 서버와 모델로 포드를 구성합니다.

  4. 추론 서비스 노출: Kubernetes 서비스를 만들어 배포의 네트워크 엔드포인트를 제공하여 추론 서비스에 액세스할 수 있도록 합니다. 생성형 AI 추론 워크로드에 맞게 특별히 조정된 지능형 부하 분산 및 라우팅을 위해 추론 게이트웨이를 사용하세요.

  5. 추론 요청 처리: 애플리케이션 클라이언트에서 서비스의 엔드포인트로 예상되는 형식 (JSON, gRPC)으로 데이터를 전송합니다. 부하 분산기를 사용하는 경우 모델 복제본에 요청을 분산합니다. 모델 서버는 요청을 처리하고 모델을 실행하며 추론을 반환합니다.

  6. 추론 배포 확장 및 모니터링: HPA로 추론을 확장하여 CPU 또는 지연 시간을 기반으로 복제본을 자동으로 조정합니다. 추론 빠른 시작을 사용하여 자동 생성된 확장 추천을 받으세요. 성능을 추적하려면 vLLM과 같은 인기 모델 서버용 대시보드를 비롯해 사전 빌드된 관측 가능성이 포함된 Cloud Monitoring 및 Cloud Logging을 사용하세요.

특정 모델, 모델 서버, 액셀러레이터를 사용하는 자세한 예시는 추론 예시를 참고하세요.

GKE 생성형 AI 기능

이러한 기능을 함께 또는 개별적으로 사용하여 추가 비용 없이 생성형 AI 모델을 제공하고 GKE 환경 내에서 리소스 활용도를 개선하는 데 있어 주요 문제를 해결할 수 있습니다.

이름 설명 이점
GKE 추론 빠른 시작 (미리보기)

비즈니스 요구사항을 지정하고 요구사항을 가장 잘 충족하는 가속기, 확장 구성, 모델 서버 조합에 관한 맞춤 권장사항을 확인하세요. gcloud CLI를 사용하여 이 서비스에 액세스할 수 있습니다.

자세한 내용은 GKE 추론 빠른 시작 레시피로 권장사항 추론 실행을 참고하세요.

  • 인프라를 선택하고 구성하는 초기 단계를 자동화하여 시간을 절약합니다.
  • 추가 조정이 필요한 Kubernetes 설정을 완전히 제어할 수 있습니다.
GKE 추론 게이트웨이 (미리보기)

KV 캐시 사용률과 같은 측정항목을 기반으로 라우팅하여 지연 시간을 개선합니다.

자세한 내용은 GKE 추론 게이트웨이 정보를 참고하세요.

  • 비용 효율성을 위해 어필리티 기반 엔드포인트 선택을 사용하여 LoRA 파일을 사용하는 미세 조정된 모델을 공유합니다.
  • 리전 간에 GPU 및 TPU 용량에 동적으로 액세스하여 고가용성을 달성합니다.
  • 모델 아머 부가기능 정책으로 모델의 보안을 강화하세요.
모델 가중치 로드 가속기

캐싱 및 병렬 다운로드를 지원하는 Cloud Storage FUSE를 사용하여 Cloud Storage의 데이터에 빠르게 액세스합니다.

일관된 스케일 아웃 성능이 필요한 추론 워크로드의 경우 Google Cloud Hyperdisk ML은 최대 2,500개의 포드에 연결할 수 있는 네트워크 연결 디스크입니다.

  • GKE에서 가중치 로드 모델 지연 시간을 최소화하여 추론 시작 시간을 최적화합니다.
  • 노드 확장 규모가 제한된 배포의 경우 Cloud Storage FUSE를 사용하여 모델 가중치를 마운트하는 것이 좋습니다.
  • 대규모 모델 가중치에 대한 일관되고 지연 시간이 짧은 액세스가 필요한 대규모 시나리오의 경우 Google Cloud Hyperdisk ML이 전용 블록 스토리지 솔루션을 제공합니다.

추론 계획

이 섹션에서는 GKE의 추론 워크로드에 대해 고려해야 할 몇 가지 주요 사항을 다룹니다.

비용 효율성

대규모 생성형 AI 모델을 제공하는 것은 액셀러레이터 사용으로 인해 비용이 많이 들 수 있으므로 효율적인 리소스 활용에 집중해야 합니다. 가속기 메모리를 모델 크기 및 양자화 수준에 맞추려면 적절한 머신 유형과 가속기를 선택하는 것이 중요합니다. 예를 들어 NVIDIA L4 GPU가 있는 G2 인스턴스는 소규모 모델에 비용 효율적일 수 있는 반면 A3 인스턴스는 대규모 모델에 더 적합합니다.

비용 효율성을 극대화하려면 다음 팁과 권장사항을 따르세요.

성능

GKE에서 추론 성능을 최적화하려면 다음 벤치마크 측정항목에 집중하세요.

벤치마크 지표 측정항목 (단위) 설명
지연 시간 첫 번째 토큰까지의 시간 (TTFT) (ms) 요청의 첫 번째 토큰을 생성하는 데 걸리는 시간입니다.
출력 토큰당 정규화된 시간 (NTPOT) (밀리초) 출력 토큰 수로 정규화된 요청 지연 시간으로, request_latency / total_output_tokens로 측정됩니다.
출력 토큰당 시간 (TPOT) (밀리초) 하나의 출력 토큰을 생성하는 데 걸리는 시간으로, (request_latency - time_to_first_token) / (total_output_tokens - 1)로 측정됩니다.
토큰 간 지연 시간 (ITL) (밀리초) 두 출력 토큰 생성 간의 지연 시간을 측정합니다. 전체 요청의 지연 시간을 측정하는 TPOT와 달리 ITL은 각 개별 출력 토큰을 생성하는 시간을 측정합니다. 그런 다음 이러한 개별 측정값을 집계하여 평균, 중앙값, 백분위수(예: p90) 값을 생성합니다.
요청 지연 시간(밀리초) 요청을 완료하는 엔드 투 엔드 시간입니다.
처리량 초당 요청 초당 처리하는 총 요청 수입니다. 이 측정항목은 컨텍스트 길이에 따라 크게 달라질 수 있으므로 LLM 처리량을 측정하는 신뢰할 수 있는 방법이 아닐 수 있습니다.
초당 출력 토큰 total_output_tokens_generated_by_server / elapsed_time_in_seconds로 측정되는 일반적인 측정항목입니다.
초당 입력 토큰 total_input_tokens_generated_by_server / elapsed_time_in_seconds로 측정됩니다.
초당 토큰 수 total_tokens_generated_by_server / elapsed_time_in_seconds로 측정됩니다. 이 측정항목은 입력 토큰과 출력 토큰을 모두 계산하여 높은 사전 입력 시간과 높은 디코딩 시간을 가진 워크로드를 비교하는 데 도움이 됩니다.

실적을 높이기 위한 추가 팁과 권장사항을 고려하세요.

  • 성능 요구사항에 따라 추천 가속기를 받으려면 추론 빠른 시작을 사용하세요.
  • 성능을 높이려면 권장사항 가이드에 나와 있는 일괄 처리 및 PagedAttention과 같은 모델 서버 최적화 기술을 사용하세요. 또한 일관되게 낮은 토큰 간 지연 시간을 위해 효율적인 메모리 관리와 어텐션 계산에 우선순위를 두세요.
  • 모델 서버 (예: Hugging Face TGI, vLLM, NVIDIA Triton) 전반에서 표준화된 측정항목을 사용하여 자동 확장 및 부하 분산을 개선하면 선택한 지연 시간에서 더 높은 처리량을 달성할 수 있습니다. GKE는 여러 모델 서버에 자동 애플리케이션 모니터링을 제공합니다.
  • 추론 게이트웨이와 같은 GKE 네트워크 인프라 기능을 사용하여 지연 시간을 최소화합니다.
  • 병렬 다운로드 및 캐싱이 적용된 Cloud Storage FUSE 또는 Hyperdisk ML을 사용하여 영구 스토리지에서 모델 가중치 로드를 가속화합니다.

  • 대규모 학습 또는 추론의 경우 경로를 사용합니다. Pathways는 단일 JAX 클라이언트가 여러 대규모 TPU 슬라이스에서 워크로드를 오케스트레이션할 수 있도록 지원하여 대규모 머신러닝 계산을 간소화합니다. 자세한 내용은 Pathways를 참조하세요.

확보 가능성

리소스 (CPU, GPU, TPU)의 획득 가능성을 보장하는 것은 추론 워크로드의 성능, 가용성, 비용 효율성을 유지하는 데 중요합니다. 추론 워크로드는 버스트가 발생하고 예측할 수 없는 트래픽 패턴을 보이는 경우가 많아 하드웨어 용량에 문제가 될 수 있습니다. GKE는 다음과 같은 기능을 통해 이러한 문제를 해결합니다.

  • 리소스 소비 옵션: 보장된 용량 예약, 비용 효율적인 확장, 동적 워크로드 스케줄러, 스팟 VM과 같은 옵션 중에서 선택하여 비용을 최적화하고 즉시 사용할 수 있는 주문형 액세스를 제공합니다.
  • 리소스 적정 규모 조정: 예를 들어 Google Cloud 에서는 스팟 VM을 지원하는 비용 효율적인 생성형 AI 추론 확장용 NVIDIA H100 GPU (1g, 2g 또는 4g)가 탑재된 소형 A3 High VM을 제공합니다.
  • 액셀러레이터용 컴퓨팅 클래스: 커스텀 컴퓨팅 클래스를 사용하여 더 세부적으로 제어하고, 과도한 프로비저닝을 방지하고, 자동 대체 옵션으로 리소스 획득 가능성을 극대화할 수 있습니다.

노드 업그레이드

GKE는 업그레이드 프로세스의 대부분을 자동화하지만, 특히 호환성과 테스트를 위해 업그레이드 전략을 고려해야 합니다. 수동 업그레이드의 경우 추론 워크로드의 중단 허용 범위에 따라 일시 급증 업그레이드와 블루-그린 업그레이드 중에서 선택할 수 있습니다. 서지 업그레이드는 빠르지만 서비스에 잠시 영향을 줄 수 있습니다. 블루/그린 업그레이드는 제로에 가까운 다운타임을 제공하므로 실시간 추론에 매우 중요합니다. 자세한 내용은 노드 업그레이드 전략을 참고하세요.

GPU와 TPU는 라이브 마이그레이션을 지원하지 않으므로 유지보수를 위해 포드를 다시 시작해야 합니다. GKE 알림을 사용하여 중단에 대비하세요. 포드 중단 예산 (PDB)을 사용하여 최소한의 포드 수가 사용 가능한 상태로 유지되도록 하는 것이 좋습니다. 포드가 종료를 정상적으로 처리할 수 있는지 확인합니다. TPU 슬라이스는 단일 호스트 이벤트로 인해 중단될 수 있으므로 중복을 계획하세요. 자세한 권장사항은 GPU 및 TPU에 대한 GKE 노드 중단 관리를 참고하세요.

추론 예시 사용해 보기

생성형 AI 모델, 가속기, 모델 서버의 GKE 배포 예를 확인합니다. 이제 막 시작하는 경우 vLLM과 함께 GKE에서 GPU를 사용하여 Gemma 개방형 모델 제공 튜토리얼을 살펴보는 것이 좋습니다.

또는 키워드로 튜토리얼을 검색합니다.

가속기 모델 서버 튜토리얼
GPU vLLM GKE에서 DeepSeek-R1 671B 또는 Llama 3.1 405B와 같은 LLM 제공
GPU vLLM vLLM과 함께 GKE에서 GPU를 사용하여 Llama 모델 서빙
GPU vLLM vLLM과 함께 GKE에서 GPU를 사용하여 Gemma 개방형 모델 제공
GPU vLLM GKE 추론 게이트웨이를 사용하여 LLM 서빙
GPU NVIDIA Triton GKE에서 단일 GPU로 모델 서빙
GPU Ray Serve Ray를 사용하여 L4 GPU에 LLM 서빙
GPU TGI GKE에서 여러 GPU로 LLM 제공
GPU NVIDIA Triton Triton 및 TensorRT-LLM과 함께 GKE에서 GPU를 사용하여 Gemma 개방형 모델 제공
GPU Hugging Face TGI Hugging Face TGI로 GKE에서 GPU를 사용하여 Gemma 개방형 모델 제공
GPU TensorFlow Serving GKE에서 단일 GPU로 모델 서빙
TPU vLLM vLLM과 함께 GKE에서 TPU Trillium을 사용하여 LLM 서빙
TPU vLLM KubeRay를 사용하여 GKE에서 TPU로 LLM 서빙
TPU JetStream JetStream 및 PyTorch를 사용하여 GKE에서 TPU를 사용하는 LLM 제공
TPU JetStream JetStream과 함께 GKE에서 TPU를 사용하여 Gemma 제공
TPU MaxDiffusion MaxDiffusion과 함께 GKE에서 TPU를 사용하여 Stable Diffusion XL(SDXL) 제공
TPU Optimum TPU Optimum TPU와 함께 TPU를 GKE에서 사용하여 오픈소스 모델 제공

다음 단계

  • GKE의 AI/ML 조정 포털을 방문하여 GKE에서 AI/ML 워크로드를 실행하는 공식 가이드, 튜토리얼, 사용 사례를 살펴보세요.
  • 모델 서빙 최적화에 관한 자세한 내용은 GPU를 사용한 대규모 언어 모델 추론 최적화 권장사항을 참고하세요. GKE에서 GPU를 사용한 LLM 서빙을 위한 권장사항을 다룹니다. 여기에는 양자화, 텐서 동시 로드, 메모리 관리가 포함됩니다.
  • GKE AI Labs에서 GKE를 활용하여 AI/ML 이니셔티브를 가속화하기 위한 실험용 샘플 살펴보기