技術指南

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.

深入探討

KServe 以前稱為 KFServing,誕生於 Kubeflow 項目,它定義了 InferenceService 自訂資源。您編寫一個簡短的 YAML 文件,指向儲存在物件儲存(S3、GCS、Azure Blob)中的模型,然後 KServe 處理其餘的內容。它既支持預測推理,也支持越來越多的生成法學碩士服務。 KServe 為常見框架(TensorFlow Serving、TorchServe、Triton、scikit-learn、XGBoost、Hugging Face)提供預先建置的“服務執行時間”,並支援自訂容器。它建立在 Knative Serving 和網路層(Istio 或類似層)之上,提供請求驅動的自動縮放,包括真正的縮放到零,因此空閒模型不消耗計算。它還圍繞著開放推理協定標準化了預測 API,因此無論框架如何,客戶端都以相同的方式與每個模型進行通訊。

技術洞察

KServe 的自動擴展依賴於 Knative,它根據並發數或每秒請求數擴展副本數量,並且可以在流量停止時將副本數降至零,然後按需冷啟動。 InferenceService 將完整的推理管道抽象化為預測器、轉換器(預處理/後處理)和解釋器元件。模型透過「儲存初始化程序」從物件儲存加載,在啟動時將工件拉入 Pod,將模型儲存與服務容器映像解耦。

戰略影響

成本與預算

多年來,架構決策決定著效能和營運成本。

更明確的決策

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

品質管控

更好的工程選擇可以減少生產中的可靠性事故。

KServe 的未來和 Kubernetes 上的模式服務

KServe 正在快速地向生成式 AI 發展,添加了一個以 LLM 為中心的軌道,具有 KV 快取感知路由、模型快取以及針對大型語言模型的分解預填充/解碼服務等功能。期望與 vLLM 等推理引擎進行更深入的集成,為對於一個 GPU 來說太大的模型提供更好的多節點服務,以及用於基於令牌的負載平衡的網關級路由。作為 CNCF 孵化項目,它正在成為將模型置於 Kubernetes 背後的事實上的開放標準,縮小研究工件和彈性生產端點之間的差距。

現實世界的實施

一家銀行透過編寫指向 S3 中模型的 10 行 InferenceService YAML 來部署信用評分模型,並使用 KServe 處理自動縮放和入口。

電子商務團隊使用 KServe 金絲雀部署將 10% 的流量傳送到新的建議模型,然後在指標看起來正常時增加到 100%。

一個研究實驗室為數十個很少使用的模型提供了縮放至零的服務,因此每個模型僅在請求到達時才會啟動,並且在空閒時不消耗 GPU。

MLOps 團隊使用 KServe 轉換器元件在預測器運行 Triton 服務的視覺模型之前運行影像大小調整和標準化。

風險與防護欄

優化一項基準測試可以隱藏更廣泛的系統弱點。

基礎設施和維護成本常常被低估。

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

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 原生平台,用於大規模服務機器學習模型。它為團隊提供了一種單一的、聲明性的方式來部署具有自動縮放、金絲雀部署和縮放到零的模型,抽象化大部分 Kubernetes 管道。

KServe 在成為獨立專案之前的前身名稱是什麼?

KServe 最初是 Kubeflow 專案中的 KFServing,後來成為一個獨立的平台。

您定義用於使用 KServe 部署模型的主要 Kubernetes 自訂資源是什麼?

您可以聲明 InferenceService 自訂資源(通常採用 YAML)來部署和設定服務模型。

哪種功能可以讓空閒的 KServe 模型消耗零計算直到請求到達?

KServe 基於 Knative 構建,支援縮放至零、在沒有流量時將副本數降至零以及按需冷啟動。

哪個底層項目提供 KServe 的請求驅動的自動縮放?

KServe 建立在 Knative Serving 的基礎上,Knative Serving 可根據並發或請求率擴展副本,並實現擴展到零。

KServe 通常如何在啟動時將模型工件放入服務 Pod 中?

儲存初始化器將模型工件從物件儲存(例如 S3 或 GCS)下載到 Pod 中,從而將模型與映像解耦。