技術指南

Kubeflow 和 ML 管道編排

Kubeflow 是一個開源工具包,可在 Kubernetes 上運行機器學習工作流程,將模型訓練和部署轉變為可重複的容器化管道。

概述

Kubeflow 是一個開源工具包,可在 Kubernetes 上運行機器學習工作流程,將模型訓練和部署轉變為可重複的容器化管道。這很重要,因為它可以讓團隊像擴展現代雲端軟體一樣擴展機器學習。

Kubeflow 和 ML Pipeline Orchestration 是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

Kubeflow 最初是作為在 Kubernetes 上運行 TensorFlow 的一種方式 Google 開始的,然後發展成為一個更廣泛的平台。其核心思想是機器學習工作流程的每個步驟(例如資料準備、訓練、評估和服務)作為 Kubernetes Pod 內的容器化元件運作。 Kubeflow Pipelines (KFP) 讓您可以將這些步驟表達為有向無環圖 (DAG):每個節點都是一個獨立的容器,邊定義資料依賴性。由於 Kubernetes 處理調度、擴展和資源分配,因此管道可以請求 GPU 進行訓練並在之後釋放它們。其他元件包括用於超參數調整的 Katib、用於模型服務的 KServe 和筆記型電腦伺服器。回報是可重複性、跨雲的可移植性以及獨立擴展各個步驟的能力。

技術洞察

Kubeflow 管道將 Python DSL 編譯為 Argo Workflows YAML 規範。每個元件都成為一個容器,它讀取輸入並將輸出作為工件寫入,並透過 MinIO 或 S3 等共用物件儲存在步驟之間傳遞。 Kubernetes 調度每個 Pod,根據元件的請求附加 GPU 或 CPU 資源。控制平面快取步驟輸出,因此在重新運行時會跳過未更改的步驟,從而節省運算並使大型 DAG 變得有效率。

掌握 Kubeflow 和 ML 管道編排

Kubeflow 是一個開源工具包,可在 Kubernetes 上運行機器學習工作流程,將模型訓練和部署轉變為可重複的容器化管道。這很重要,因為它可以讓團隊像擴展現代雲端軟體一樣擴展機器學習。 Kubeflow 和 ML Pipeline Orchestration 是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將 Kubeflow 和 ML Pipeline Orchestration 視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,使用 Kubeflow 和 ML Pipeline Orchestration 的強大團隊根據可靠性和成本優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

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

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

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

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

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

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

Kubeflow 和 ML Pipeline Orchestration 的未來

Kubeflow 正在圍繞 KFP v2 進行整合,並與用於服務的 KServe 和用於調整的 Katib 進行更緊密的集成,並更好地支援跨多個 GPU 的大型模型的分散式訓練。期待對特徵儲存、模型註冊和 LLM 微調工作流程有更深入的了解。隨著 CNCF 下專案的成熟,趨勢是更簡單的安裝、團隊的多租戶以及在本地和主要雲端供應商之間乾淨移植的標準化管道定義。

現實世界的實施

一家零售商安排了一條每晚的 Kubeflow 管道,用於提取銷售數據、重新訓練需求預測模型,並將其推送到 KServe 進行推理。

研究實驗室使用 Katib 在 GPU 叢集上執行數百個平行超參數試驗,自動選擇最佳配置。

銀行建立了一個可重複的詐欺偵測管道,其中每次合規審計都可以從快取的工件中重新運行確切的訓練步驟。

一家新創公司在 Kubeflow 上使用筆記型電腦伺服器,因此資料科學家可以製作原型模型,無需重寫程式碼即可直接進入生產管道。

實施模式

Kubeflow 和 ML Pipeline Orchestration 實踐

一家零售商安排了一條每晚的 Kubeflow 管道,用於提取銷售數據、重新訓練需求預測模型,並將其推送到 KServe 進行推理。

零售商安排一個夜間 Kubeflow 管道來提取銷售數據,重新訓練需求預測模型,並將其推送到 KServe 進行推理。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

Kubeflow 和 ML Pipeline Orchestration 實踐

研究實驗室使用 Katib 在 GPU 叢集上執行數百個平行超參數試驗,自動選擇最佳配置。

研究實驗室使用 Katib 在 GPU 叢集上執行數百個平行超參數試驗,自動選擇最佳配置。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力增益和錯誤成本時,通常會獲得更好的結果。

Kubeflow 和 ML Pipeline Orchestration 實踐

銀行建立了一個可重複的詐欺偵測管道,其中每次合規審計都可以從快取的工件中重新運行確切的訓練步驟。

銀行建立了一個可重複的詐欺偵測管道,其中每次合規性審計都可以從快取的工件中重新運行確切的訓練步驟。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會得到更好的結果。

Kubeflow 和 ML Pipeline Orchestration 實踐

一家新創公司在 Kubeflow 上使用筆記型電腦伺服器,因此資料科學家可以製作原型模型,無需重寫程式碼即可直接進入生產管道。

一家新創公司在 Kubeflow 上使用筆記型電腦伺服器,因此資料科學家可以製作原型模型,無需重寫程式碼即可直接進入生產流程。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

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

!

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

!

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

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在實際負載和資料條件下進行基準測試。

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

儀器監控錯誤、漂移和使用者影響。

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

在擴展之前準備回滾和事件回應路徑。

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索