统一数据和机器学习:5 种方式同时使用 BigQuery 和 Vertex AI
您是否将数据存储在 BigQuery 中并且对使用这些数据来训练和部署模型感兴趣?或者您已经在 Vertex AI 中构建 ML 工作流程,但希望对模型的预测进行更复杂的分析?在这篇文章中,我们将向您展示 Vertex AI 和 BigQuery 之间的五种结合方式,以便您可以存储和提取数据;构建、训练和部署您的机器学习模型;并使用内置 MLOps 大规模管理模型,所有这些都在一个平台内完成。
将 BigQuery 数据导入 Vertex AI
如果您使用的是谷歌云,您可能会将一些数据储存BigQuery 中。当您准备好使用这些数据来训练机器学习模型时,您可以通过控制台中的几个步骤将 BigQuery 数据直接上传到 Vertex AI:
您也可以使用 Vertex AI SDK 执行此操作:
请注意,您无需导出 BigQuery 数据并将其重新导入 Vertex AI。由于这种集成,您可以将 BigQuery 数据无缝连接到 Vertex AI ,而不是从云端移动数据。
访问 BigQuery 公共数据集
Vertex AI 和 BigQuery 之间的这种数据集集成意味着,除了将您公司自己的 BigQuery 数据集连接到 Vertex AI 之外,您还可以利用 BigQuery 中的200 多个公开可用的数据集来训练您自己的 ML 模型。BigQuery 的公共数据集涵盖了一系列主题,包括地理、人口普查、天气、体育、编程、医疗保健、新闻等。
您可以单独使用这些数据来尝试训练 Vertex AI 中的模型,或扩充您现有数据。例如,您正在构建一个需求预测模型,并发现天气会影响您的产品需求,您可以将 BigQuery 的公共天气数据集与您企业的销售数据相结合,并在 Vertex AI 中训练您的预测模型。
下面,您将看到一个导入去年的公共天气数据以训练天气预报模型的示例:
从 Vertex AI Workbench notebook访问 BigQuery 数据
数据科学家经常在 notebook 环境中工作,以进行探索性数据分析、创建可视化和执行特征工程。以 Vertex AI 的托管 Workbench notebook为例,您可以使用 SQL 查询直接访问 BigQuery 数据,或将其下载为 Pandas Dataframe 以在 Python 中进行分析。
下面,您将看到如何在公共 London Bikeshare 数据集上运行 SQL 查询,然后将该查询的结果下载为 Pandas Dataframe 以在我的 notebook 中使用:
在 BigQuery 中分析测试预测数据
这包括如何使用 BigQuery 数据在 Vertex AI 中训练模型。接下来,我们将看看 Vertex AI 和 BigQuery 之间用于导出模型预测的集成。
当您在 Vertex AI 中使用 AutoML 训练模型时,Vertex AI 会将您的数据拆分为训练、测试和校验几个集合,并评估您的模型在测试数据上的表现。您还可以选择将模型的测试预测导出到 BigQuery,以便更详细地分析它们:
然后,当训练完成时,您可以检查您的测试数据并对测试预测运行查询。这有助于确定模型表现不佳的区域,这样就可以在下次训练模型时采取措施改进数据。
批量导出 Vertex AI 预测结果
当您拥有已在生产中使用的经过训练的模型时,在 Vertex AI 上使用该模型进行预测时有以下几个选择:
- 将您的模型部署到端点以进行在线预测
- 导出模型资产以进行设备上预测
- 在模型上进行批量预测
如果想用模型进行大量示例的预测且对时间不敏感,批量预测是一个不错的选择。在 Vertex AI 中创建批量预测时,您可以将 BigQuery 表指定为预测作业的源和目标:这意味着您将拥有一个 BigQuery 表,其中包含输入的要进行预测的数据,Vertex AI 会将您的预测结果单独保存到 BigQuery 表中。
通过这些集成,您可以访问 BigQuery 数据,并构建和训练模型。Vertex AI 将帮助您:
- 将这些模型投入生产
- 用托管式管道使模型的可重复性实现自动化
- 随着时间的推移提高您的模型性能和可靠性
- 跟踪模型的沿袭和工件以实现轻松管理
- 让特征属性的评估有迹可循
相关文章