google-deepmind/xmanager

A platform for managing machine learning experiments

解決的問題

XManager 簡化了機器學習實驗的打包、執行與追蹤流程。它消除了在不同執行環境(本機 vs. 雲端)之間手動管理的開銷,以及在不同運算資源上啟動具有不同超參數的多個試驗的複雜性。

工作原理

使用者撰寫 Python "啟動腳本" 來定義實驗的生命周期。此過程遵循結構化的工作流程:

  1. 實驗上下文:建立實驗以追蹤元資料。
  2. 可執行檔規格:使用者定義要執行的內容(例如,一個 Python 目錄、一個 Bazel 目標,或一個預先建置的二進位檔)。
  3. 打包:XManager 為特定目標環境打包可執行檔(例如,為 Vertex AI 建立 Docker 影像)。
  4. 作業定義:使用者定義超參數與資源需求(如 GPU 數量)。
  5. 執行:將作業或 JobGroup(用於 gang 調度)加入實驗,並在所選執行器(如本機、Kubernetes 或 Google Cloud 的 Vertex AI)上啟動。

適用對象

需要執行大規模實驗、執行超參數搜尋,並在本機開發與雲端基礎設施之間無縫遷移工作負載的機器學習研究人員與工程師。

主要亮點

  • 多平台支援:可在本機、Kubernetes 或 Google Cloud Platform(Vertex AI)上啟動實驗。
  • 彈性打包:支援多種可執行檔類型,包括 Python 容器、Bazel 二進位檔與預先建置的映像。
  • 超參數管理:可輕鬆定義並啟動具有不同參數與環境變數的多個試驗。
  • Gang 調度:使用 JobGroup 確保多個相關作業同時被排程與取消排程。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案