Dataflow 机器学习
借助 Dataflow ML,您可以使用 Dataflow 部署和管理完整的机器学习 (ML) 流水线。使用机器学习模型通过批处理和流处理流水线进行本地和远程推断。使用数据处理工具准备数据以用于模型训练并处理模型的结果。
with pipeline as p: predictions = ( p | beam.ReadFromSource('a_source') | RunInference(MODEL_HANDLER))
RunInference 转换
使用
RunInference
就像向流水线添加转换代码一样简单。在此示例中,MODEL_HANDLER 是模型配置对象。
with beam.Pipeline() as p: transformed_data = ( p | beam.Create(data) | MLTransform(...) | beam.Map(print))
MLTransform 代码
如需为训练机器学习模型准备数据,请在流水线中使用
MLTransform
。MLTransform
将多个数据处理转换封装在一个类中,可让您将一个类用于各种预处理任务。
使用预训练模型进行预测和推理
我有 PyTorch 模型
将预训练模型与 PyTorch 搭配使用。
我有 scikit-learn 模型
将预训练模型与 scikit-learn 搭配使用。
我有 TensorFlow 模型
将预训练模型与 TensorFlow 搭配使用。
我有 Vertex AI 模型处理程序
Apache Beam 内置了对向远程部署的 Vertex AI 端点发送请求的支持。此笔记本展示了如何将用于图片分类的 Apache Beam
RunInference
转换与 Vertex AI 搭配使用。
我想在流水线中使用多个进行了不同训练的模型
将
RunInference
转换与键控模型处理程序结合使用,以便在同一 RunInference
转换中使用多个模型。
使用 MLTransform 进行数据处理
我想使用 Vertex AI 为 LLM 生成文本嵌入
将 Apache Beam 的
MLTransform
类与 Vertex AI 文本嵌入 API 搭配使用以生成文本嵌入。文本嵌入是将文本表示为数字向量的方法,这是许多自然语言处理 (NLP) 任务所必需的。
我想使用 Hugging Face 为 LLM 生成文本嵌入
将 Apache Beam 的
MLTransform
类与 Hugging Face Hub 模型搭配使用来生成文本嵌入。Hugging Face 的 SentenceTransformers
框架使用 Python 生成句子、文本和图片嵌入。
我想从数据集计算词汇表
从数据集计算唯一词汇表,然后将每个词或词元映射到不同的整数索引。使用此转换将文本数据转换为数字表示形式,以用于机器学习任务。
我想扩缩数据以训练机器学习模型
扩缩数据,以便用它来训练您的机器学习模型。Apache Beam 的
MLTransform
类包含多个数据扩缩转换。
使用中心模型进行预测和推理
我想进行情感分析和总结
您可以在推理流水线中使用 Gemma 模型来衡量对话的情绪,总结对话内容,并为棘手对话草拟回复。
我有 Hugging Face 中经过训练的模型
将
RunInference
转换与 Hugging Face 中经过训练的模型搭配使用。
我有 TensorFlow Hub 中经过训练的模型
将 TensorFlow 的
RunInference
转换与 TensorFlow Hub 中经过训练的模型搭配使用。
我想执行生成式 AI
使用
RunInference
转换来执行生成式 AI 任务。该笔记本使用 Hugging Face Model Hub 中的语言模型。
机器学习工作流编排
我想将 Dataflow 与 Vertex AI Pipelines 搭配使用
Vertex AI Pipelines 可采取无服务器方式编排机器学习工作流,帮助您实现机器学习系统自动化,监控和治理您的机器学习系统。使用 Vertex AI Pipelines 编排由 TFX 或 KFP 定义的工作流 DAG,并使用 Vertex ML Metadata 自动跟踪机器学习工件。
我想将 Dataflow 与 TFX 搭配使用
借助 TensorFlow Extended (TFX),您可以使用与 Apache Beam 和 Dataflow 运行程序内置集成的编排框架来部署完整的机器学习流水线。
我想将 Dataflow 与 KFP 搭配使用
Kubeflow 使 Kubernetes 上的机器学习工作流部署简单、可移植且可扩缩。Kubeflow 流水线是使用 Kubeflow Pipelines SDK 构建的可重复使用的完整机器学习工作流。
其他功能
使用 GPU
在 Dataflow 作业中使用 GPU 可以加快图片处理和机器学习处理任务的速度。请参阅 Dataflow 支持的 GPU 类型,以及有关不同工作负载应使用哪种 GPU 类型的建议。
混合使用适配的 CPU 和 GPU
混合使用 GPU 和 CPU,以提高性能和降低成本。为特定的流水线步骤指定资源可提高流水线的灵活性和能力,并可能节省费用。
使用特征存储数据丰富流处理流水线
Apache Beam 通过提供可添加到流水线的一站式丰富转换,来简化数据丰富化工作流。
资源
运行跨语言流水线
如需将 RunInference 与 Java 流水线搭配使用,请创建跨语言 Python 转换。该流水线会调用转换,后者会执行预处理、后处理和推理。
Dataflow 权限
如需运行 Dataflow ML 示例,您可能需要配置 Google Cloud 权限。阅读有关 Dataflow 流水线所需权限的详细指南。
在 GitHub 上查看示例
GitHub 上提供了示例和相应的源代码。在 GitHub 中,您还可以找到在 Colab 中运行示例的说明。