技術指南

Kubeflow 和 ML 管道編排

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

閱讀時間約2分鐘最後更新

概述

It matters because it lets teams scale ML the same way they scale modern cloud software.

深入探討

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 Pipeline Orchestration 的未來

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

現實世界的實施

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

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

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

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

風險與防護欄

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

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

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

實施路線圖

1

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

2

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

3

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

4

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

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubeflow and ML Pipeline Orchestration quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

GPU調度和叢集編排

常見問題

What is Kubeflow and ML Pipeline Orchestration?

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

Kubeflow 在什麼底層平台上執行機器學習工作流程?

Kubeflow 是專門為在 Kubernetes 上運行 ML 工作流程而建置的,利用其調度和擴充功能。

在 Kubeflow Pipelines 中,工作流程的每個步驟通常是如何打包的?

每個管道步驟都是一個獨立的容器,在 Kubernetes Pod 內運行,輸入和輸出作為工件傳遞。

Kubeflow 管道使用什麼結構來表達步驟的順序和依賴關係?

管道表示為 DAG,其中節點是組件,邊表示它們之間的資料依賴關係。

哪個 Kubeflow 元件專用於自動超參數調整?

Katib 是 Kubeflow 的超參數優化和神經架構搜尋元件,可並行執行許多試驗。

為什麼 Kubeflow 管道在重新運行時可以有效地跳過某些步驟?

控制平面快取輸出,因此輸入未更改的步驟將被跳過,從而節省重新運行時的計算量。