Ray on Vertex AI 概览

Ray 是一个用于扩缩 AI 和 Python 应用的开源框架。Ray 提供了用于为机器学习 (ML) 工作流执行分布式计算和并行处理的基础设施。

Ray 与 Vertex AI 的比较

如果您已经在使用 Ray,则可以使用相同的开源 Ray 代码在 Vertex AI 上编写程序和开发应用,并且只需极少的更改。然后,您可以在机器学习工作流中使用 Vertex AI 与其他 Google Cloud服务(例如 Vertex AI InferenceBigQuery)的集成。

如果您已使用 Vertex AI 并且需要一种更简单的方法来管理计算资源,则可以使用 Ray 代码扩缩训练。

使用 Ray on Vertex AI 的工作流

使用 Colab Enterprise 和 Vertex AI SDK for Python 连接到 Ray 集群。

步骤 说明
1. 为 Ray on Vertex AI 进行设置 设置 Google 项目,安装包含 Ray 客户端功能的 Vertex AI SDK for Python 版本,并设置 VPC 对等互连网络(可选)。
2. 创建 Ray on Vertex AI 集群 创建 Ray on Vertex AI 集群。必须拥有 Vertex AI Administrator 角色
3. 在 Vertex AI 上开发 Ray 应用 连接到 Ray on Vertex AI 集群并开发应用。必须拥有 Vertex AI User 角色
4. (可选)将 Ray on Vertex AI 与 BigQuery 搭配使用 使用 BigQuery 读取、写入和转换数据。
5. (可选)在 Vertex AI 上部署模型并获取推理结果 将模型部署到 Vertex AI 在线端点并获取推理结果。
6. 监控 Ray on Vertex AI 集群 在 Cloud Logging 中监控生成的日志,并在 Cloud Monitoring 中监控指标。
7. 删除 Ray on Vertex AI 集群 删除 Ray on Vertex AI 集群,以避免产生不必要的计费。

概览

内置的 Ray 集群可确保关键机器学习工作负载或高峰季的容量可用性。与自定义作业(训练服务在作业完成后会释放资源)不同,Ray 集群在删除之前会一直可用。

注意:在以下情况下,请使用长时间运行的 Ray 集群:

  • 如果您要多次提交同一 Ray 作业,可以在同一长时间运行的 Ray 集群上运行作业,利用数据和映像缓存来节省时间。
  • 如果您运行许多短期有效的 Ray 作业(实际处理时间短于作业启动时间),则使用长时间运行的集群可能会有所帮助。

Ray on Vertex AI 集群可以通过公共连接或专用连接进行设置。下图展示了 Ray on Vertex AI 的架构和工作流。如需了解详情,请参阅公共或专用连接

具有公共连接的架构

Ray on Vertex AI 公共连接

  1. 使用以下方法在 Vertex AI 上创建 Ray 集群:

    a. 使用 Google Cloud 控制台创建 Ray on Vertex AI 集群。

    b. 使用 Vertex AI SDK for Python 创建 Ray on Vertex AI 集群。

  2. 使用以下方法连接到 Ray on Vertex AI 集群以进行交互式开发:

    a. 在 Google Cloud 控制台中使用 Colab Enterprise 实现无缝连接。

    b. 使用任何可供公共互联网访问的 Python 环境。

  3. 在 Ray on Vertex AI 集群上开发应用并训练模型:

    • 在您的首选环境(Colab Enterprise 或任何 Python 笔记本)中使用 Vertex AI SDK for Python。

    • 使用您的首选环境编写 Python 脚本。

    • 使用 Vertex AI SDK for Python、Ray Job CLI 或 Ray Job Submission API 将 Ray 作业提交到 Ray on Vertex AI 集群。

  4. 将经过训练的模型部署到在线 Vertex AI 端点以进行实时推理。

  5. 使用 BigQuery 管理数据。

具有 VPC 的架构

下图展示了在设置 Google Cloud 项目和(可选)VPC 网络后,Ray on Vertex AI 的架构和工作流:

Ray on Vertex AI VPC

  1. 设置 (a) Google 项目和 (b) VPC 网络。

  2. 使用以下方法在 Vertex AI 上创建 Ray 集群:

    a. 使用 Google Cloud 控制台创建 Ray on Vertex AI 集群。

    b. 使用 Vertex AI SDK for Python 创建 Ray on Vertex AI 集群。

  3. 使用以下方法通过 VPC 对等互连网络连接到 Ray on Vertex AI 集群:

  4. 使用以下方法在 Vertex AI 上的 Ray 集群中开发应用并训练模型:

    • 在您的首选环境(Colab Enterprise 或 Vertex AI Workbench 笔记本)中使用 Vertex AI SDK for Python。

    • 使用您的首选环境编写 Python 脚本。使用 Vertex AI SDK for Python、Ray Job CLI 或 Ray 信息中心将 Ray 作业提交到 Ray on Vertex AI 集群。

  5. 将经过训练的模型部署到在线 Vertex AI 端点以进行推理。

  6. 使用 BigQuery 管理数据。

术语

如需查看完整术语列表,请参阅 Vertex AI 预测性 AI 术语表

  • 自动扩缩
    • 自动扩缩是指计算资源(例如 Ray 集群的工作器池)能够根据工作负载需求自动增加或减少节点数量,从而优化资源利用率和费用。如需了解详情,请参阅在 Vertex AI 上扩缩 Ray 集群:自动扩缩
  • 批量推理
  • BigQuery
    • BigQuery 是 Google Cloud 提供的一种全托管式、无服务器且高度可扩缩的企业数据仓库,旨在以极快的速度使用 SQL 查询分析海量数据集。BigQuery 可实现强大的商业智能和分析功能,且无需用户管理任何基础设施。如需了解详情,请参阅从数据仓库到自治数据和 AI 平台
  • Cloud Logging
    • Cloud Logging 是 Google Cloud 提供的一项全托管式实时日志记录服务,可让您收集、存储、分析和监控来自所有 Google Cloud 资源、本地应用甚至自定义来源的日志。Cloud Logging 可集中管理日志,从而更轻松地排查问题、进行审核,以及了解应用及基础设施的行为和健康状况。如需了解详情,请参阅 Cloud Logging 概览
  • Colab Enterprise
    • Colab Enterprise 是一个托管式协作 Jupyter 笔记本环境,可将广受欢迎的 Google Colab 用户体验集成到 Google Cloud 中,并可提供企业级安全性和合规性功能。Colab Enterprise 提供以笔记本为中心的零配置体验,计算资源均由 Vertex AI 管理,并且可与其他 Google Cloud 服务(例如 BigQuery)相集成。如需了解详情,请参阅 Colab Enterprise 简介
  • 自定义容器映像
    • 自定义容器映像是一个独立的可执行软件包,其中包含用户的应用代码、运行时、库、依赖项和环境配置。在 Google Cloud(尤其是 Vertex AI)环境中,它让用户能够将其机器学习训练代码或服务应用及其确切的依赖项打包在一起,从而确保可重现性,并使用户能够使用标准环境未提供的特定软件版本或独特配置在托管式服务上运行工作负载。如需了解详情,请参阅推理服务的自定义容器要求
  • endpoint
    • 可以将经过训练的模型部署到此类资源来提供推理服务。如需了解详情,请参阅选择端点类型
  • Identity and Access Management (IAM) 权限
    • Identity and Access Management (IAM) 权限是特定的精细功能,用于定义谁可以在哪些 Google Cloud 资源上执行哪些操作。它们通过角色分配给主账号(例如用户、群组或服务账号),从而可以精确控制对 Google Cloud 项目或组织内服务和数据的访问权限。如需了解详情,请参阅使用 IAM 进行访问权限控制
  • 推理
    • 在 Vertex AI 平台环境中,推理是指通过机器学习模型运行数据点来计算输出(例如单个数值得分)的过程。此过程也称为“将机器学习模型付诸使用”或“将机器学习模型投入生产”。推理是机器学习工作流中的重要步骤,因为它可以让模型用于对新数据进行推理。在 Vertex AI 中,您可以通过多种方式执行推理,包括批量推理和在线推理。批量推理涉及运行一组推理请求并将结果输出到一个文件中,而在线推理则能够对个别数据点进行实时推理。
  • 网络文件系统 (NFS)
    • 一种客户端/服务器系统,可让用户通过网络访问文件,并像处理本地文件目录中的文件一样处理这些文件。如需了解详情,请参阅装载 NFS 共享以进行自定义训练
  • 在线推理
    • 同步获取对个别实例的推理结果。如需了解详情,请参阅在线推理
  • 永久性资源
    • 一种 Vertex AI 计算资源(例如 Ray 集群),在明确删除之前会一直处于分配状态并保持可用,这有利于迭代开发,并可减少作业之间的启动开销。如需了解详情,请参阅获取永久性资源信息
  • 管道
    • 机器学习流水线是基于容器的便携式和可扩缩的机器学习工作流。 如需了解详情,请参阅 Vertex AI Pipelines 简介
  • 预构建容器
    • Vertex AI 提供的容器映像,预安装了常见的机器学习框架及依赖项,可简化训练和推理作业的设置过程。如需了解详情,请参阅用于自定义训练的预构建容器
  • Private Service Connect (PSC)
    • Private Service Connect 是一项技术,可让 Compute Engine 客户将其网络中的专用 IP 映射到另一个 VPC 网络或 Google API。如需了解详情,请参阅 Private Service Connect
  • Ray on Vertex AI 集群
    • Ray on Vertex AI 集群是一个由计算节点组成的托管式集群,可用于运行分布式机器学习 (ML) 和 Python 应用。它提供了用于为机器学习工作流执行分布式计算和并行处理的基础设施。Vertex AI 中内置的 Ray 集群可确保关键机器学习工作负载或高峰季的容量可用性。与自定义作业(训练服务在作业完成后会释放资源)不同,Ray 集群在删除之前会一直可用。如需了解详情,请参阅 Ray on Vertex AI 概览
  • Ray on Vertex AI (RoV)
    • Ray on Vertex AI 旨在让您能够使用相同的开源 Ray 代码在 Vertex AI 上编写程序和开发应用,并且只需极少的更改。如需了解详情,请参阅 Ray on Vertex AI 概览
  • Ray on Vertex AI SDK for Python
    • Ray on Vertex AI SDK for Python 是 Vertex AI SDK for Python 的一个版本,其中包含 Ray 客户端、Ray BigQuery 连接器、Vertex AI 上的 Ray 集群管理和 Vertex AI 上的推理功能。如需了解详情,请参阅 Vertex AI SDK for Python 简介
  • Ray on Vertex AI SDK for Python
    • Ray on Vertex AI SDK for Python 是 Vertex AI SDK for Python 的一个版本,其中包含 Ray 客户端、Ray BigQuery 连接器、Vertex AI 上的 Ray 集群管理和 Vertex AI 上的推理功能。如需了解详情,请参阅 Vertex AI SDK for Python 简介
  • 服务账号
    • 服务账号是一种特殊的 Google Cloud 账号,应用或虚拟机可以使用此类账号对 Google Cloud 服务执行已获授权的 API 调用。与用户账号不同,服务账号不与个人相关联,而是充当代码的身份,从而实现对资源安全且程序化的访问,且无需人工凭证。如需了解详情,请参阅服务账号概览
  • Vertex AI Workbench
    • Vertex AI Workbench 是一个基于 Jupyter 笔记本的统一开发环境,支持整个数据科学工作流,从数据探索和分析到模型开发、训练及部署。Vertex AI Workbench 提供可扩缩的托管式基础架构,并内置了与其他 Google Cloud 服务(如 BigQuery 和 Cloud Storage)的集成,使数据科学家能够高效地执行机器学习任务,而无需管理底层基础架构。如需了解详情,请参阅 Vertex AI Workbench 简介
  • 工作器节点
    • 工作器节点是指集群内负责执行任务或执行工作的各个机器或计算实例。在 Kubernetes 或 Ray 集群等系统中,节点是基本的计算单元。
  • 工作器池
    • Ray 集群中执行分布式任务的组件。工作器池可以配置为使用特定机器类型,并且支持自动扩缩和手动扩缩。如需了解详情,请参阅训练集群的结构

价格

Ray on Vertex AI 的价格按以下方式计算:

  • 您使用的计算资源的费用根据您在创建 Ray on Vertex AI 集群时选择的机器配置计费。如需了解 Ray on Vertex AI 价格,请参阅价格页面

  • 对于 Ray 集群,您只需在“正在运行”和“正在更新”状态期间付费。无需针对其他状态付费。支付的金额取决于目前的实际集群大小。

  • 当您使用 Vertex AI 上的 Ray 集群执行任务时,系统会自动生成日志并根据 Cloud Logging 价格收取费用。

  • 如果您将模型部署到端点以进行在线推理,请参阅 Vertex AI 价格页面中的“预测及解释”部分。

  • 如果您将 BigQuery 与 Ray on Vertex AI 搭配使用,请参阅 BigQuery 价格

后续步骤