Airflow 是现代 MLOps 堆栈的核心,编排整个机器学习生命周期。

将 Airflow 用于机器学习运维 (MLOps)

机器学习运维 (MLOps) 是一个广泛的术语,涵盖在生产环境中运行机器学习模型所需的一切。MLOps 是一个快速发展的领域,拥有许多不同的最佳实践和行为模式,而 Apache Airflow 为所有步骤提供与工具无关的编排能力。MLOps 的一个新兴子集是大型语言模型运维 (LLMOps),它专注于围绕 GPT-4 或 Command 等大型语言模型的应用程序开发管道。

以下视频展示了使用 Airflow 和 Weaviate 创建自动 RAG 管道的示例,该管道摄取并嵌入来自新闻文章的数据,并提供交易建议。您可以在此处找到此示例中显示的代码。


为什么将 Airflow 用于 MLOps?

Airflow 是编排 MLOps 工作流程的热门选择,因为它具有以下特点:

  • Python 原生:您可以使用 Python 代码定义 Airflow 管道,这使得集成最流行的机器学习工具并将您的 ML 操作嵌入到最佳实践 CI/CD 工作流程中变得容易。通过使用 TaskFlow API 的装饰器,您可以将现有脚本转换为 Airflow 任务。
  • 可扩展:Airflow 本身是用 Python 编写的,这使得它可以使用自定义模块Airflow 插件进行扩展。
  • 数据无关:Airflow 与数据无关,这意味着它可用于编排任何数据管道,无论数据格式或存储解决方案如何。您可以轻松插入任何新的数据存储,例如最新的向量数据库或您最喜欢的 RDBMS。

Airflow 的 MLOps 功能

Airflow 具有几个关键功能,使其成为编排 MLOps 工作流程的绝佳选择

  • 监控和警报:Airflow 配备了生产就绪的监控和警报模块,如 Airflow 通知器、广泛的日志记录功能和 Airflow 监听器。它们使您可以精细地控制如何监控您的 ML 操作,以及在出现问题时 Airflow 如何向您发出警报。
  • 第二天的运维功能:简单的功能(例如自动重试、复杂的依赖关系和分支逻辑)以及使管道动态化的选项在编排 MLOps 管道时会产生很大的不同。Airflow 内置了所有这些功能。
  • Airflow 提供程序:Airflow 提供程序使用附加模块扩展了 Airflow 的核心功能,以简化与流行数据工具的集成,包括许多流行的 MLOps 工具。您可以在此处找到活跃提供程序的列表。