模型推理概览
本文档介绍了 BigQuery ML 支持的批量推理类型,包括:
机器学习推理是在机器学习模型中运行数据点以计算输出(如单个数值得分)的过程。此过程也称为“将机器学习模型付诸使用”或“将机器学习模型投入生产”。
批量预测
以下部分介绍了在 BigQuery ML 中执行预测的可用方法。
使用 BigQuery ML 训练的模型进行推理
BigQuery ML 中的预测不仅用于监督式学习模型,也用于非监督式学习模型。
BigQuery ML 通过 ML.PREDICT
函数和以下模型支持预测功能:
模型类别 | 模型类型 | ML.PREDICT 的作用 |
---|---|---|
监督式学习 |
线性回归和逻辑回归 提升树 随机森林 深度神经网络 Wide & Deep AutoML Tables |
预测标签(用于回归任务的数值或用于分类任务的分类值)。 |
非监督式学习 | K-means | 将集群分配给实体。 |
PCA | 通过将实体转换到特征向量跨越的空间对实体应用降维。 | |
自动编码器 | 将实体转换到嵌入空间。 |
使用导入的模型进行推理
通过此方法,您可以在 BigQuery 之外创建和训练模型,使用 CREATE MODEL
语句导入模型,然后使用 ML.PREDICT
函数对其运行推理。
所有推理处理都在 BigQuery 中使用 BigQuery 中的数据进行。导入的模型可以执行监督式或非监督式学习。
BigQuery ML 支持以下类型的导入模型:
- 开放神经网络交换 (ONNX),适用于在 PyTorch、scikit-learn 和其他常用机器学习框架中训练的模型。
- TensorFlow
- TensorFlow Lite
- XGBoost
借助此方法,您可以利用通过一系列机器学习框架开发的自定义模型,同时充分利用 BigQuery ML 的推理速度及其与数据位于同一位置。
如需了解详情,请尝试学习以下教程之一:
使用远程模型进行推理
通过此方法,您可以使用 CREATE MODEL
语句创建对 Vertex AI Prediction 中托管的模型的引用,然后使用 ML.PREDICT
函数对其运行推理。
所有推理处理都在 Vertex AI 中使用 BigQuery 中的数据进行。远程模型可以执行监督式或非监督式学习。
您可以使用此方法对需要 Vertex AI 提供的 GPU 硬件支持的大型模型运行推理。如果大多数模型都由 Vertex AI 托管,则您还可以使用 SQL 对这些模型运行推理,而无需通过手动构建数据流水线将数据发送到 Vertex AI 并将预测结果返回 BigQuery。
如需查看分步说明,请参阅在 Vertex AI 上使用远程模型进行预测。
在 Vertex AI 中使用 BigQuery 模型进行批量推理
BigQuery ML 内置了对批量预测的支持,无需使用 Vertex AI。您还可以将 BigQuery ML 模型注册到 Model Registry,以便在 Vertex AI 中使用 BigQuery 表作为输入来执行批量预测。不过,您只能使用 Vertex AI API 并将 InstanceConfig.instanceType
设置为 object
来执行此操作。
在线预测
BigQuery ML 的内置推理功能针对大规模应用场景(例如批量预测)进行了优化。虽然 BigQuery ML 在处理小型输入数据时提供了低延迟推理结果,但您可以通过与 Vertex AI 的无缝集成来实现更快的在线预测。
您可以在 Vertex AI 环境中管理 BigQuery ML 模型,这样便无需先从 BigQuery ML 导出模型,然后再将其部署为 Vertex AI 端点。通过在 Vertex AI 中管理模型,您可以使用所有 Vertex AI MLOps 功能以及 Vertex AI Feature Store 等功能。
此外,您可以灵活地将 BigQuery ML 模型导出到 Cloud Storage,以便可以在其他模型托管平台上使用。
后续步骤
- 如需详细了解如何使用 Vertex AI 模型生成文本和嵌入,请参阅生成式 AI 概览。
- 如需详细了解如何使用 Cloud AI API 执行 AI 任务,请参阅 AI 应用概览。
- 如需了解每种推理支持的模型类型和 SQL 函数,请参阅每个模型的端到端用户体验历程。