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(ギャングスケジューリング用)を実験に追加し、ローカルマシン、Kubernetes、またはGoogle CloudのVertex AIなどの選択されたエグゼキューター上で起動します。

対象ユーザー

大規模な実験を実行し、ハイパーパラメータスイープを行い、ローカル開発環境とクラウドインフラストラクチャの間で作業をシームレスに移行したい機械学習研究者およびエンジニア。

主な特徴

  • マルチプラットフォーム対応:ローカル、Kubernetes、またはGoogle Cloud Platform(Vertex AI)で実験を起動可能。
  • 柔軟なパッケージング:Pythonコンテナ、Bazelバイナリ、事前にビルドされたイメージなど、さまざまな実行可能ファイルタイプをサポート。
  • ハイパーパラメータ管理:異なる引数や環境変数を持つ複数の試行を簡単に定義および起動可能。
  • ギャングスケジューリングJobGroupを使用して、関連する複数のジョブが同時にスケジュールおよびデスケジュールされることを保証。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト