KServe是一個開源的雲原生模型服務平台,旨在簡化在Kubernetes上部署和運行機器學習模型的過程,支援多種機器學習架構、具備彈性擴容能力。KServe通過定義簡單的YAML檔案,提供聲明式的API來部署模型,使得配置和管理模型服務變得更加容易。
KServe架構介紹
KServe提供了一系列自訂資源(CRD),用於管理和提供機器學習模型的服務。並針對TensorFlow、XGBoost、scikit-learn、PyTorch和Huggingface Transformer/LLM等模型,提供了易用的進階介面及標準化的資料平面協議。此外,KServe隱藏了自動擴縮(AutoScaling)、網路、健全狀態檢查和伺服器配置的複雜操作,實現了GPU的自動擴縮、按需擴縮至零(Scale to Zero)功能以及灰階發布能力(Canary Rollouts),簡化了AI模型的部署和維護流程。
關於KServe開源專案的更多資訊,請參見KServe。
KServe部署模式
KServe部署模式可以分為Raw Deployment、Serverless及ModelMesh三種。不同的部署模式下,KServe的能力也有所不同。
部署模式 | 說明 | 相關文檔 |
Raw Deployment | Raw Deployment是KServe最簡單的部署模式,僅依賴Cert Manager及網關。支援彈性擴縮容、Prometheus監控、灰階發布(需依賴具體網關)、GPU自動擴縮容等能力。 | |
Serverless | Serverless部署模型依賴Cert Manager、網關及Knative。支援彈性擴縮容、按需縮容至零、灰階發布、GPU自動擴縮容等能力。 | |
ModelMesh | ModelMesh部署模式依賴Cert Manager、Knative及ModelMesh(例如ASM)。支援彈性擴縮容、按需縮容至零、灰階發布、GPU自動擴縮容等能力。 | 無 |
安裝ack-kserve組件
如需在ACK叢集中部署和管理ack-kserve組件,請參見安裝ack-kserve️。