ML Diagnostics 平台

Google Cloud ML Diagnostics 是一个端到端托管式平台,用于优化、 监控和诊断 上的 AI 和机器学习工作负载 Google Cloud。您可以使用 ML Diagnostics 监控工作负载,并在一个平台内收集和直观呈现所有工作负载指标、配置和配置文件。ML Diagnostics 适用于训练和推理工作负载,并且与 Cloud TPU 上的所有编排器(包括 Google Kubernetes Engine (GKE) 和自定义编排器)兼容。ML Diagnostics 包含以下功能:

  • 工作负载监控:自动监控和诊断在 GKE TPU 上运行的 AI/机器学习工作负载 。对于每个 GKE 作业,ML Diagnostics 工作负载监控会自动创建机器学习运行作业,监控整个工作负载的 TPU 工作周期,检测影响工作负载的事件,并分析工作负载的不同层(例如基础架构、编排器和框架),以帮助确定事件的潜在原因。
  • 机器学习运行作业 :您可以使用 ML Diagnostics 通过 Google Cloud CLI 创建和注册机器学习运行作业,也可以将 ML Diagnostics SDK 与您的工作负载集成。您可以通过工作负载监控自动创建和注册运行作业 ,并使用机器学习运行作业部署托管式 XProf实例,以及收集和管理工作负载指标、配置和配置文件 会话。
  • gcloud CLI 体验 :通过 gcloud CLI 使用 ML Diagnostics API 来注册和管理运行作业、部署托管式 XProf 资源、直观呈现存储分区中的配置文件会话,以及从 CLI 触发配置文件捕获。您还可以通过 CLI 或 API 列出工作负载监控检测到的所有事件,并获取这些事件的分析器详细信息。
  • Python SDK:使用与机器学习工作负载集成的开源 ML Diagnostics SDK ,获得完整的机器学习工作负载诊断 体验。您可以在 Google Cloud上监控工作负载,并收集和管理工作负载指标、 配置和配置文件。
  • 托管式分析:ML Diagnostics 会在关联的 账号中部署具有可伸缩后端的托管式 XProf实例,从而能够快速加载大型配置文件。它支持多个用户同时访问配置文件,并包含多主机分析和按需分析等内置功能。
  • 工作负载指标:跟踪工作负载指标,包括模型质量、模型 性能和系统指标。借助工作负载监控,您无需集成 SDK 即可获取与工作负载关联的系统指标。
  • 工作负载配置管理:跟踪工作负载配置, 包括软件配置、系统配置和用户定义的 配置。
  • Cluster Director 和 GKE 中的可视化效果:在 Google Cloud 控制台中直观呈现 Cluster DirectorGoogle Kubernetes Engine 中的 指标、配置和配置文件。
  • 链接共享:使用可共享的链接进行协作,其中包含有关 机器学习运行作业、工作负载监控、指标和配置文件的信息。

用户路径

您可以将 ML Diagnostics 平台与工作负载监控搭配使用,以自动处理所有 GKE 作业,也可以将 SDK 与您的工作负载集成,以获得完整的机器学习工作负载诊断体验。您可以通过 Google Cloud 控制台或 CLI 与机器学习 诊断系统进行交互。对于使用 GKE 在 TPU 上部署的所有工作负载,系统会自动提供工作负载监控。

借助 CLI,您可以使用 ML Diagnostics gcloud CLI 创建或修改机器学习运行作业,并部署托管式 XProf 资源。借助 ML Diagnostics SDK,您需要将 SDK 集成到机器学习工作负载中,以收集和管理工作负载指标和配置,并部署托管式 XProf 资源。

如需开始使用,请参阅以下任一指南:

使用 XProf 进行托管式分析

当您使用 CLI 或 SDK 时,可以使用 XProf 获得托管式分析体验。XProf 是一款适用于机器学习 工作负载的开源分析和性能分析工具,也是 OpenXLA 生态系统的一部分。

与自行托管的分析体验相比,托管式分析体验具有以下优势:

  • 无需设置 XProf 或其他依赖项。
  • 安全性更高,可防范漏洞。
  • 可共享的链接,便于协作。
  • 更快地加载大型配置文件。
  • 支持多个用户同时访问配置文件,并根据链接访问负载自动伸缩资源。
  • 多主机分析和按需分析等内置功能。
  • 使用同一托管式 XProf 实例跨多个运行作业加载多个配置文件会话。
  • ML Diagnostics 平台部署的托管式 XProf 资源是免费的,因此托管式 XProf 比自行托管 XProf 更具成本效益。

前提条件

在使用 ML Diagnostics 之前,请启用 Cluster Director API 并添加所需的 IAM 权限。如果您使用的是 GKE,则工作负载监控已启用。不过,ML Diagnostics SDK 和按需分析需要额外的 GKE 制品和 GKE 集群配置。如需了解详情,请参阅设置 GKE

启用 Cluster Director API

您无需使用 Cluster Director 来部署和管理集群,即可使用 ML Diagnostics 产品。ML Diagnostics 适用于由 GKE、Cluster Director 或自定义编排器管理的集群。ML Diagnostics 是 Cluster Director 系列 API 的一部分,但并不依赖于用户使用 Cluster Director 产品本身。

如需详细了解如何启用 Cluster Director API,请参阅在您的 Google Cloud 项目中启用 API 。

IAM 权限

您的工作负载使用的 Google Cloud 服务账号需要在项目中分配以下 IAM 角色:

  • roles/hypercomputecluster.editor:用于完全访问权限,以创建和管理 MLRun 资源并查看界面。
  • roles/logging.logWriter:用于将日志和指标写入 Cloud Logging。
  • roles/storage.objectUser:用于将配置文件保存到 machinelearning_run 中指定的 Cloud Storage 存储桶。

您还可以创建 自定义角色,为 用户分配 ML Diagnostics 所需的 API 子集。由于用户无需使用 Cluster Director 来管理集群,因此您只需分配以下权限:

  • hypercomputecluster.locations.get
  • hypercomputecluster.locations.list
  • hypercomputecluster.machineLearningRuns.create
  • hypercomputecluster.machineLearningRuns.delete
  • hypercomputecluster.machineLearningRuns.get
  • hypercomputecluster.machineLearningRuns.list
  • hypercomputecluster.machineLearningRuns.update
  • hypercomputecluster.operations.cancel
  • hypercomputecluster.operations.delete
  • hypercomputecluster.operations.get
  • hypercomputecluster.operations.list
  • resourcemanager.projects.get
  • Resourcemanager.projects.list

对于 Google Kubernetes Engine 上的工作负载,请使用 Workload Identity Federation 将 Kubernetes 服务账号与已 Google Cloud 获授所需角色的服务账号相关联。在主机网络 (hostNetwork: true) 上运行的 Pod 不使用适用于 GKE 的工作负载身份联合。对于这些情况,请参阅适用于 GKE 的工作负载身份联合的替代方案

价格

您需要为通过 Cloud Logging 存储指标以及通过 Cloud Storage 存储配置文件支付费用。使用 ML Diagnostics 平台时,无需为这些服务启用任何额外的结算。ML Diagnostics 平台部署的托管式 XProf 资源是免费的。