iT邦幫忙

0

【Azure MLOps - 1】使用Azure DevOps建立AML pipelines

  • 分享至 

  • xImage
  •  

本篇文章架構

  1. 為什麼想要使用CI/CD pipelines
  2. 練習教材來源
  3. 流程與架構
  4. 課前準備

1.為什麼想要使用CI/CD pipelines

用Azure Machine Learning (AML)服務來執行機器學習專案真的很方便。在一開始還不是很懂這個服務的時候,會覺得沒有AML也沒有關係,但是隨著越來越了解這個工具之後,用來管理與輔助模型開發真的方便許多。如果你還沒有AML使用經驗、或者對於AML屬於初階使用者,想要開始學習與感受這個服務的強大,非常推薦一起學習 Azure Machine Learning 系列文章。

隨著團隊的需要管理的模型越來越多、許多模型服務上線了一陣子之後,一定會遇到模型再訓練、部署與管理的難題,如果能夠把AML模型訓練、AML模型註冊自動化,會減輕開發人員許多負擔,這個理念就是CI/CD,自動整合與部署(Continuous Integration/Continuous Deployment)。

如果在模型生命週期中如果能導入了CI/CD流程,代表模型開發是有依循MLOPS的精神。MLOPS的精神是什麼呢?我會認為最主要會有兩大面向,第一個就是前面提到的「自動化流程」,第二個就是「版本控管」。
https://ithelp.ithome.com.tw/upload/images/20230109/20154404pWin3FLacB.png

機器學習的三大元素:【資料】、【訓練模型的程式碼】、【模型】都能做到自動化流程版本控管

  1. 自動化流程
    • 「清整訓練資料」自動化 (data preprocessing)
    • 「訓練模型」自動化 (model training)
    • 「部署模型」自動化 (model depolyment)
  2. 版本控制
    • 資料版本 (training dataset)
    • 訓練模型的程式碼版本 (training code)
    • 模型版本 (models)

如果做好三大元素的版本控制,那麼模型也可以被追蹤、也會擁有高度的再現性。MLOPS有不同做法,會因為專案需求不同,選擇不同自動化程度、和版本受控程度。如果團隊想要在自己的機器學習專案做到CI/CD pipelines,會需要使用Azure DevOps服務。

2.練習教材來源

本次練習,我用的是微軟的AI MVP分享的教學Azure MLOps - DevOps for Machine Learning,如果想要知道原汁原味的教學,可以看看老師的影片,這系列的發文會使以重現老師教學、還有概念補充為主,另外,MG的頻道裡面還有許多也很棒的練習教學,對初學者幫助很大。

在這個練習裡面,會需要的必備知識如下:

  • 了解Git版控原理
  • 了解Azure基礎知識
  • Bash scripts / 基礎Linux指令
  • 曾經使用過Azure Machine Learning (AML)訓練/註冊/部署模型

3.流程與架構

本系列練習架構如下:

  1. 建立機器學習的資源群組
  2. 在DevOps中建立CI pipeline
  3. 在DevOps中建立CD pipeline
  4. 實現CI/CD pipeline

4.課前準備

Azure DevOps免費帳戶是有些限制,但是在我們這次練習範圍中都可以實現,直接開始使用吧Azure DevOps
https://ithelp.ithome.com.tw/upload/images/20230112/20154404qOM1poNyOj.png

接下來,建立組織名稱:
https://ithelp.ithome.com.tw/upload/images/20230112/201544048d8cFEOS51.png
https://ithelp.ithome.com.tw/upload/images/20230112/20154404OQZk2k9CRR.png

因為免費帳戶限制,需要填寫申請表格才有免費的使用時間額度,請至Azure DevOps Parallelism Request填表格,因為會需要三個工作天,練習前需要先申請,申請通過後,會收到一封通知信。
https://ithelp.ithome.com.tw/upload/images/20230112/201544043WDWbBngbJ.png

為了執行機器學習,我申請了一個新的Azure試用帳號,搜尋機器學習或Machine Learning,點選了之後,建立資源:
https://ithelp.ithome.com.tw/upload/images/20230112/20154404NVCYKUUYBw.png

並且開啟了一個機器學習的資源群組,其他相關的資源會同時申請建立。
簡而言之,上傳訓練資料的時候會需要預測的儲存帳戶(Storage),部署模型時會需要容器登入(Container Registry),等等相關資源,所以現在就乾脆一起建立,要自己重新命名或者使用預設的名稱也可以。

  • Resource group (資源群組):mlops-wsh-rg-1
  • Container Registry:mlopswshaml1CR
    https://ithelp.ithome.com.tw/upload/images/20230112/20154404oK32TpFXzf.png

建立完後,練習的事前準備就完成了!

下一篇【Azure MLOps - 2】使用Azure DevOps建立專案與連線設定

或其他篇
【Azure MLOps - 3】使用Azure DevOps建立訓練模型的CI pipeline(上)
【Azure MLOps - 4】使用Azure DevOps建立訓練模型的CI pipeline(下)
【Azure MLOps - 5】執行Azure DevOps CI pipeline
【Azure MLOps - 6】建立CD pipeline:把機器學習模型部署到staging area
【Azure MLOps - 7】建立CD pipeline:把機器學習模型部署到production area
【Azure MLOps - 最終篇】END TO END CI/CD MLOPS


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言