綠盟SecXOps安全智能分析技術白皮書

工作流運行

定義內涵

工作流運行是工作流模板的依次執(zhí)行,在工作流運行時,用戶可以隨時取消或查看正在
運行的任務。由于工作流運行的模板的不同,運行過程中可能會產生不同的新資源,如數據
處理類型的工作流會產生新的數據集,AI 算法類的工作流會產生新的模型,甚至超參調優(yōu)類
型的工作流會產生新的模型訓練代碼,這些新生成的資源都可以在本模塊中進行保存,來完
善本平臺的數據集庫、模型庫和算法庫。

技術背景

在項目的 jupyterlab 中,用戶可以自由安裝 Elyra 搭建工作流。在使用 Elyra 搭建可視
化工作流之前,用戶首先需要基于容器和 Kubernetes 構建 Kubeflow。Kubeflow 提供面向
機器學習業(yè)務的敏捷部署、開發(fā)、訓練、發(fā)布和管理平臺,通過集成開源生態(tài)中越來越多
的項目,如 Jupyter, Knat
ive, Seldon Core 等,搭建了機器學習應用從開發(fā)到上線到迭代的生命周期
內的工具鏈,解決企業(yè)應用機器學習中遇到的和 DevOps 類似的工具鏈的困擾,因此,Kubeflow 也成為了當前云原生
場景下主流的 MLOps 平臺。Elyra 利用 Kubeflow Pipelines 進行工作流的構建。使用 Elyra 中的 Pipeline Editor,用
戶可以將若干個 ipynb 文件組裝成工作流,并在任何 Kubernetes 環(huán)境中的 Kubeflow 管道
上運行。如本小節(jié)上述內容,將機器學習工作流程拆分為多個階段后,每個階段中的具體
任務對應的代碼被封裝為鏡像,作為 Elyra 中的 ipynb 文件。Elyra 根據流程之間的順序或
并行特性,連接各個 ipynb 文件,確保在工作流中,執(zhí)行完上游節(jié)點的任務后,處理下游
節(jié)點的任務。

思路方案

在 SecXOps 中,用戶可以自由擴展 jupyterlab 的功能,因此可以輕易實現容器內工作流
編排。然而當在用戶需要實現跨項目跨容器的工作流運行時,SecXOps 支持將用戶創(chuàng)建的模
塊以 DAG 圖的形式進行編排,將一個個工作流模塊編排起來即是將一個個容器編排起來,隨
后按照一定的資源動態(tài)調度策略在集群上運行,獲取每一個模塊的運行結果。


在這里插入圖片描述

如上圖所示,每個方塊代表一個模塊,模塊的運行會按照其內部關聯的 Dockerfile 創(chuàng)建
一個容器,容器運行在以 Job 創(chuàng)建的 Pod 中。當一個模塊運行結束后,該模塊的后繼節(jié)點會
判斷其全部前驅節(jié)點是否完成運行,若完成則開始啟動該模塊的運行,反之則繼續(xù)等待。當
一個模塊運行失敗時,該模塊所在路徑會被阻塞,用戶需要重新修改參數或調整模塊才能繼續(xù)運行

參考資料

綠盟SecXOps安全智能分析技術白皮書

友情鏈接

GB-T 15851.3-2018 信息技術 安全技術 帶消息恢復的數字簽名方案 第3部分:基于離散對數的機制

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容