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 确保多个相关作业同时被调度和取消调度。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目