KServe i modelowanie w Kubernetesie
KServe to ustandaryzowana platforma natywna dla Kubernetes, służąca do udostępniania modeli uczenia maszynowego na dużą skalę.
Przegląd
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.
Głębokie nurkowanie
Znany wcześniej jako KFServing i zrodzony z projektu Kubeflow, KServe definiuje niestandardowy zasób InferenceService. Piszesz krótki plik YAML wskazujący na model przechowywany w magazynie obiektowym (S3, GCS, Azure Blob), a KServe zajmuje się resztą. Obsługuje zarówno wnioskowanie predykcyjne, jak i, w coraz większym stopniu, generatywną obsługę LLM. KServe dostarcza gotowe „środowiska wykonawcze” dla popularnych frameworków (TensorFlow Serving, TorchServe, Triton, scikit-learn, XGBoost, Hugging Face) i obsługuje niestandardowe kontenery. Zbudowany na bazie Knative Serving i warstwy sieciowej (Istio lub podobnej), zapewnia automatyczne skalowanie na podstawie żądań, w tym rzeczywiste skalowanie do zera, dzięki czemu bezczynne modele nie zużywają mocy obliczeniowej. Standaryzuje także interfejs API przewidywania wokół protokołu Open Inference Protocol, dzięki czemu klienci komunikują się z każdym modelem w ten sam sposób, niezależnie od platformy.
Wgląd techniczny
Automatyczne skalowanie KServe opiera się na Knative, które skaluje liczbę replik w oparciu o współbieżność lub liczbę żądań na sekundę i może zmniejszyć liczbę replik do zera po zatrzymaniu ruchu, a następnie na żądanie przeprowadzić zimny start. Usługa InferenceService wyodrębnia pełny potok wnioskowania na komponenty predykcyjne, transformatorowe (przetwarzanie wstępne/końcowe) i wyjaśniające. Modele ładują się z magazynu obiektów za pośrednictwem „inicjatorów magazynu”, które podczas uruchamiania pobierają artefakty do zasobnika, oddzielając magazyn modelu od obrazu kontenera obsługującego.
Wpływ strategiczny
Koszt i budżet
Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.
Jaśniejsze decyzje
Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.
Kontrola jakości
Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.
Przyszłość KServe i udostępniania modeli na Kubernetesie
KServe szybko ewoluuje w kierunku generatywnej sztucznej inteligencji, dodając ścieżkę skupioną na LLM z funkcjami takimi jak routing uwzględniający pamięć podręczną KV, buforowanie modeli i zdezagregowane udostępnianie wstępnego wypełniania/dekodowania dla dużych modeli językowych. Oczekuj głębszej integracji z silnikami wnioskowania, takimi jak vLLM, lepszej obsługi wielu węzłów w przypadku modeli zbyt dużych dla jednego procesora graficznego oraz routingu na poziomie bramy w celu równoważenia obciążenia w oparciu o tokeny. Jako projekt inkubujący CNCF staje się de facto otwartym standardem umieszczania modeli za Kubernetesem, zmniejszając lukę między artefaktami badawczymi a odpornymi punktami końcowymi produkcji.
Implementacja w świecie rzeczywistym
Bank wdraża model scoringu kredytowego, pisząc 10-liniowy kod YAML InferenceService wskazujący na model w S3, przy czym KServe obsługuje automatyczne skalowanie i ruch przychodzący.
Zespół ds. handlu elektronicznego korzysta z wdrożeń KServe Canary, aby skierować 10 procent ruchu do nowego modelu rekomendacji, a następnie zwiększa się do 100 procent, gdy metryki wyglądają dobrze.
Laboratorium badawcze udostępnia dziesiątki rzadko używanych modeli ze skalą do zera, więc każdy model uruchamia się tylko wtedy, gdy nadejdzie żądanie i nie zużywa procesora graficznego w stanie bezczynności.
Zespół MLOps używa komponentu transformatora KServe do zmiany rozmiaru i normalizacji obrazu, zanim predyktor uruchomi model widzenia obsługiwany przez Triton.
Zagrożenia i poręcze
Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.
Koszty infrastruktury i utrzymania są często niedoszacowane.
W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.
Plan wdrożenia
Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.
Test porównawczy w realistycznych warunkach obciążenia i danych.
Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.
Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.
Odkrywaj dalej
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
Następny poradnik
Spekulatywne edycje modeli kodu
Często zadawane pytania
What is KServe and Model Serving on Kubernetes?
KServe to ustandaryzowana platforma natywna dla Kubernetes, służąca do udostępniania modeli uczenia maszynowego na dużą skalę. Daje zespołom pojedynczy, deklaratywny sposób wdrażania modeli z automatycznym skalowaniem, wdrażaniem kanarkowym i skalowaniem do zera, eliminując większość instalacji Kubernetes.
Jak poprzednio nazywał się KServe, zanim stał się samodzielnym projektem?
KServe powstało jako KFServing w ramach projektu Kubeflow, zanim stało się niezależną platformą.
Jaki jest podstawowy niestandardowy zasób Kubernetes, który definiujesz w celu wdrożenia modelu za pomocą KServe?
Deklarujesz niestandardowy zasób InferenceService, zwykle w formacie YAML, w celu wdrożenia i skonfigurowania obsługiwanego modelu.
Która funkcja pozwala bezczynnym modelom KServe zużywać zero mocy obliczeniowej do momentu otrzymania żądania?
Zbudowany na Knative, KServe obsługuje skalowanie do zera, zrzucanie replik do zera, gdy nie ma ruchu i zimny start na żądanie.
Który projekt bazowy zapewnia automatyczne skalowanie KServe oparte na żądaniach?
KServe opiera się na Knative Serving, który skaluje repliki w oparciu o współbieżność lub liczbę żądań i umożliwia skalowanie do zera.
W jaki sposób KServe zazwyczaj pobiera artefakty modelu do modułu obsługującego przy uruchomieniu?
Inicjatory magazynu pobierają artefakty modelu z magazynu obiektowego (takiego jak S3 lub GCS) do zasobnika, oddzielając modele od obrazu.