組成機器學習團隊

如要執行機器學習專案,團隊成員須具備眾多技能、專業知識、 和責任最常見的 下列是一般機器學習團隊擁有的角色:

角色 知識與技能 主要交付成果
機器學習產品經理 機器學習產品經理對機器學習的優缺點和開發流程瞭若指掌。他們會直接與機器學習團隊、使用者和其他利害關係人合作,將業務問題與機器學習解決方案進行對應。他們 塑造產品願景、定義用途 以及規劃和排定專案優先順序 產品要求文件 (PRD)。
工程經理 工程管理員會設定、傳達並達成團隊優先事項,以達成業務目標。與機器學習一樣 因此,這些產品經理都能配合業務問題調整機器學習解決方案。 他們對團隊成員設下明確的期望 評估成效,協助進行職涯發展 專業培訓。 設計文件、專案計畫和效能評估。
數據資料學家 數據資料學家會運用量化和統計分析,從資料中擷取洞察和價值。有助於識別及測試功能和模型原型,並協助改善模型的可解讀性。 提供可解答業務問題的報表和資料圖表 找出方法並解讀其統計資料
機器學習工程師 機器學習工程師負責設計、建構、推送至正式版環境及管理機器學習模型。他們是優秀的軟體工程師,對機器學習技術和最佳做法有深入的瞭解。 具備足夠預測品質的部署模型,可因應業務需求 但縝密健全的倫理程序 也有助於達到產品開發目標
資料工程師 資料工程師會建構資料管道,用於儲存、匯總及處理大量資料。他們負責開發 系統收集原始資料並轉換至 以及用於模型訓練和提供的實用格式資料工程師負責整個機器學習開發程序中的資料。 完全正式發布的資料管道,內含必要的監控和快訊功能。
開發人員作業 (DevOps) 工程師 開發運作工程師負責開發、部署、監控及監控相關作業 機器學習模型的提供基礎架構 一種自動化的處理程序,用於提供內容、監控、測試及快訊 模型的行為

成功的機器學習專案團隊,都會妥善安排各個角色。在小型團隊中,員工需要自行處理 負責多個角色的責任

建立團隊實務

由於 ML 開發人員的角色、工具和架構差異極大,因此透過優異的程序文件建立常見做法至關重要。舉例來說,一名工程師 光是取得正確的資料就足以開始訓練模型 更負責的工程師會確認資料集是否經過去識別化 正確記錄其中繼資料和出處確保工程師分享 程序和設計模式的常見定義可減少混淆, 加快團隊執行速度

程序說明文件

程序文件應定義團隊用於機器學習開發的工具、基礎架構和程序。良好的程序文件有助於讓新成員和現有團隊成員保持一致。他們應回答以下類型的問題:

  • 系統如何為模型產生資料?
  • 如何檢查、驗證資料,並以圖表呈現結果?
  • 如何修改訓練資料中的輸入特徵或標籤?
  • 如何自訂資料生成、訓練和評估管道?
  • 如何變更模型架構,以便因應輸入特徵或標籤的變更?
  • 如何取得測試範例?
  • 我們會使用哪些指標來評估模型品質?
  • 我們如何在實際工作環境中推出模型?
  • 如何判斷模型是否有問題?
  • 我們的模型依賴哪些上游系統?
  • 如何將我的 SQL 設為可維護且可重複使用?

其他潛在問題

型號
  • 我可以使用位於相同 像是微調?

  • 如何在管道中新增新的測試資料集?

訓練
  • 如何透過手工範例查看模型的預測結果?

  • 如何找出模型出錯的示例,並進行檢查及視覺化?

  • 如何判斷哪個特徵最能影響特定預測結果?

  • 如何瞭解哪些特徵對特定樣本中的預測結果影響最大?

  • 如何針對所選資料集計算或繪製模型預測結果 樣本?

  • 如何針對所選資料集計算模型預測的標準指標?

  • 如何開發及計算自訂指標?

  • 如何在離線狀態下比較模型與其他模型?

  • 我可以在單一單項模型中,執行多項模型評估的總和分析 開發環境?

  • 我可以比較目前與 10 個月前的版本嗎?

正式版化、監控和維護
  • 我認為我建立了一個不錯的模型。如何在實際環境中發布?

  • 如何確認新模型能在正式環境中正確運作?

  • 我可以取得模型評估的歷來記錄嗎?

  • 如何得知模型有問題?

  • 我被指派的頁面/錯誤提到了模型相關資訊。該怎麼辦?

管道
  • 如何自訂資料的產生/訓練/評估方式 ?

  • 何時該建立全新的管道?方法為何?

SQL
  • 我需要使用 SQL 來產生一些資料。應該放在哪裡?

基礎架構
  • 我們的模型放送方式為何?是否有圖表?

  • 我的模型依賴哪些上游系統,我應該注意什麼?

通訊
  • 我搞不懂。我應該與誰聯絡 (以及聯絡方式)?

注意事項

不同公司、團隊和個人對「機器學習最佳做法」的定義可能不同。舉例來說,部分團隊成員可能會將實驗性 Colab 視為主要成果,而其他人則想在 R 中進行作業。有些人可能熱衷於軟體工程,有些人認為監控是最重要的事,但也有人瞭解優質功能的正式化做法,但想使用 Scala。每個人都「正確」和自己的觀點 正確地移動,混和將成為行動力量。如果不是的話,也可以是一團亂,

在撰寫程式碼之前,先建立團隊將用到的工具、程序和基礎架構,這可能會影響專案在兩年後失敗,或是提前一個季度成功推出。

成效評估

由於 ML 本身具有不確定性和模糊性,人力資源經理必須設定明確的期望,並提前定義可交付的成果。

在決定期望和可交付成果時,請考量如果專案或做法不成功,這些項目會如何受到評估。換句話說,團隊成員的表現與專案的成敗並無直接關聯,例如,團隊成員通常花費的金額十分常見 進行調查,但最終成效不彰的解決方案。即使是在 優質程式碼、詳盡的說明文件和有效 合作方式應對評估結果帶來正面影響。

驗收學習成果

為什麼要建立完善的程序文件和建立常見做法?
加快專案速度。
沒錯。擁有完善的流程文件,以及建立常見的 做法能減少混淆並簡化開發程序。
建立公司內的最佳做法。
由於機器學習開發作業因專案而異,團隊通常會自行制定一套最佳做法,以便有效地進行工作並提高速度。
確保團隊中所有工程師的專業知識都相同。
機器學習團隊通常擁有各種技能和技能 相關知識程序文件可協助工程師遵循最佳做法,提高工作速度。