BigQuery ML 简介

利用 BigQuery ML,您可以使用 GoogleSQL 查询创建和运行机器学习 (ML) 模型。您还可以访问 LLM 和 Cloud AI API,以执行文本生成或机器翻译等人工智能 (AI) 任务。

通常,在大型数据集上执行机器学习或 AI 需要丰富的编程经验和机器学习框架知识。这些要求将解决方案开发限制在每家公司内的极少人员中,不包括那些了解数据但缺乏机器学习和编程专业知识的数据分析师。但是,借助 BigQuery ML,SQL 专业人员可以使用现有的 SQL 工具和技能构建和评估模型,并通过 LLM 和 Cloud AI API 生成结果。

您可以通过以下方式使用 BigQuery ML 功能:

BigQuery ML 的优势

与使用云端数据仓库的机器学习或 AI 相比,BigQuery ML 具有以下几项优势:

  • BigQuery ML 让数据分析师(主要的数据仓库用户)使用现有的商业智能工具和电子表格来构建和运行模型,从而让人人可使用机器学习和 AI。预测分析可指导整个组织的业务决策。
  • 您无需使用 Python 或 Java 编写机器学习或 AI 解决方案。您可以使用 SQL(数据分析师所熟悉的语言)训练模型以及访问 AI 资源。
  • BigQuery ML 无需再从数据仓库中迁移数据,提高了模型开发和创新的速度。相反,BigQuery ML 将机器学习带到数据中,具有以下优势:

    • 需要的工具较少,降低了复杂性
    • 由于在 BigQuery 中训练模型不需要为基于 Python 的机器学习框架迁移和格式化大量数据,因此提高了生产速度。

    如需了解详情,请观看如何使用 BigQuery ML 加速机器学习开发视频。

支持的模型

BigQuery ML 中的模型表示机器学习系统从训练数据中学到的内容。以下部分介绍了 BigQuery ML 支持的模型类型。

内部训练的模型

BigQuery ML 中内置了以下模型:

  • 线性回归用于预测。例如,此模型可以预测给定日期的商品销售额。标签为实值,也就是说,标签不能为正无穷大、负无穷大或 NaN(非数字)。
  • 逻辑回归用于对两个或多个可能值进行分类,例如输入是 low-valuemedium-value 还是 high-value。标签最多可包含 50 个唯一值。
  • K-means 聚类用于数据细分。例如,此模型可识别客户细分。K-means 是一种非监督式学习技术,因此模型训练不需要标签,也不需要为训练或评估拆分数据。
  • 矩阵分解用于创建产品推荐系统。您可以使用历史客户行为、交易和产品评分创建产品推荐,然后使用这些推荐来打造个性化的客户体验。
  • 主成分分析 (PCA) 是计算主成分并使用主成分来变换数据的过程。它通常用于数据降维,具体方法是将每个数据点仅投影到前几个主要成分上,从而获得维度较低的数据,并保留尽可能多的数据差异性。
  • 时序用于执行时序预测。您可以使用此特征创建数百万个时间序列模型并将其用于预测。该模型会自动处理异常情况、季节性情况和节假日情况。

您可以对内部训练的模型的 CREATE MODEL 语句执行试运行,以估算运行这些模型要处理的数据量。

外部训练的模型

以下是 BigQuery ML 外部的模型,并在 Vertex AI 中训练:

  • 深度神经网络 (DNN) 用于为分类和回归模型创建基于 TensorFlow 的深度神经网络。
  • Wide & Deep 适合具有稀疏输入(有大量可能特征值的分类特征)的一般大规模回归和分类问题,例如推荐系统、搜索和排名问题。
  • Autoencoder 用于创建支持稀疏数据表示法的基于 TensorFlow 的模型。您可以使用 BigQuery ML 中的模型来执行非监督式异常值检测和非线性维度缩减等任务。
  • 提升树用于创建基于 XGBoost 的分类和回归模型。
  • 随机森林用于构建多个训练方法决策树,以在训练时执行分类、回归和其他任务。
  • AutoML 是一种监督式机器学习服务,可快速、大规模地基于表格数据构建和部署分类和回归模型。

您不能对外部训练的模型的 CREATE MODEL 语句执行试运行来估算运行这些模型时将处理的数据量。

远程模型

您可以在 BigQuery 中创建使用部署到 Vertex AI 的模型的远程模型。您可以通过在远程模型的 CREATE MODEL 语句中指定模型的 HTTPS 端点来引用已部署的模型。

远程模型的 CREATE MODEL 语句不会处理任何字节,也不会产生 BigQuery 费用。

导入的模型

借助 BigQuery ML,您可以导入在 BigQuery 之外训练的自定义模型,然后在 BigQuery 中执行预测。您可以从 Cloud Storage 将以下模型导入 BigQuery:

  • 开放神经网络交换 (ONNX) 是一种用于表示机器学习模型的开放标准格式。利用 ONNX,您可以在 BigQuery ML 中提供使用 PyTorch 和 scikit-learn 等常用机器学习框架训练的模型。
  • TensorFlow 是一个免费的机器学习和人工智能开源软件库。您可以将 TensorFlow 用于一系列任务,但它特别侧重于深度神经网络的训练和推理。您可以将之前训练的 TensorFlow 模型作为 BigQuery ML 模型加载到 BigQuery 中,然后在 BigQuery ML 中执行预测。
  • TensorFlow Lite 是轻量版的 TensorFlow,可部署在移动设备、微控制器和其他边缘设备上。TensorFlow 优化了现有 TensorFlow 模型,以缩减模型大小和加快推理速度。
  • XGBoost 是一个经过优化的分布式梯度提升库,具有高效、灵活且可移植的特点。它在梯度提升框架下实现机器学习算法。

已导入模型的 CREATE MODEL 语句不会处理任何字节,也不会产生 BigQuery 费用。

在 BigQuery ML 中,您可以将模型与多个 BigQuery 数据集中的数据一起用于训练和预测。

模型选择指南

此决策树会将机器学习模型映射到您要完成的操作。 下载模型选择决策树。

支持的 AI 资源

您可以使用远程模型从 BigQuery ML 访问 AI 资源,例如 LLM。BigQuery ML 支持以下 AI 资源:

BigQuery ML 和 Vertex AI

BigQuery ML 与 Vertex AI 集成,Vertex AI 是 Google Cloud 中 AI 和机器学习的端到端平台。将 BigQuery ML 模型注册到 Model Registry 后,您可以将这些模型部署到端点以进行在线预测。详情请参阅以下内容:

BigQuery ML 和 Colab Enterprise

您现在可以使用 Colab Enterprise 笔记本在 BigQuery 中执行机器学习工作流。借助 Notebooks,您可以使用 SQL、Python 和其他常用库和语言来完成机器学习任务。如需了解详情,请参阅创建笔记本

支持的区域

BigQuery ML 支持的区域与 BigQuery 相同。如需了解详情,请参阅 BigQuery ML 位置

价格

BigQuery ML 模型存储在 BigQuery 数据集中,如表和视图。如需了解 BigQuery ML 价格,请参阅 BigQuery ML 价格

如需了解 BigQuery 存储价格,请参阅存储价格

如需了解 BigQuery ML 查询价格,请参阅查询价格

配额

除了特定于 BigQuery ML 的限制以外,使用 BigQuery ML 函数和 CREATE MODEL 语句的查询还会受到 BigQuery 查询作业配额和限制的约束。

限制

  • 标准版中没有 BigQuery ML。
  • BigQuery ML 不会触发自动扩缩槽。您必须设置基准槽数,才能将 BigQuery ML 与 BigQuery 版本搭配使用。此限制仅适用于外部训练的模型,而不适用于内部训练的模型。如需详细了解模型类型,请参阅支持的模型

后续步骤