Kubeflow 是開放原始碼機器學習 (ML) 平台,可簡化 Kubernetes 中的機器學習工作流程部署與管理作業。Kubeflow 結合了 Kubernetes 的強大功能與機器學習專用工具和程式庫,有助於輕鬆導入穩健的機器學習運作 (MLOps) 做法。Kubeflow 也能讓 Google Kubernetes Engine (GKE) 使用者更輕鬆地建構機器學習工作流程,作為 AI 超級電腦部署作業的一部分。
Kubeflow 可協助機器學習工程師和數據資料學家充分運用 Kubernetes 的可擴充性和可攜性。使用者不必煩惱容器化技術的複雜性,可以專心建構、訓練及部署機器學習模型。
Kubeflow 通常可用於各種機器學習工作,包括:
Kubeflow 由多個元件組成,這些元件可協同運作,提供完善的平台。以下列舉幾個關鍵元件:
Kubeflow Pipeline 運用 Docker 容器,提供一個可建立及部署機器學習工作流程的平台,具可攜性且可擴充。每個 pipeline 都像是藍圖,詳細說明機器學習工作流程的步驟及其互連關係。Kubeflow Pipeline 提供簡單易用的介面,方便您有效管理及追蹤實驗、以視覺化方式呈現 pipeline 執行情形,以及深入檢查記錄和效能指標。
Katib 是機器學習模型的超參數調整系統。找出最適合模型的超參數組合可能會耗費許多時間,但 Katib 可自動執行這項工作。Katib 支援各種搜尋演算法,例如網格搜尋、隨機搜尋和貝式最佳化,可讓使用者更有效率地最佳化模型效能。
KFServing 提供無伺服器推論平台,可用來部署經過訓練的機器學習模型。這簡化了經過訓練的模型的部署和擴充作業。KFServing 支援 TensorFlow、PyTorch 和 scikit-learn 等各種機器學習架構,因此不受架構限制,也能適應各種機器學習生態系統。
Kubeflow 的中繼資料元件可提供歷程和構件追蹤功能。這個元件可協助數據資料學家追蹤實驗、資料集和模型,讓他們更輕鬆地管理及重現工作。這項中繼資料追蹤功能可促進團隊成員合作,確保結果的可重現性。
如要簡化並強化機器學習程序,機構可考慮採用 Kubeflow,因為這項服務具備許多優點:
Kubeflow 可協助使用者視需要調整機器學習工作流程的規模,並可部署至各種基礎架構,包括 on-premises、雲端和混合式環境。此彈性功能可讓機構根據自身需求調整機器學習基礎架構,避免受限於特定廠商。
使用 Kubeflow 的主要好處之一,是其元件式架構可讓您更輕鬆地重現實驗和模型。它提供版本管理工具及追蹤資料集、程式碼和模型參數的工具。這種可重現性可確保機器學習實驗的一致性,並促進數據資料學家之間的合作。
Kubeflow 具備擴充性,可與其他各種工具和服務整合,包括雲端式機器學習平台。您也可以使用其他元件自訂這項功能。機構可以運用現有的工具和工作流程,將 Kubeflow 順利整合至機器學習生態系統。
Kubeflow 會將與部署及管理機器學習工作流程相關的多項任務自動化,讓數據資料學家和工程師能空出更多時間,專心處理更有價值的工作,例如開發及最佳化模型。營運負擔減輕後,工作效率和生產力可能會大幅提升。
Kubeflow 與 Kubernetes 緊密整合,因此資源使用效率可能更高。機構可以將硬體資源配置最佳化,並降低執行機器學習工作負載的相關費用。
使用者可以根據個人需求和資歷,透過幾種方式開始使用 Kubeflow: