机器学习流水线概览

本文档简要介绍了可用于构建机器学习流水线以管理 BigQuery ML MLOps 工作流的服务。

机器学习流水线是对 MLOps 工作流的表示,该工作流由一系列流水线任务组成。每个流水线任务都会执行 MLOps 工作流中的特定步骤,以训练和部署模型。将每个步骤拆分为标准化且可重复使用的任务,可让您自动执行和监控机器学习实践中的可重复流程。

您可以使用以下任一服务创建 BigQuery ML 机器学习流水线:

  • 使用 Vertex AI Pipelines 创建可移植且可扩展的机器学习流水线。
  • 使用 GoogleSQL 查询创建更简单的基于 SQL 的 ML 流水线。
  • 使用 Dataform 创建更复杂的基于 SQL 的机器学习流水线,或需要使用版本控制的机器学习流水线。

Vertex AI Pipelines

Vertex AI Pipelines 中,机器学习流水线的结构为使用输入/输出依赖项相互连接的容器化流水线任务的有向无环图 (DAG)。每个流水线任务都是具有特定输入的流水线组件的实例化。在定义机器学习流水线时,您可以将一个流水线任务的输出路由到机器学习工作流中的下一个流水线任务的输入,从而将多个流水线任务连接以形成 DAG。您还可以将机器学习流水线的原始输入用作给定流水线任务的输入。

使用 Google Cloud 流水线组件 SDK 的 BigQuery ML 组件在 Vertex AI Pipelines 中组合机器学习流水线。如需开始使用 BigQuery ML 组件,请参阅以下笔记本:

GoogleSQL 查询

您可以使用 GoogleSQL 过程语言多语句查询中执行多个语句。您可以使用多语句查询来:

  • 以共享状态按顺序运行多个语句。
  • 自动执行管理任务,例如创建或删除表。
  • 使用 IFWHILE 等编程结构实现复杂的逻辑。

创建多语句查询后,您可以保存安排该查询,以自动执行模型训练、推理和监控。

如果您的机器学习流水线包含 ML.GENERATE_TEXT 函数的使用,请参阅通过迭代调用 ML.GENERATE_TEXT 处理配额错误,详细了解如何使用 SQL 迭代调用该函数。通过以迭代方式调用函数,您可以解决因超出配额和限制而发生的任何可重试错误。

Dataform

您可以使用 Dataform 在 BigQuery 中开发、测试、版本控制和安排复杂 SQL 工作流以进行数据转换。您可以使用 Dataform 执行数据集成的提取、加载和转换 (ELT) 流程中的数据转换等任务。从源系统中提取原始数据并将其加载到 BigQuery 后,Dataform 可帮助您将其转换为定义明确、经过测试且有文档记录的数据表套件。

如果您的机器学习流水线包含使用 ML.GENERATE_TEXT 函数,您可以调整 structured_table_ml.js 示例库,以迭代对该函数的调用。通过以迭代方式调用函数,您可以解决因超出适用于函数的配额和限制而发生的任何可重试错误。