本页面简要介绍了 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 中存储的数据训练模型,您可以使用以下方法:
Spanner Vertex AI 集成为使用机器学习模型而扩展了以下函数:
通过对 Spanner 数据使用 SQL 调用模型,生成机器学习预测。您可以使用 Vertex AI Model Garden 中的模型或部署到 Vertex AI 端点的模型。
生成文本嵌入,让 LLM 将文本提示转换为数字。如需详细了解嵌入,请参阅获取文本嵌入。
使用 Spanner Vertex AI 集成函数
Spanner Vertex AI 集成中的模型可用于通过机器学习预测函数在 SQL 代码中生成预测或文本嵌入。这些函数如下所示:
GoogleSQL
您可以针对 GoogleSQL 使用以下机器学习预测函数:
您需要先使用 CREATE MODEL
DDL 语句注册模型,然后才能将其与 ML.PREDICT
函数一起使用。
您还可以使用 SAFE.ML.PREDICT
在预测中返回 null
,而不是错误。这对于运行能够容忍部分失败预测的大型查询非常有用。
PostgreSQL
您可以针对 PostgreSQL 使用以下机器学习预测函数:
如需使用这些函数,您可以从 Vertex AI Model Garden 选择模型,或使用已部署到 Vertex AI 的模型。
如需详细了解如何在 Vertex AI 中将模型部署到端点,请参阅将模型部署到端点。
如需详细了解如何使用这些函数生成机器学习预测,请参阅使用 SQL 生成机器学习预测。
如需详细了解如何使用这些函数生成文本嵌入,请参阅获取文本嵌入。
价格
如果将 Spanner 与 Spanner Vertex AI 集成一起使用,您无需支付额外费用。不过,此功能还可能产生其他相关费用:
您需要按标准费率支付 Vertex AI 在线预测的费用。总费用取决于您使用的模型类型。某些模型类型具有固定的每小时费率,具体取决于您使用的机器类型和节点数。某些模型类型具有每次通话费率。我们建议您在已设置明确预测配额的专用项目中部署后者。
对于 Spanner 与 Vertex AI 之间的数据传输,您需要按标准费率付费。总费用取决于托管执行查询的服务器的区域和托管所调用端点的区域。为尽可能降低费用,请在 Spanner 实例所在的区域中部署 Vertex AI 端点。使用多区域实例配置或多个 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 行 | 1,000 行 |
---|---|---|---|---|---|
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 端点。