上兩篇終於把CI pipeline建立完成,CI pipeline做的就是把資料科學家會在Azure Machine Learning (AML)執行的所有任務,改由agent執行。
CI pipeline建立文章:
【Azure MLOps - 3】使用Azure DevOps建立訓練模型的CI pipeline(上)
【Azure MLOps - 4】使用Azure DevOps建立訓練模型的CI pipeline(下)
本篇文章結構:
在之後建立CI與CD pipeline後,觸發這條CI pipeline的條件會是「當專案的Azure DevOps Repo有新的commit時,自動觸發」
不過本篇文章是想要確認,前兩篇辛苦設置的CI pipeline是否可以順利運作。上一篇的pipeline成果圖如下,涵蓋了:
(1)建立AML workspace任務
(2)在AML上新增compute cluster任務
(3)上傳訓練資料集到AML data assets任務
(4)訓練模型任務
(5)註冊模型任務
(6)下載模型任務
所以本篇練習,會執行一次CI pipeline,確認Azure Machine Learninig workspace中,是否有對應的訓練模型Job、模型也被註冊。
點選save&queue後,點選run:
啟動後,點選pipeline當中的agent job 1,可以即時觀察agent正在執行每個任務的log,如果沒有出錯,任務的標示是綠色勾勾:
點選這個CI pipeline,選擇這次的run ID (即使是同一個pipeline,每次跑也都會有一個編號),可以看到產出的published,這個地方就會是上一篇描述的【pipeline published artifact區域】:
點選published,就會來到【pipeline published artifact區域】,可以看到下載的模型檔案和部署會需要的資料:
CI pipeline跑完後,模型也發布到【pipeline published artifact區域】中,相對的在Azure ML上也會有每個任務的設定產出。
在AML worksapce,點選job,可以看到建立好的實驗:insurance_classfication,created by欄位中顯示:「Service Principal」,代表是由agent執行pipeline產出的實驗。Job type是Command (透過Azure CLI執行az ml指令)。
(補充,created by欄位裡,有其他實驗顯示「pipeline」指的是AML的pipeline所建立的Job。)
在AML workspace,點選model,可以看到剛剛執行pipeline後,註冊(register model)任務所產生模型。如果點選compute也可以看到用任務中Azure CLI指令建立的compute cluster:
在Azure ML workspace當中看到的所有結果,充分地演示了「資料科學家在AML worksapce做什麼, CI pipeline agent就在AML worksapce做什麼。」,CD pipeline也是一樣的道理,在模型完成後,最終還是要部署成服務的,而資料科學家也會在Azure ML workspace執行「部署模型任務」。
下一篇【Azure MLOps - 6】建立CD pipeline:把機器學習模型部署到staging area