机器学习流水线概览
本文档简要介绍了可用于构建机器学习流水线以管理 BigQuery ML MLOps 工作流的服务。
机器学习流水线是 MLOps 工作流的表示形式,由一系列流水线任务组成。每个流水线任务都会在 MLOps 工作流中执行特定步骤,以训练和部署模型。将每个步骤分离为可重用的标准化任务,可让您自动执行和监控机器学习实践中的可重复流程。
您可以使用以下任一服务来创建 BigQuery ML 机器学习流水线:
- 使用 Vertex AI Pipelines 创建可移植、可扩展的机器学习流水线。
- 使用 GoogleSQL 查询创建不太复杂的基于 SQL 的机器学习流水线。
- 使用 Dataform 创建更复杂的基于 SQL 的机器学习流水线,或需要使用版本控制的机器学习流水线。
Vertex AI Pipelines
在 Vertex AI Pipelines 中,机器学习流水线以容器化流水线任务的有向无环图 (DAG) 的形式构建,这些任务通过输入/输出依赖项互连。每个流水线任务是具有特定输入的流水线组件的实例化。在定义机器学习流水线时,您可以将一个流水线任务的输出路由到机器学习工作流中的下一个流水线任务的输入,从而连接多个流水线任务以形成 DAG。您还可以将机器学习流水线的原始输入用作给定流水线任务的输入。
使用 Google Cloud 流水线组件 SDK 的 BigQuery ML 组件在 Vertex AI Pipelines 中编写机器学习流水线。如需开始使用 BigQuery ML 组件,请参阅以下笔记本:
GoogleSQL 查询
您可以使用 GoogleSQL 过程语言在多语句查询中执行多个语句。您可以使用多语句查询来:
- 以共享状态按顺序运行多个语句。
- 自动执行管理任务,例如创建或删除表。
- 使用
IF
和WHILE
等编程结构实现复杂的逻辑。
创建多语句查询后,您可以保存并安排查询,以自动执行模型训练、推理和监控。
如果您的机器学习流水线包含 ML.GENERATE_TEXT
函数的使用,请参阅通过以迭代方式调用 ML.GENERATE_TEXT
来处理配额错误,详细了解如何使用 SQL 来迭代对该函数的调用。通过以迭代方式调用函数,您可以解决因超出配额和限制而发生的任何可重试错误。
Dataform
您可以使用 Dataform 在 BigQuery 中开发、测试、版本控制和安排复杂 SQL 工作流以进行数据转换。您可以使用 Dataform 执行数据集成的提取、加载和转换 (ELT) 流程中的数据转换等任务。从源系统中提取原始数据并将其加载到 BigQuery 后,Dataform 可帮助您将其转换为定义明确、经过测试且记录完善的数据表套件。
如果您的 ML 流水线包含对 ML.GENERATE_TEXT
函数的使用,您可以调整 structured_table_ml.js
示例库以迭代对该函数的调用。通过以迭代方式调用函数,您可以解决因超出适用于函数的配额和限制而发生的任何可重试错误。