KServe是一個基於Kubernetes的機器學習模型服務架構,支援以Kubernetes CRD的形式將單個或多個經過訓練的模型(例如TFServing、TorchServe、Triton等推理伺服器)部署到模型服務運行時,使得模型的部署、更新和擴充變得更加簡單快捷。您可以在控制台安裝KServe的核心組件,KServe Controller,以獲得基於請求流量自動擴容等能力。
KServe介紹
KServe是一個基於Kubernetes的機器學習模型服務架構,提供簡單的Kubernetes CRD,可用於將單個或多個經過訓練的模型(例如TFServing、TorchServe、Triton等推理伺服器)部署到模型服務運行時。ModelServer和MLServer是KServe中兩個模型服務運行時,用於在KServe中部署和管理機器學習模型。KServe內建了ModelServer和MLServer兩種預定義模型服務運行時,它們能夠提供開箱即用的模型服務。ModelServer使用預測v1協議在KServe本身中實現Python模型服務運行時,MLServer使用REST和gRPC實現預測v2協議。如果需要更複雜的用例,您也可以選擇構建自己的自訂模型伺服器。此外,KServe還提供基本API原語,可輕鬆構建自訂模型服務運行時。您也可以使用其他工具(例如BentoML)來構建您自己的自訂模型服務鏡像。
基於Knative使用InferenceService部署模型後,您將獲得以下Serverless能力:
縮容到0
基於RPS、並發數、CPU/GPU指標自動彈性
多版本管理
流量管理
安全認證
開箱即用可觀測性
KServe Controller
KServe Controller是KServe的核心組件之一,它負責管理InferenceService自訂資源,並通過建立Knative服務部署實現自動化的擴縮容,即該服務部署能根據請求流量進行自動擴縮容,並在未收到流量時將服務的Pod縮容到0。這種自動化的擴縮容可以有效地管理模型服務的資源使用,並確保只有在需要時才會使用資源。
前提條件
已在叢集中部署Knative,請參見部署Knative。
部署KServe
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在組件管理頁簽,找到KServe組件,然後單擊部署,按照頁面指引完成組件的安裝。
當組件狀態顯示為已部署,表明組件部署成功。
相關文檔
安裝組件後,您可以基於KServe快速部署一個推理服務。