iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0

摘要

  這篇文章將首先定義什麼是 MLOps,並探討其將機器學習從概念轉化為實際運行系統的方法。接著,我們將介紹 MLOps 的整體生命週期,將其簡化為三個主要部分:發現(定義問題)、開發和部署。

MLOps 的定義

  MLOps 是什麼?當被問到這個問題時,可以回答「MLOps 是將機器學習應用於工程實踐中的一套方法,將機器學習從純粹的技術與概念轉化為可實際運行的系統開發流程。」換句話說,我們可以說 MLOps 是一系列方法的集合,將 ML 和 DevOps 結合,除了涵蓋 ML 的技術本身,也包含 DevOps 重視協作與自動化的概念。
  如果我們認同 DevOps 的核心之一是 CI/CD(持續整合/持續佈署),那在看待 MLOps 時,應該也可以想像這一方法集合中有很大一部份是為了讓 ML 系統能夠達成 CI/CD 的目的而生。原本存在於 ML 中的特徵工程、模型訓練、測試與驗證等環節,都會加入自動化與協作的概念,以確保模型在目標環境中能夠持續最佳化並穩定運行。

MLOps 的生命週期

MLOps LifeCycle
  完整的 MLOps 生命週期可以被簡化為三大部分:發現(定義問題)、開發、佈署,然後迭代這個循環。

發現

  在這個階段,我們首先需要定義商業用例並進行資料探索。這意味著我們必須從問題的需求面(商業研究)和資料面(資料研究)雙重角度進行分析,以避免「垃圾進,垃圾出」。這一步是整個循環的核心,因為清晰的問題定義是後續工作的基石。
  值得注意的是,在進行商業研究時,關係人通常不止一方,我們需要謹慎評估各方的需求並確定最適合的評估指標,例如來自市場部門和上級管理層的需求便可能有所不同。此外,還需要考慮模型開發所需的資源,包括資料收集、運算資源等,如果總投資額超過預估的產生價值,那可能意味著這個方案並不值得投入。
  簡而言之,這個過程需要大量的討論和協調,也是整個流程中最能學習到非工程領域知識的部分。在這個階段,我們還會進行機器學習的可行性研究,開發一些原型來驗證這一系列開發計畫的可行性和價值,確保有足夠的理由和價值投入資源。

開發

  接下來是開發階段,首先會建構資料管道並進行特徵工程,為模型訓練做好充分準備。隨後進入模型構建與訓練階段,這是整個循環的第一個關鍵決策點:評估。在這裡,我們不僅要對模型進行技術上的內部評估,還需要向內部關係人和監管團隊解釋並展示模型的結果,以證明開發階段所創造的價值。

佈署

  在前面兩個階段我們分別向自己(機器學習可行性研究)與關係人(評估)證明了模型適用於目標環境的可能性,緊接著就是將模型投入生產,這也是 MLOps 關注的核心:如何自動化監視、測試、管理、維護機器學習模型的各個層面。
  在這個階段,我們進入了第二個關鍵決策點:監視,意即在實際環境證明機器學習模型的可用性的時刻到了。需要注意的是,即使當下模型是有效的,也不可以掉以輕心,因為資料的分布會隨時間變化,例如,在資訊安全領域的惡意程式分類問題中,攻擊手法會像流行病毒一樣演變,隨著關鍵特徵隨時間變化,可能也將導致模型失去原有的效能,這也是為什麼我們需要持續監控模型的效能。
  就如發現階段所述,我們定義問題時需要關注的不僅有資料面,也包含需求面。隨著時間推移,會改變的不僅有資料的特徵,業務需求也可能發生變化。當問題的核心改變,也意味著新一輪的迭代即將開始。

參考資料


上一篇
[Day 1] 邁向 MLOps 之旅
下一篇
[Day 3] 建構 ML 系統的挑戰—多個目標
系列文
從零開始學 MLOps,一起建立一個自動化機器學習系統吧!12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言