BigQuery 中的 AI 和机器学习简介
利用 BigQuery ML,您可以使用 GoogleSQL 查询创建和运行机器学习 (ML) 模型。BigQuery ML 模型存储在 BigQuery 数据集中,与表和视图类似。您还可以通过 BigQuery ML 来访问 Vertex AI 模型和 Cloud AI API 执行人工智能 (AI) 任务,例如文本生成或机器翻译。Gemini for Google Cloud 还为 BigQuery 任务提供依托 AI 技术的辅助功能。如需查看 BigQuery 中依托 AI 技术的功能列表,请参阅 Gemini in BigQuery 概览。
通常,在大型数据集上执行机器学习或 AI 需要丰富的编程经验和机器学习框架知识。这些要求将解决方案开发限制在每家公司内的极少人员中,不包括那些了解数据但缺乏机器学习和编程专业知识的数据分析师。但是,借助 BigQuery ML,SQL 专业人员可以使用现有的 SQL 工具和技能来构建和评估模型,并通过 LLM 和 Cloud AI API 生成结果。
您可以通过以下方式使用 BigQuery ML 功能:
- Google Cloud 控制台
- bq 命令行工具
- BigQuery REST API
- BigQuery 中的集成式 Colab Enterprise 笔记本
- 外部工具,例如 Jupyter 笔记本或商业智能平台
BigQuery ML 的优势
与使用云端数据仓库的机器学习或 AI 相比,BigQuery ML 具有以下多项优势:
- BigQuery ML 让数据分析师(主要的数据仓库用户)使用现有的商业智能工具和电子表格来构建和运行模型,从而让人人可使用机器学习和 AI。预测分析可指导整个组织的业务决策。
- 您无需使用 Python 或 Java 编写机器学习或 AI 解决方案。您可以使用 SQL(数据分析师所熟悉的语言)训练模型以及访问 AI 资源。
BigQuery ML 无需再从数据仓库中迁移数据,提高了模型开发和创新的速度。相反,BigQuery ML 将机器学习带到数据中,具有以下优势:
- 需要的工具较少,降低了复杂性
- 由于在 BigQuery 中训练模型不需要为基于 Python 的机器学习框架迁移和格式化大量数据,因此提高了生产速度。
如需了解详情,请观看如何使用 BigQuery ML 加速机器学习开发视频。
生成式 AI 和预训练模型
您可以使用远程模型从 BigQuery ML 访问 Vertex AI 模型和 Cloud AI API,以便执行以下任务:
- 使用 Vertex AI 文本或多模态模型进行文本生成。
- 使用 Vertex AI 嵌入模型的文本或多模态嵌入。
- 使用 Cloud Natural Language API 进行自然语言处理。
- 使用 Cloud Translation API 的机器翻译。
- 使用 Document AI API 的文档处理。
- 使用 Speech-to-Text API 的音频转写。
- 使用 Cloud Vision API 的计算机视觉。
支持的模型
BigQuery ML 中的模型表示机器学习系统从训练数据中学到的内容。以下部分介绍了 BigQuery ML 支持的模型类型。
内部训练的模型
BigQuery ML 中内置了以下模型:
- 贡献分析(预览版)用于确定一个或多个维度对给定指标的值的影响。例如,查看店面位置和销售日期对商店收入的影响。如需了解详情,请参阅贡献分析概览。
- 线性回归:使用基于类似远程数据训练的模型,预测新数据的数值指标的值。标签为实值,也就是说,标签不能为正无穷大、负无穷大或 NaN(非数字)。
- 逻辑回归用于对两个或多个可能值进行分类,例如输入是
low-value
、medium-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 数据集中的数据一起用于训练和预测。
模型选择指南
BigQuery ML 和 Vertex AI
BigQuery ML 与 Vertex AI 集成,Vertex AI 是 Google Cloud 中 AI 和机器学习的端到端平台。您可以将 BigQuery ML 模型注册到 Model Registry,以便将这些模型部署到端点进行在线预测。详情请参阅以下内容:
- 如需详细了解如何将 BigQuery ML 模型与 Vertex AI 搭配使用,请参阅使用 Vertex AI 管理 BigQuery ML 模型。
- 如果您不熟悉 Vertex AI,并且想要详细了解它如何与 BigQuery ML 集成,请参阅面向 BigQuery 用户的 Vertex AI。
- 观看如何使用 Vertex AI 和 BigQuery ML 简化 AI 模型视频。
BigQuery ML 和 Colab Enterprise
您现在可以使用 Colab Enterprise 笔记本在 BigQuery 中执行机器学习工作流。借助 Notebooks,您可以使用 SQL、Python 和其他常用库和语言来完成机器学习任务。如需了解详情,请参阅创建笔记本。
支持的区域
BigQuery ML 支持的区域与 BigQuery 相同。如需了解详情,请参阅 BigQuery ML 位置。
价格
您需要为用于训练模型和对模型运行查询的计算资源付费。您创建的模型类型会影响模型的训练位置和该操作的价格。对模型的查询始终在 BigQuery 中运行,并采用 BigQuery 计算价格。由于远程模型会调用 Vertex AI 模型,因此对远程模型进行查询也会产生 Vertex AI 费用。
您需要根据 BigQuery 存储价格支付经过训练的模型使用的存储空间费用。
如需了解详情,请参阅 BigQuery ML 价格。
配额
除了特定于 BigQuery ML 的限制以外,使用 BigQuery ML 函数和 CREATE MODEL
语句的查询还会受到 BigQuery 查询作业配额和限制的约束。
限制
- 标准版中没有 BigQuery ML。
- BigQuery ML 不会触发自动扩缩槽。您必须设置基准槽数,才能将 BigQuery ML 与 BigQuery 版本搭配使用。此限制仅适用于外部训练的模型,而不适用于内部训练的模型。如需详细了解模型类型,请参阅支持的模型。
后续步骤
- 如需开始使用 BigQuery ML,请参阅在 BigQuery ML 中创建机器学习模型。
- 如需详细了解机器学习和 BigQuery ML,请参阅以下资源:
- Coursera 课程:借助 Google Cloud 将机器学习应用于您的数据
- 智能分析和数据管理培训课程
- 机器学习速成课程
- 机器学习术语表
- 如需了解如何使用 Model Registry 执行 MLOps,请参阅在 Vertex AI 中管理 BigQuery ML 模型。