機器學習工程師會喜歡的5個Kubeflow 1.3新功能 - thenewstack

banq發表於2021-07-09

Google 的Kubeflow 1.3是最流行的 Kubernetes 開源機器學習平臺的最新版本。它具有許多新功能和增強功能,使機器學習操作 ( MLOps ) 變得簡單易用。
Kubeflow 1.3 的五個特性使平臺變得更好:

1. 簡化安裝
與之前的版本相比,最新版本的 Kubeflow 使安裝變得極其簡單明瞭。
如果您的 Kubernetes 叢集具有支援動態配置的預設儲存類以及 Kustomize 工具,則安裝 Kubeflow 就像執行單個命令一樣簡單。

git clone https://github.com/kubeflow/manifests.git
while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done

幾分鐘後,然後執行以下命令將 Istio 的 Ingress-Gateway 埠轉發到本地埠。

kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80

您應該能夠訪問儀表板。
 

2. 支援多種開發環境
使用 Kubeflow 1.3,您可以啟動執行JupyterVisual Studio CodeRStudio的 Notebook Server 。這為資料科學家和 ML 開發人員提供了 IDE 的選擇。
Kubeflow Notebook Server 例項轉換為在 Kubernetes 中執行的 StatefulSet。您可以自定義用於部署 NoteBook Server 的映像。使用特定於 IDE 環境的基礎映像,您可以使用開發所需的庫和模組建立 Dockerfile。然後,基於自定義映像,您可以啟動具有資料科學實驗所需的完整環境和工具的 Notebook Server。
 

3. 來自 Web UI 的 Kubernetes 卷管理
儲存和卷管理是 MLOps 的重要組成部分。共享持久卷 (RWX) 和專用卷 (RWO) 使資料科學家能夠在 MLOps 管道的多個階段輕鬆共享資料集和模型。
 

4. TensorBoard 與 Kubeflow 的整合
Kubeflow 1.3 內建了對TensorBoard 的支援,這是 TensorFlow 的指標視覺化工具。例如,在訓練模型時,只需新增%tensorboard --logdir logs/fit到 Notebook 即可將指標儲存到 PVC 內的目錄中。
要視覺化指標,請建立一個新的 TensorBoard 並將其指向 Notebook 中訓練程式碼中使用的同一目錄。也可以將指標儲存在物件儲存桶中。在MinIO 中建立的儲存桶,開源的、符合 S3 API 的物件儲存軟體,可用於此目的。
 

5. KFServing 的多模型服務
KFServing 是 Kubeflow 的模型服務元件,針對同時服務多個模型進行了最佳化。在之前的版本中,KFServing為每個模型建立了一個微服務,每個副本至少消耗 0.5 個 CPU 和 0.5G 記憶體資源。這種方式隨著請求數量的增加,會迅速消耗可用的叢集資源。
使用多模型服務,一個 InferenceService 可以載入多個模型,那麼每個模型的平均開銷是 0.1 CPU 和 0.1GB 記憶體。然而,基於 GPU 的模型所需的 GPU 數量隨著模型數量的增長而線性增長,這不是最佳的。
KFServing 現在支援Nvidia Triton 推理伺服器,可以與多個模型共享相同的 GPU。
多模型服務功能有助於克服 Kubernetes 限制,例如每個節點的最大 Pod 數和每個叢集的最大 IP 地址數。此外,它透過新的模型排程器和控制器最大化叢集資源。



 

相關文章