人工智慧平台PAI的容器訓練DLC,用於分布式執行訓練任務。DataWorks為您提供了PAI DLC節點,您可以直接通過該節點載入DLC任務並配置調度依賴,實現DLC任務的周期性調度運行。
前提條件
已授權DataWorks可訪問人工智慧平台PAI。
您可進入授權介面進行一鍵授權,權限原則詳情請參見AliyunServiceRoleForDataWorksEngine。僅阿里雲主帳號或擁有AliyunDataWorksFullAccess權限原則的RAM使用者可執行一鍵授權操作。
已建立商務程序。
資料開發(DataStudio)基於商務程序對不同開發引擎進行具體開發操作,因此,建立節點前需先建立商務程序,操作詳情請參見建立商務程序。
注意事項
PAI DLC節點每次運行完成,均會在人工智慧平台PAI的分布式訓練(DLC)平台產生一個新的DLC任務。為避免使用DataWorks周期性調度DLC節點在PAI產生較多不易區分的同名任務,建議在DataWorks開發DLC任務時根據實際需要合理設定調度周期。同時,建議在任務名稱中增加日期時間變數,並通過調度配置為該變數賦值時間調度參數,實現任務命名增加日期時間。詳情請參見步驟二:開發PAI DLC任務。
DataWorks不支援使用公用調度資源群組執行PAI DLC任務。
步驟一:建立PAI DLC節點
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
按右鍵目標商務程序,選擇
。在建立節點對話方塊輸入節點名稱,單擊確認,完成節點建立。後續您可在節點中進行對應任務的開發與配置。
步驟二:開發PAI DLC任務
開發工作單位代碼:簡單樣本
在PAI DLC節點編輯頁面,您可通過如下方式編寫DLC任務:
基於已有DLC任務編寫任務代碼。
通過名稱搜尋,載入在人工智慧平台PAI已建立的DLC任務。任務載入後,DLC節點編輯器會根據PAI中該任務的配置產生相應節點代碼,您可基於該代碼編輯修改任務。
說明若無許可權載入或建立任務,則可根據介面指引進行授權。
若無可用任務,則可前往PAI控制台建立。PAI DLC任務可通過多種方式建立,您可根據需要選擇,詳情請參見建立訓練任務、建立訓練任務:Python SDK、建立訓練任務:命令列。
直接編寫DLC任務代碼。
在DataWorks的PAI DLC節點編輯器中,根據需要直接編寫任務代碼。
PAI DLC節點任務編寫並運行完成後,會根據配置內容在人工智慧平台PAI中新產生相應DLC任務。任務程式碼範例如下:
dlc submit xgboostjob \ #提交DLC任務。
--name=wsytest_pai04_XGBoost \ #DLC任務名稱。建議使用變數名或DataWorks的節點名稱。
--command='echo '\''${變數名}'\'';' \ #DLC任務待執行的命令。
--workspace_id=80593 \ #執行DLC任務的工作空間。
--priority=1 \ #任務優先順序,取值1-9,1優先順序最低,9優先順序最高。
--workers=1 \ #任務節點數量。節點大於1時,表示該任務為分布式任務,即任務可並發在多個節點執行。
--worker_image=registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:2.3-cpu-py36-ubuntu18.04 \ #節點鏡像,用於提供DLC任務啟動並執行環境。
--worker_spec=ecs.g6.xlarge #節點配置,即所使用的計算節點規格。
開發SQL代碼:使用調度參數
DataWorks提供的調度參數可實現周期調度情境下代碼動態入參,您可在節點任務中通過${變數名}
的方式定義代碼中的變數,並在調度配置>參數處,為該變數賦值。調度參數支援的格式,詳情請參見調度參數支援的格式。
調度參數程式碼範例如下。
--command='echo '\''${變數名}'\'';' \ --可結合調度參數使用。
步驟三:配置任務調度
如您需周期性執行建立的節點任務,可單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度資訊。配置詳情請參見任務調度屬性配置概述。
您需設定節點的重跑屬性和依賴的上遊節點,才可提交節點。
步驟四:調試任務代碼
您可根據需要執行如下調試操作,查看任務是否符合預期。
(可選)選擇運行資源群組、賦值自訂參數取值。
單擊工具列的表徵圖,在參數對話方塊選擇調試運行需使用的調度資源群組。
如您的任務代碼中有使用調度參數變數,可在此處為變數賦值,用於調試。參數賦值邏輯詳情請參見運行,進階運行和開發環境煙霧測試 (Smoke Test)賦值邏輯有什麼區別。
儲存並運行SQL語句。
單擊工具列的表徵圖,儲存編寫的SQL語句,單擊表徵圖,運行建立的SQL任務。
(可選)煙霧測試 (Smoke Test)。
如您希望在開發環境進行煙霧測試 (Smoke Test),查看調度節點任務的執行是否符合預期,則可在節點提交時,或節點提交後執行煙霧測試 (Smoke Test),操作詳情請參見執行煙霧測試 (Smoke Test)。
步驟五:提交發布任務
節點任務配置完成後,需執行提交發佈動作,提交發布後節點即會根據調度配置內容進行周期性運行。
單擊工具列中的表徵圖,儲存節點。
單擊工具列中的表徵圖,提交節點任務。
提交時需在提交新版本對話方塊中輸入變更描述,並根據需要選擇是否在節點提交後執行程式碼檢閱。
說明您需設定節點的重跑屬性和依賴的上遊節點,才可提交節點。
程式碼檢閱可對任務的代碼品質進行把控,防止由於任務代碼有誤,未經審核直接發布上線後出現任務報錯。如進行程式碼檢閱,則提交的節點代碼必須通過評審人員的審核才可發布,詳情請參見程式碼檢閱。
如您使用的是標準模式的工作空間,任務提交成功後,需單擊節點編輯頁面右上方的發布,將該任務發布至生產環境執行,操作請參見發布任務。
後續步驟
任務提交發布後,會基於節點的配置周期性運行,您可單擊編輯介面右上方的營運,進入營運中心查看周期任務的調度運行情況。詳情請參見查看並管理周期任務。