機器學習專案會分階段進行,每個階段都有特定目標、工作和成果。清楚瞭解機器學習開發階段有助於確立工程責任、管理利害關係人期望,以及有效分配資源。
成功完成各階段 (通常是反覆進行) 是設計、組裝及建構機器學習模型的基礎,有助於長期解決業務問題。
大致來說,實作機器學習解決方案包含下列階段:
- 構思和規劃
- 實驗
- 建立管道
- 正式版
構思和規劃
在發想和規劃階段,您會以機器學習解決方案的角度來定義問題,並估算專案的可行性。
- 目標:判斷機器學習是否為解決問題的最佳方法。
- 工作:分析業務問題,瞭解專案的限制。
- 結果:設計文件,說明如何運用 ML 解決方案解決問題。
實驗
實驗是機器學習的核心。在這個階段,您會驗證機器學習解決方案是否可行。尋找解決方案是疊代程序。在找到合適的特徵、超參數和模型架構組合來解決問題之前,嘗試數百項實驗並不罕見。
- 目標:建構可解決業務問題的模型。
- 工作:實驗功能、超參數和模型架構。
- 結果:品質足以投入生產的模型。
管道建構和生產化
在管道建構和生產化階段,您會建構管道來處理資料、訓練模型,以及提供預測結果。接著,您會將模型和管道部署到正式環境,並提供必要的監控和記錄基礎架構。
- 目標:建構及實作基礎架構,以便在正式環境中調度資源、監控及維護模型。
- 工作:建立管道,自動執行多項工作,確保正式環境中的模型維持最新狀態。
- 成果:經過驗證的機器學習管道。
端對端機器學習工作流程
下圖說明完整的端對端機器學習工作流程,列出每個階段及其工作和結果:
圖 1. 機器學習工作流程的四個主要階段。
注意事項
每個階段都有多項挑戰。如果沒有意識到這些問題並做好規劃,可能會導致錯過期限、工程師感到沮喪,以及專案失敗。
隨堂測驗
您剛才閱讀了幾項可能對產品有益的機器學習技術。接下來該怎麼做?
在花時間撰寫設計文件或程式碼之前,請先確認機器學習是否為解決問題的正確方法。
沒錯。在花時間撰寫設計文件或程式碼之前,請先確認機器學習是解決問題的正確方法。
草擬設計文件,說明機器學習用途和實作所需的基礎架構。
撰寫設計文件前,請先確認 ML 是否為解決問題的合適方案。
尋找程式碼範例並開始實驗,判斷模型是否能做出準確預測。
在編寫任何程式碼之前,請先確認機器學習是解決問題的正確方法。