AI/ML 管道入门
| ![]() |
作为机器学习从业人员,您的工作效率和成功往往取决于您高效利用大量数据的能力,这种能力必须根据您的资源、需求和预算进行定制。无论是启动下一个 AI/ML 项目还是扩展现有项目,都应考虑将 Apache Beam 添加到您的项目中。
使用 Beam ML
我想使用 Beam ML 来进行
预测和推理
Beam 提供了不同的方法来将推理作为您管道的一部分实现。您可以在管道中直接运行您的 ML 模型,并将其应用于大规模数据集,无论是批处理管道还是流式管道。
RunInference
RunInfernce API 可用于 Beam Python SDK 2.40.0 及更高版本。您可以将 Apache Beam 与 RunInference API 一起使用,使用机器学习 (ML) 模型来进行批处理和流式管道的本地和远程推理。从 Apache Beam 2.40.0 开始,支持 PyTorch 和 Scikit-learn 框架。Tensorflow 模型通过 tfx-bsl
支持。有关使用 RunInference 的更多详细信息,请参阅 关于 Beam ML。
RunInference API 可用于 Beam Java SDK 2.41.0 及更高版本,通过 Apache Beam 的 多语言管道框架。有关 Java 包装转换的信息,请参阅 RunInference.java。要试用它,请参阅 Java Sklearn Mnist 分类示例。
您可以使用 RunInference API 创建多种类型的转换:API 从模型处理程序中获取多种类型的设置参数,参数类型决定模型的实现。
任务 | 示例 |
---|---|
我想使用 RunInference 转换 | 修改 Python 管道以使用 ML 模型 |
我想使用 RunInference 与 PyTorch 一起使用 | 使用 RunInference 与 PyTorch 一起使用 |
我想使用 RunInference 与 Sklearn 一起使用 | 使用 RunInference 与 Sklearn 一起使用 |
我想使用预训练模型 (PyTorch、Scikit-learn 或 TensorFlow) | 使用预训练模型 |
我想在生产中更新我的模型 | 使用 WatchFilePattern 在 RunInference 中自动更新 ML 模型 |
预测和推理示例
任务 | 示例 |
---|---|
我想使用多个模型构建管道 | 多模型管道 |
我想使用 TensorRT 构建自定义模型处理程序 | 使用 TensorRT 与 RunInference 一起使用 |
我想使用 LLM 推理 | 大型语言模型推理 |
我想构建一个多语言推理管道 | 从 Java SDK 使用 RunInference |
数据处理
您可以将 Apache Beam 用于数据验证和预处理,方法是设置数据管道,这些管道转换您的数据并输出从数据计算得出的指标。Beam 有一套丰富的 I/O 连接器 用于导入和写入数据,这使您可以将它与现有的文件系统、数据库或消息队列集成。
任务 | 示例 |
---|---|
我想转换我的数据以进行预处理 | 使用 MLTransform 对数据进行预处理 |
我想探索我的数据 | 数据探索工作流和示例 |
我想丰富我的数据 | 使用 Enrichment 转换进行数据丰富 |
工作流编排
为了在整个项目中自动执行和跟踪 AI/ML 工作流,您可以使用编排器,例如 Kubeflow 管道 (KFP) 或 TensorFlow Extended (TFX)。这些编排器自动执行您的不同构建块并处理它们之间的转换。
任务 | 示例 |
---|---|
我想使用 ML-OPS 工作流编排器 | 工作流编排 |
我想将 Beam 与 TensorFlow Extended (TFX) 一起使用 | Tensorflow Extended (TFX) |
我想将 Beam 与 Kubeflow 一起使用 | Kubeflow 管道 (KFP) |
当您将 Apache Beam 作为项目中的构建块之一使用时,这些编排器能够启动您的 Apache Beam 作业,并跟踪管道的输入和输出。这些任务在将您的 AI/ML 解决方案投入生产时至关重要,因为它们使您能够随时间处理模型和数据,并提高结果的质量和可重复性。
模型训练
用例
任务 | 示例 |
---|---|
我想构建一个异常检测管道 | 异常检测示例 |
参考
上次更新于 2024/10/31
您找到您要找的一切了吗?
所有内容都有用且清晰吗?您想更改任何内容吗?请告诉我们!