本页面简要介绍了 Spanner Vertex AI 集成。Spanner Vertex AI 集成可与 GoogleSQL 数据库和 PostgreSQL 数据库搭配使用。
Spanner Vertex AI 集成可帮助您通过 GoogleSQL 和 PostgreSQL 页面访问托管在 Vertex AI 上的分类器和回归机器学习模型。这有助于将机器学习预测传送功能与使用 DQL/DML 查询执行的常规 Spanner 数据访问操作无缝集成。
Spanner Vertex AI 集成的优势
与单独执行 Spanner 数据访问和对 Vertex AI 预测端点的访问的方法相比,使用 Spanner Vertex AI 集成生成机器学习预测具有诸多优势:
- 性能:
- 缩短延迟时间:Spanner Vertex AI 集成可直接与 Vertex AI 服务通信,消除了运行 Spanner 客户端的计算节点与 Vertex AI 服务之间的额外往返过程。
- 吞吐量/并行性更高:Spanner Vertex AI 集成在 Spanner 的分布式查询处理基础架构上运行,该基础架构支持高度可并行的查询执行。
- 用户体验:
- 能够使用单一、简单、连贯且熟悉的 SQL 接口在 Spanner 级别上促进数据转换和机器学习服务场景,降低了机器学习入门门槛,并提供更流畅的用户体验。
- 费用:
- Spanner Vertex AI 集成使用 Spanner 计算容量来合并机器学习计算和 SQL 查询执行的结果,从而无需为此预配额外的计算(例如,在 Compute Engine 或 Google Kubernetes Engine 中)。
Spanner Vertex AI 集成如何运作?
Spanner Vertex AI 集成不托管机器学习模型,而是依赖于 Vertex AI 服务基础架构。您无需使用 Vertex AI 训练模型即可将其与 Spanner Vertex AI 集成搭配使用,但必须将其部署到 Vertex AI 端点。
如需基于 Spanner 中存储的数据来训练模型,您可以使用以下工具:
将 BigQuery 联合查询与 BigQuery ML 搭配使用。
Spanner Vertex AI 集成扩展了以下函数以使用机器学习模型:
通过对 Spanner 数据使用 SQL 调用模型来生成机器学习预测。您可以使用 Vertex AI Model Garden 中的模型或部署到 Vertex AI 端点的模型。
生成文本嵌入,让 LLM 将文本提示转换为数字。如需详细了解嵌入,请参阅获取文本嵌入。
使用 Spanner Vertex AI 集成函数
Spanner Vertex AI 集成中的模型可用于使用机器学习预测函数在 SQL 代码中生成预测或文本嵌入。这些函数如下所示:
GoogleSQL
您可以使用以下适用于 GoogleSQL 的机器学习预测函数:
在将模型与 ML.PREDICT
函数一起使用之前,您需要先使用 CREATE MODEL
DDL 语句注册模型。
您还可以使用 SAFE.ML.PREDICT
返回 null
,而不是预测结果中的错误。当运行大型查询时,如果可以容忍某些失败的预测,这会非常有用。
PostgreSQL
您可以使用以下适用于 PostgreSQL 的机器学习预测函数:
如需使用这些函数,您可以从 Vertex AI Model Garden 中选择模型,或使用已部署到 Vertex AI 的模型。
如需详细了解如何将模型部署到 Vertex AI 中的端点,请参阅将模型部署到端点。
如需详细了解如何使用这些函数生成机器学习预测,请参阅使用 SQL 生成机器学习预测。
如需详细了解如何使用这些函数生成文本嵌入,请参阅获取文本嵌入。
价格
将 Spanner 与 Spanner Vertex AI 集成结合使用时,不会产生额外费用。不过,使用此功能可能会产生其他相关费用:
您需要按标准费率支付 Vertex AI 在线预测的费用。总费用取决于您使用的模型类型。某些模型类型采用固定的每小时费率,具体取决于机器类型和您使用的节点数量。某些模型类型具有每次调用费率。我们建议您将后者部署在已设置明确预测配额的专用项目中。
您需要按标准费率支付 Spanner 与 Vertex AI 之间的数据传输费用。总费用取决于托管执行查询的服务器和被调用端点的托管区域。为了最大限度地降低费用,请将 Vertex AI 端点部署在 Spanner 实例所在的区域中。使用多区域实例配置或多个 Vertex AI 端点时,请在同一大洲部署您的端点。
服务等级协议
由于 Vertex AI 在线预测可用性较低,您必须正确配置 Spanner 机器学习模型,以便在使用 Spanner Vertex AI 集成时保持 Spanner 的高可用性:
- Spanner 机器学习模型必须在后端使用多个 Vertex AI 端点来启用故障切换。
- Vertex AI 端点必须符合 Vertex AI 服务等级协议 (SLA) 的要求。
- Vertex AI 端点必须预配足够的容量来处理传入流量。
- Vertex AI 端点必须使用靠近 Spanner 数据库的单独区域,以避免区域级中断。
- Vertex AI 端点应使用单独的项目,以避免每个项目的预测配额问题。
冗余 Vertex AI 端点的数量取决于其服务等级协议 (SLA) 以及 Spanner 查询中的行数:
Spanner 服务等级协议 (SLA) | Vertex AI 服务等级协议 (SLA) | 1 行 | 10 行 | 100 行 | 1000 行 |
---|---|---|---|---|---|
99.99% | 99.9% | 2 | 2 | 2 | 3 |
99.99% | 99.5% | 2 | 3 | 3 | 4 |
99.999% | 99.9% | 2 | 2 | 3 | 3 |
99.999% | 99.5% | 3 | 3 | 4 | 4 |
Vertex AI 端点不需要托管完全相同的模型。我们建议您配置 Spanner 机器学习模型,使其将主要的复杂计算密集型模型作为其第一个端点。后续的故障切换端点可以指向简化的模型,这些模型计算密集型较少,扩缩效果更好,并且可以承受流量高峰。
法规遵从
Assured Workloads 不支持 Vertex AI Prediction API。启用资源使用限制条件会停用 Vertex AI API,实际上会停用 Spanner Vertex AI 集成功能。
此外,我们建议您创建 VPC Service Controls 边界,以确保生产数据库无法连接到可能没有适当合规性配置的非生产项目中的 Vertex AI 端点。