工程師文摘:為什麼需要 Machine Learning Pipeline?

AppDev Ooops
AppDev Ooops
Published in
Aug 25, 2022

本文為閱讀完 What is a Machine Learning Pipeline? | DataRobot Blog 後的心得,有興趣的人可以參考原文!

現今服務隨處可見 AI 模型的身影,包含社群軟體上的貼文推薦、廣告投放、個人化貼文、人臉辨識以及電商平台的產品推薦、搜尋引擎。每天都有大量的模型產生,如何有規模地收集資料、訓練模型成了許多公司的課題。

過去深度學習剛起步的時候,資料收集、資料清理驗證、模型訓練、模型部署的知識常常集中在一個人身上,但當需要第二個人加入協作時就會增加溝通的成本。另外其實部分模型訓練的流程非常相似,因此如果有自動化的流程能夠幫助產出 AI 模型的話,能夠大幅減少開發時間。

Machine Learning Pipeline 其實就是把持續整合、持續交付的概念移轉到機器學習模型的開發:

Machine Learning + DevOps = MLOps(ML Pipeline)

根據 Google 開發者文件描述的架構圖:

典型 Machine Learning Pipeline 的架構

在動手開發 AI 應用之前,我們往往擔心的是選用什麼模型、如何調參數、模型的準確率是否精準,但是模型只佔了開發的一小部分,實際上需要先處理完資料搜集、資料驗證、特徵萃取、分析工具、監控工具等等。

這篇文章大致提到 3 個為什麼需要 ML Pipeline 的考量:

  1. 容量考量:當部署不同版本的模型時,如果有管線就只需要運行部分流程,以降低開發上的成本
  2. 多樣性考量:模型的數量將隨著時間而增加,因此需要將不同階段的流程拆解,串接到新的流程以擴充模型的大小
  3. 版本控制考量:當改動到資料源或一些常見的設定時,如果有自動化流程就可以將模型統一版本控制,避免為了保持版本號,而手動修正的麻煩

本篇文章簡單分享為什麼需要 Machine Learning Pipeline,如果對詳細內容有興趣的話,歡迎參考原文。

你也曾經開發完模型卻不知道如何部署,或者煩惱產生訓練資料的資料管線嗎,或者正在使用相關技術的話,歡迎在下方留言跟我們討論!

原文:What is a Machine Learning Pipeline? | DataRobot Blog

--

--