- Kubeflow學習指南:生產級機器學習系統實現
- (美)Trevor Grant等
- 624字
- 2022-02-08 17:52:43
3.1.3 初識Kubeflow Pipeline
除了提供實現特定功能的專門參數外,Kubeflow還包括Pipeline組件(https://oreil.ly/QZjNV),用于編排機器學習應用程序的執行。Pipeline實現基于Argo Workflow(https://oreil.ly/6PsLK),這是一個開源的、容器原生的Kubernetes工作流引擎。Kubeflow安裝了所有的Argo組件。
在高層次上,Pipeline的執行包含以下組件(https://oreil.ly/QZjNV):
Python SDK
你可以使用Kubeflow Pipeline領域專用語言(DSL)(https://oreil.ly/c2DRj)創建組件或指定Pipeline。
DSL編譯器
DSL編譯器(https://oreil.ly/5o2Yw)將Pipeline的Python代碼轉換為靜態配置(YAML)。
Pipeline Service
Pipeline Service從靜態配置中創建一個Pipeline運行。
Kubernetes資源
Pipeline Service調用Kubernetes API服務器來創建必要的Kubernetes自定義資源定義(CRD)(https://oreil.ly/5wPjy)來運行Pipeline。
編排控制器
一組編排控制器執行Kubernetes資源指定Pipeline所需的容器。容器在虛擬機上的Kubernetes pod中執行。一個示例控制器是Argo Workflow(https://oreil.ly/leX50)控制器,它負責編排任務驅動的工作流。
制品存儲
Kubernetes pod存儲以下兩類數據。
元數據
實驗、作業、運行、單標量指標(一般為排序和過濾而匯總)等。Kubeflow Pipeline將元數據存儲在MySQL數據庫中。
制品
Pipeline包、視圖、大規模指標(如時間序列)通常用于調試和檢測單個運行的性能。Kubeflow Pipeline將制品存儲在MinIO服務器(https://docs.minio.io)、Google Cloud Storage(GCS)(https://oreil.ly/k1bQz)或Amazon S3(https://aws.amazon.com/s3)等存儲庫中。
Kubeflow Pipeline讓你擁有了讓機器學習作業重復持續進行并處理新數據的能力。它在Python中提供了一個直觀的DSL來編寫Pipeline。隨后,Pipeline會被編譯成現有的Kubernetes工作流引擎(目前是Argo工作流)。Kubeflow的Pipeline組件使得用于構建端到端機器學習項目的所需工具更加容易使用和協調。除此之外,Kubeflow可以同時跟蹤數據和元數據,提高我們對作業的理解能力。例如,在第5章中,我們使用這些制品來理解模式。Pipeline還可以公開內置的機器學習算法的參數,方便Kubeflow進行調優。
- GB 51139-2015 纖維素纖維用漿粕工廠設計規范
- GB/T 50537-2017 油氣田工程測量標準
- GB50950-2013光纜廠生產設備安裝工程施工及質量驗收規范(英文版)
- GB/T 50554-2017 煤炭工業礦井工程建設項目設計文件編制標準
- 焊接技能實訓
- 光伏支架結構設計規程
- GB 51136-2015 薄膜晶體管液晶顯示器工廠設計規范
- 煤炭礦井工程基本術語標準
- 標準貫入試驗規程
- DL/T5161.8-2002電氣裝置安裝工程質量檢驗及評定規程第8部分:盤、柜及二次回路接線施工質量檢驗(英文版)
- GB50402-2007燒結機械設備工程安裝驗收規范(英文版)
- GB 50404-2017 硬泡聚氨酯保溫防水工程技術規范
- GB50679-2011煉鐵機械設備安裝規范(英文版)
- GB/T50063-2008電力裝置的電測量儀表裝置設計規范(英文版)
- GB 51171-2016 通信線路工程驗收規范