隨著雲原生技術的快速發展,機器學習與大語言模型(LLM)的部署需求日益增長。Kubeflow 爭取成為雲原生 AI/ML 的核心框架,透過 Kubernetes 提供可擴展、可移植的解決方案,並整合 LLMOps 的關鍵環節。本文探討 Kubeflow 生態系統的核心組成、技術特性與未來方向,協助讀者理解其在雲原生環境中的應用價值。
Kubeflow 的目標是建立一個支援 Kubernetes 環境(本地、雲端、混合部署)的 AI/ML 平臺,提供從資料處理、模型開發、訓練、優化到推理的完整生命週期管理。其核心特性包括可組合性與模組化設計,主要組成元件包括 Spark Operator、Notebooks、Trainer、Kubeflow KT(超參數優化與架構搜索)、Model Registry、Kserve、Kubeflow Pipelines 等。
Notebooks 提供互動式開發環境,支援 RStudio、VS Code、Jupyter Lab 等工具。最新更新引入 Kubeflow Workspaces,作為未來 UI 的快照,讓資料科學家與平臺工程師能靈活協作。社群持續更新,建議參與社區會議以掌握最新動態。
Spark Operator 的目標是於 Kubernetes 上執行大規模資料處理,支援 Spark 3.x 並優化資源排程(Gang Scheduling)。版本 2.1.0 引入互動式會話功能,整合 Jupyter Notebook 與 Spark,並在 AWS 運行 60,000 個任務於 36,000 個節點,展現高擴展性。
Kubeflow KT 簡化 LLM 微調的超參數優化流程,透過 KATIP 提供單一 API 進行實驗建立,支援自定義優化策略。整合 RAG(Retrieval-Augmented Generation)流程,優化生成模型。此功能由 GSOC 學生開發,已整合至上游專案。
Trainer 支援多框架(PyTorch、TensorFlow、DeepSpeed、MLX、Hugging Face 等)的訓練與微調。資源模型包含 Train Job 與 Training Runtime,解耦基礎設施與訓練代碼。整合所有框架的 Job CLD 至 Training Runtime,並提供 Python 接口簡化操作。
整合 Apache Arrow 與 Iceberg 建立分散式緩存,支援 PyTorch 的零拷貝資料傳輸。持續進行 benchmark 測試,計畫提交至 Kubeflow 社群。於 Kubeflow 展位提供實測,展示分散式訓練與緩存機制。
Unifi SDK 提供統一 Python 接口,讓資料科學家無需理解 Kubernetes 即可進行訓練與優化。整合 Llama 社群與 Torch Tune,簡化 PyTorch 微調體驗,支援端到端流程:資料處理(Spark)、訓練(Kubeflow Trainer)、推理(Kserve)。
Model Registry 管理模型版本與元數據,連接模型實驗與生產環境。新增 UI 界面簡化模型上傳與管理,支援自訂儲存初始化,整合 Kserve 等工具,並優化自動擴展與模型緩存(透過 PV/PVC)。
Kserve 是雲原生模型服務平臺,支援預測與生成式 AI。整合 Envoy AI Gateway,支援多 RM 提供商與流量控制。優化大模型自動擴展,支援自訂指標,並增加模型緩存與多模型推理(VRM Server)。
Kubeflow Pipelines 整合所有元件,以 DAG 或圖形方式編排工作流。演示案例包括使用 Hugging Face 的 Gemma 3B 模型進行微調,整合 Kubeflow Trainer 與 Kserve。透過 Jupyter Notebook 設定訓練流程,使用 KFP SDK 管理實驗與超參數優化,支援多租戶系統與權限切換。
社區持續整合 Llama、Torch Tune 等生態系統,強化 LLMOps 能力。技術演進聚焦資源排程優化、框架支援擴展、自動化與可觀察性提升。使用者體驗方面,簡化開發流程,降低 Kubernetes 使用門檻,提升端到端效率。
使用 Hugging Face Gemma 3 1B 模型進行推理任務微調,透過 GRPO(Gradient-based Policy Optimization)與 Unsloth 庫實現獎勵機制。正確輸出給予正獎勵,錯誤輸出給予負獎勵,透過自訂訓練器或 Torch Tune 進行端到端訓練。使用 Kubeflow Pipelines 編排訓練與推理流程,訓練階段指定資源(4 CPUs, 64GB Memory, 1 GPU)並啟動分佈式訓練,推理階段建立部署並與原始模型對比。
多租戶系統支持用戶切換配置文件(Profiles),提供 Jupyter Notebook / RStudio 等運行時環境。支援 Katib 超參數優化,定義目標與優化算法,透過 DAG 編排訓練與推理流程。訓練需在儲存 provisioning 後執行,推理需在微調完成後執行,提供 UI 管理執行進度與日誌,無需直接操作 Kubernetes。
使用 Kubeflow Trainer 進行分佈式訓練,定義獎勵函數與超參數調優(Kip 支援)。訓練完成後自動刪除 Job,並建立微調模型部署。推理服務端點透過 UI 查閱,並發送請求進行測試。透過 GRPO 微調,獎勵值持續提升表示訓練有效。
UI 介面優化與用戶體驗提升,支援 Training Operator 與分佈式追蹤。引入 Spark Operator 為 Kubeflow 系統組成部分,安全性強化(CVS 減少與最佳實踐改進)。資源管理功能包括控制 pipeline 中的資源限制、調整循環並行度與執行流程。
進行 Gen AI 推理支持與訓練器優化,模型註冊儲存整合,建立新工作組推動跨組件協作(數據、用戶體驗)。社群參與方式包括透過 QR Code 加入 Slack 社群、參與每月會議與社區呼叫、提交提案與意見至社群平臺。未來計畫包括 Helmchart 支援簡化部署流程、特徵儲存(Feature Store)整合、社群調查以瞭解用戶需求與改進方向。
透過 Kubeflow Pipelines(KFP)實現 ML 工作流,支援 Kubernetes 原生資源管理與擴展。整合 Hugging Face 模型存取(gated model),提供端到端的模型開發、訓練、部署與監控解決方案。
Kubeflow 生態系統透過 Kubernetes 提供雲原生 AI/ML 的完整解決方案,整合 LLMOps 的關鍵環節,如超參數優化、模型服務與分佈式訓練。其模組化設計與可擴展性使其適用於多種部署場景,未來將持續強化社區合作與技術整合,提升使用者體驗與自動化能力。建議深入探索 Kubeflow Pipelines 與 Unifi SDK,以簡化開發流程並提升模型效能。