官术网_书友最值得收藏!

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進行調優。

主站蜘蛛池模板: 潜江市| 太白县| 罗源县| 广州市| 酒泉市| 新巴尔虎右旗| 南宫市| 寿阳县| 中西区| 巨鹿县| 涞源县| 特克斯县| 寻甸| 靖边县| 连平县| 平武县| 亚东县| 清水县| 巴楚县| 甘孜| 苗栗市| 安塞县| 华蓥市| 祁东县| 怀宁县| 沭阳县| 三原县| 莱州市| 通州市| 浦城县| 东乡| 广饶县| 彰化市| 桐乡市| 陇西县| 凌源市| 岳阳县| 沙坪坝区| 临安市| 邵阳县| 封开县|