기술 가이드

Kubernetes의 KServe 및 모델 서비스

KServe는 기계 학습 모델을 대규모로 제공하기 위한 표준화된 Kubernetes 기반 플랫폼입니다.

2분 읽기마지막 업데이트

개요

It gives teams a single, declarative way to deploy models with autoscaling, canary rollouts, and scale-to-zero, abstracting away most of the Kubernetes plumbing.

심층 분석

이전에 KFServing으로 알려졌고 Kubeflow 프로젝트에서 탄생한 KServe는 InferenceService 사용자 지정 리소스를 정의합니다. 객체 스토리지(S3, GCS, Azure Blob)에 저장된 모델을 가리키는 짧은 YAML 파일을 작성하면 KServe가 나머지를 처리합니다. 예측 추론과 점점 더 생성적인 LLM 제공을 모두 지원합니다. KServe는 일반 프레임워크(TensorFlow Serving, TorchServe, Triton, scikit-learn, XGBoost, Hugging Face)를 위해 사전 구축된 '제공 런타임'을 제공하고 사용자 정의 컨테이너를 지원합니다. Knative Serving 및 네트워킹 계층(Istio 또는 유사)을 기반으로 구축되어 진정한 scale-to-0을 포함한 요청 기반 자동 크기 조정을 제공하므로 유휴 모델은 컴퓨팅을 소비하지 않습니다. 또한 Open Inference Protocol을 중심으로 예측 API를 표준화하므로 클라이언트는 프레임워크에 관계없이 모든 모델과 동일한 방식으로 대화합니다.

기술적 통찰력

KServe의 자동 크기 조정은 동시성 또는 초당 요청 수를 기준으로 복제본 수를 확장하고 트래픽이 중지되면 복제본 수를 0으로 줄인 다음 요청 시 콜드 스타트할 수 있는 Knative에 의존합니다. InferenceService는 전체 추론 파이프라인을 예측기, 변환기(사전/사후 처리) 및 설명자 구성 요소로 추상화합니다. 모델은 시작 시 아티팩트를 포드로 가져오는 '스토리지 이니셜라이저'를 통해 객체 스토리지에서 로드되어 모델 스토리지를 제공 컨테이너 이미지에서 분리합니다.

전략적 영향

비용 및 예산

아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.

더 명확한 결정들

기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.

품질 관리

더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

KServe의 미래와 Kubernetes에서의 모델 서비스

KServe는 KV 캐시 인식 라우팅, 모델 캐싱, 대규모 언어 모델을 위한 분리된 사전 채우기/디코딩 서비스와 같은 기능을 갖춘 LLM 중심 트랙을 추가하여 생성 AI로 빠르게 발전하고 있습니다. vLLM과 같은 추론 엔진과의 더 긴밀한 통합, 하나의 GPU에 비해 ​​너무 큰 모델에 대한 향상된 다중 노드 제공, 토큰 기반 로드 밸런싱을 위한 게이트웨이 수준 라우팅을 기대하세요. CNCF 인큐베이팅 프로젝트로서 이는 Kubernetes 뒤에 모델을 배치하기 위한 사실상의 개방형 표준이 되어 연구 결과물과 탄력적인 생산 엔드포인트 간의 격차를 줄이고 있습니다.

실제 구현

은행은 자동 확장 및 수신을 처리하는 KServe와 함께 S3의 모델을 가리키는 10줄 InferenceService YAML을 작성하여 신용 점수 모델을 배포합니다.

전자 상거래 팀은 KServe Canary 롤아웃을 사용하여 트래픽의 10%를 새로운 추천 모델로 보낸 다음 측정 항목이 정상으로 보이면 100%로 증가합니다.

연구실에서는 거의 사용되지 않는 수십 개의 모델을 0으로 축소하여 제공하므로 각 모델은 요청이 도착할 때만 회전하고 유휴 상태에서는 GPU를 소비하지 않습니다.

MLOps 팀은 예측기가 Triton 제공 비전 모델을 실행하기 전에 KServe 변환기 구성 요소를 사용하여 이미지 크기 조정 및 정규화를 실행합니다.

위험 및 가드레일

하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.

인프라 및 유지 관리 비용은 종종 과소평가됩니다.

시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

구현 로드맵

1

구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.

2

현실적인 로드 및 데이터 조건에서 벤치마킹합니다.

3

오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.

4

확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

계속 탐색하세요

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the KServe and Model Serving on Kubernetes quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

퀴즈 시작

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

다음 가이드

코드 모델에 대한 추측적 편집

자주 묻는 질문

What is KServe and Model Serving on Kubernetes?

KServe는 기계 학습 모델을 대규모로 제공하기 위한 표준화된 Kubernetes 기반 플랫폼입니다. 이는 자동 확장, 카나리아 롤아웃, 0으로 축소를 통해 모델을 배포하는 단일하고 선언적인 방법을 팀에 제공하여 대부분의 Kubernetes 배관을 추상화합니다.

KServe가 독립형 프로젝트가 되기 전의 이전 이름은 무엇이었나요?

KServe는 독립적인 플랫폼이 되기 전에 Kubeflow 프로젝트 내에서 KFServing으로 시작되었습니다.

KServe로 모델을 배포하기 위해 정의하는 기본 Kubernetes 사용자 정의 리소스는 무엇입니까?

일반적으로 YAML에서 InferenceService 사용자 정의 리소스를 선언하여 제공되는 모델을 배포하고 구성합니다.

요청이 도착할 때까지 유휴 KServe 모델이 컴퓨팅을 전혀 사용하지 않도록 하는 기능은 무엇입니까?

Knative를 기반으로 구축된 KServe는 트래픽이 없을 때 복제본을 0으로 낮추고 요청 시 콜드 스타트하는 scale-to-zero를 지원합니다.

KServe의 요청 기반 자동 확장을 제공하는 기본 프로젝트는 무엇입니까?

KServe는 동시성 또는 요청 속도에 따라 복제본을 확장하고 0으로 축소할 수 있는 Knative Serving을 기반으로 구축되었습니다.

KServe는 일반적으로 시작 시 어떻게 모델 아티팩트를 서빙 포드로 가져오나요?

스토리지 이니셜라이저는 객체 스토리지(예: S3 또는 GCS)의 모델 아티팩트를 포드로 다운로드하여 이미지에서 모델을 분리합니다.