Ray 是一个用于扩缩 AI 和 Python 应用的开源框架。Ray 提供了用于为机器学习 (ML) 工作流执行分布式计算和并行处理的基础设施。
如果您已经在使用 Ray,则可以使用相同的开源 Ray 代码在 Vertex AI 上编写程序和开发应用,并且只需极少的更改。然后,您可以在机器学习工作流中使用 Vertex AI 与其他 Google Cloud 服务(例如 Vertex AI Prediction 和 BigQuery)的集成。
如果您已使用 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 的架构和工作流。如需了解详情,请参阅公共或专用连接。
具有公共连接的架构
使用以下方法在 Vertex AI 上创建 Ray 集群:
a. 使用 Google Cloud 控制台创建 Ray on Vertex AI 集群。
b. 使用 Vertex AI SDK for Python 创建 Ray on Vertex AI 集群。
使用以下方法连接到 Ray on Vertex AI 集群以进行交互式开发:
a. 在 Google Cloud 控制台中使用 Colab Enterprise 实现无缝连接。
b. 使用可供公共互联网访问的任何 Python 环境。
在 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 集群。
将经过训练的模型部署到在线 Vertex AI 端点以进行实时预测。
使用 BigQuery 管理数据。
具有 VPC 的架构
下图展示了在设置 Google Cloud 项目和 VPC 网络(可选)后 Ray on Vertex AI 的架构和工作流:
设置 (a) Google 项目和 (b) VPC 网络。
使用以下方法在 Vertex AI 上创建 Ray 集群:
a. 使用 Google Cloud 控制台创建 Ray on Vertex AI 集群。
b. 使用 Vertex AI SDK for Python 创建 Ray on Vertex AI 集群。
使用以下方法通过 VPC 对等互连网络连接到 Vertex AI 上的 Ray 集群:
在 Google Cloud 控制台中使用 Colab Enterprise。
使用 Vertex AI Workbench 笔记本。
使用以下方法在 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 集群。
将经过训练的模型部署到在线 Vertex AI 端点以进行预测。
使用 BigQuery 管理数据。
价格
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 价格。