機器學習運作是一系列的做法,旨在幫助數據資料學家和工程師更有效率地管理機器學習生命週期。
機器學習運作的目標是填補機器學習開發作業和運作作業之間的鴻溝,確保以一致且可靠的方式開發、測試及部署機器學習模型。
隨著越來越多機構採用機器學習模型制定關鍵業務決策,機器學習運作的重要性也與日俱增。
「機器學習運作」又稱 MLOp,是指從開發到部署與監控,整個機器學習生命週期的管理過程。其中包括:
機器學習運作對於確保機器學習模型在正式環境中穩定、可擴充且可維護,是不可或缺的一環。
機器學習運作是管理機器學習生命週期,並確保機器學習模型能有效開發、部署和維護的關鍵。如果沒有 MLOps,機構可能會面臨幾項挑戰,包括:
更高的錯誤風險:手動程序可能會導致機器學習生命週期發生錯誤和不一致的情況,進而影響機器學習模型的準確度和可靠性。
缺乏擴充性:隨著機器學習模型和資料集的大小和複雜程度不斷增加,手動流程可能變得難以管理,導致您難以有效擴充機器學習的作業規模。
降低效率:人工作業程序可能相當耗時且效率低落,拖慢機器學習模型的開發與部署速度。
缺乏協同合作:手動流程可能會導致數據資料學家、工程師和營運團隊難以有效協同合作,導致孤立作業和溝通分裂。
MLOps 可提供架構與工具組合,用於自動化及管理機器學習的生命週期,藉此解決這些難題。這可讓機構以更有效率、更可靠的方式,大規模開發、部署及維護機器學習模型。
採用 MLOps 的機構可以享有多項優勢,包括:
開發運作是一套做法,可協助機構消除軟體的開發和營運團隊之間的分歧。MLOps 是一套類似的做法,專門滿足機器學習模型的需求。
MLOps 與 DevOps 之間有一些重要差異,包括:
儘管存在這些差異,MLOps 和 DevOps 仍有一些共同的原則,例如著重協同合作、自動化及持續改善。已採用開發運作做法的機構,在導入機器學習運作時通常可以採用那些做法。
機器學習運作包含多項元件,這些元件可以彼此搭配運作,以便管理機器學習生命週期,包括:
EDA 是指探索和理解資料的程序,這些資料會用來訓練機器學習模型。程序會完成以下工作:
資料準備和特徵工程是 MLOps 程序的關鍵步驟。資料準備作業包括清理、轉換及格式化原始資料,以便用於模型訓練。
特徵工程會根據原始資料建立更相關且實用的新特徵,以用於模型訓練。如要確保機器學習模型以高品質資料完成訓練,並能產生準確的預測結果,就必須執行這些步驟。
訓練及調整模型時,會使用準備好的資料來訓練機器學習模型,並最佳化模型超參數,以盡量達到最佳效能。
模型訓練和調整的常見工作包括:
模型審查和管理可確保機器學習模型以負責且符合道德的方式開發及部署。
模型推論和提供,是將經過訓練的機器學習模型部署至正式環境,提供應用程式和使用者使用。
模型監控包括在正式環境中持續監控機器學習模型的效能和行為。工作可能包括:
自動化模型重新訓練的方式,是在機器學習模型效能降低或出現新資料時重新訓練。自動化模型重新訓練包括: