@anacondainc:Metaflow 的理念是消除复杂性,同时支持生产级 ML/AI。了解其可组合的 API、……

X AI KOLs Timeline 工具

摘要

Anaconda 强调 Metaflow 的设计理念和核心功能,突出其简洁性、可组合性以及面向生产 ML/AI 工作流的企业级能力。

Metaflow 的理念是消除复杂性,同时支持生产级 ML/AI。 了解其可组合 API、可重现环境、可观测性和灵活计算如何让团队定制系统而不牺牲简洁性与可扩展性:https://t.co/T4dj3CnZhf https://t.co/XVxVkuTPnj
查看原文
查看缓存全文

缓存时间: 2026/07/29 11:56

Metaflow 的理念是消除复杂性,同时支持生产级 ML/AI。

了解其可组合的 API、可复现的环境、可观测性以及灵活的计算能力,如何让团队在不牺牲简洁性与可扩展性的前提下定制系统:https://t.co/T4dj3CnZhf https://t.co/XVxVkuTPnj


为什么 ML/AI 开发者和平台团队选择 Metaflow | Anaconda

来源:https://www.anaconda.com/blog/why-ml-ai-developers-and-platform-teams-choose-metaflow?utm_source=twitter&utm_medium=organicsocial 随着 2026 年的临近,Metaflow 的采用比以往任何时候都更加广泛。本文概述了 Metaflow 的设计理念,并介绍了其核心功能,您可以用这些功能来组装自己的定制化 ML/AI 平台。如果您赶时间,可以快速浏览下面标注了 ✨ 的新功能列表,以及标注了 ⭕ 的 Outerbounds 独有功能。

来自云原生计算基金会(Kubernetes 和其他核心云基础设施的所在地)的最新 Technology Radar 报告评估了用于 ML 和 AI 编排的领先开源框架。Metaflow 在调研的每个类别中都名列前茅:

__wf_reserved_inherit

该报告(可在此处阅读)总结了调查结果:超过一半熟悉 Metaflow 的受访者(51%)非常有可能推荐它,另有 35% 可能会推荐。

这种积极情绪印证了一个产品构建中的古老真理:当你把从业者的真实需求放在首位时,其他一切都会随之而来。从 2019 年 Metaflow 首次开源发布起,我们就优先考虑了 ML 和 AI 从业者真正的日常需求,而不是提出复杂的抽象概念或追逐潮流。

在多个版本中,我们刻意保持了 Metaflow API 的紧凑、一致和人性化——抵制了这类框架中容易出现的意外复杂性和 API 膨胀。因此,每当外部评测做出类似“Metaflow 对首次探索 MLOps 的数据科学团队来说是易于上手的”这样的评价时,就意味着我们走对了方向。

简单 ≠ 易用 ≠ 过分简化

由于其表面上的简单性,有人可能错误地认为 Metaflow 是一个入门级框架,不适合大型组织中要求苛刻的项目。显然事实并非如此,众多由 Metaflow 驱动的复杂真实世界 ML/AI 系统就是证明。

我们的理念是竭尽全力避免意外复杂性(通常由不必要的抽象引入),同时尊重现实世界系统本身固有的固有复杂性。换句话说,Metaflow 希望做到简单,而不是过分简化。

在软件基础设施方面,这种简单性是最高形式的精妙。当你思考这些词的实际含义时,这一点尤其清晰:

  • 简单是复杂的反面——一个简单的系统可以由个人不费力地理解,并且理解正确的可能性很高。
  • 易用是困难的反面——一个容易的任务可以由个人不费力地完成,并且结果正确的可能性很高。
  • 过分简化是高级且实用的反面——过分简化的方法将复杂的问题看作比实际简单得多,导致不切实际的解决方案。

如果您是平台工程师,Metaflow 提供了简单、可组合的构建块,用于表达您的业务领域所需的抽象和策略。由此产生的平台不会是过分简化的——它将包含问题所需的精确复杂度,同时对于最终用户来说,使用起来依然容易且直接。

__wf_reserved_inherit

或者,如果您不需要任何特殊定制,可以直接开箱即用 Metaflow——只需极少的组装工作。

__wf_reserved_inherit

您的 ML/AI 平台的构建块

实际上,Metaflow 提供了哪些构建块呢?

首先,澄清 Metaflow 在 ML/AI 项目中的角色是很有帮助的。前缀 meta- 表示位于某物之后、之后或超越的东西(该项目比某著名公司的更名更早)。Metaflow 支持庞大的 ML/AI 库 Python 生态系统,包括 PyTorch、JAX、Ray、vLLM、XGBoost 以及较新的框架如 LangChain,专注于这些库范围之外的层面。其目的是让您能够轻松地将这些库与您的模型、数据和代码结合起来,构建成生产级系统。

那么,什么不在 PyTorch 等大型框架的范围内呢?关键问题是,您如何开发、部署和运营依赖这些库组合的系统。有效解决这些问题需要框架本身之外的组件——即 Metaflow 和 Outerbounds 的领域,如下图所示:

__wf_reserved_inherit

在此图中,定义您的 ML/AI 项目的代码位于左侧的绿色框中,像 PyTorch 这样的库由依赖管理组件处理,周围是您项目特定的模式和策略。

功能概览

让我们逐一介绍图中的各个框以及 Metaflow(以及衍生出的 Outerbounds)中的相应功能,以说明如何将它们组合起来定制适合您需求的平台。如果您已经熟悉 Metaflow,请重点关注过去十二个月中发布的新功能(标注了 ✨)。如果您对 Outerbounds 在 Metaflow 之上提供的功能感兴趣,请查看标注了 ⭕ 的功能。

虽然功能列表很广泛,但您只需关注与您的项目相关的元素。每个功能都经过特意设计,追求简单性和完美的可组合性,让您可以根据需要轻松混合搭配。至关重要的是,所有核心 Metaflow 功能都受项目向后兼容性保证的约束——该保证自项目成立以来一直保持稳定——确保您的项目和平台构建在坚实、久经考验的基础之上。

开发体验

顶级的开发者体验是 Metaflow 的闪光点——这也是让平台易用的部分。如需简要概述,请参阅 Netflix 最近发表的一篇关于此主题的文章。

  • Metaflow 提供用于构建工作流的简单 API,最近新增了对递归和条件步骤 ✨ 的支持。
  • 您可以使用新的 spin 功能 ✨ 在本地进行快速、增量迭代开发和测试代码,既可以使用 notebook,也可以使用 IDE——两者都得到原生支持。在 Outerbounds 上,您可以使用基于 VSCode ⭕ 的云工作站开发代码,安全地在您的云账户中运行。
  • Metaflow 的杀手锏功能之一是能够从任何过去的结果恢复执行,现在明确支持对长时间运行的任务(如模型训练或微调)进行检查点检查 ✨。
项目特定模式

每个项目和组织的需求都不同。假设存在一个完美、通用的体验是过分简化的。Metaflow 通过允许平台和项目团队在 Metaflow 之上(和周围)构建自己的抽象层来满足不同需求,为特定的用例和业务环境进行定制。

  • 实现项目特定模式的关键工具是自定义装饰器和变异器 ✨,它们允许对您的流进行创造性的定制和扩展。
  • 当您想要实施自动应用于项目中所有流的策略和功能(例如领域特定的数据访问)时,BaseFlow 模式 ✨ 非常有用。Outerbounds 提供了一个铺设好的路径项目结构 ⭕,帮助您轻松利用这种方法。

2026 年将推出更多功能,使 Metaflow 更加可定制和通用,以应对项目和领域特定的需求。

配置管理

根据项目的需求,您可以在代码和配置之间选择适当的平衡。有时实验侧重于改变配置(甚至可以自动改变!)而保持代码不变,而在其他情况下,大多数更改都在代码本身中进行。

  • 配置管理子系统 ✨ 允许您轻松加载、解析甚至生成配置。
  • 超参数优化 ⭕ 是配置管理的一个特殊情况,通过像 Optuna 这样的框架得到了很好的支持。
依赖管理

如上所述,Metaflow 的目的是让您轻松利用庞大的 Python 库生态系统来构建生产级的 ML/AI 系统。为了实现这一点,Metaflow 配备了用于管理软件依赖项、打包代码以及为代码创建稳定、可复现且安全的运行时环境的强大功能。事实上,整个 Metaflow 代码库中约 10% 专门用于依赖管理。

  • Metaflow 从通过 PyPI 和 Conda 安装的包创建并管理可复现的运行时环境,现在原生支持 uv ✨。
  • Outerbounds 可以在几秒钟内将这些环境自动转换为优化的 Docker 镜像,这要归功于 Fast Bakery ⭕。

可观测性、血统与资产追踪

Metaflow 在制品追踪和可观测性方面提供了其他框架无法比拟的深度。它不是仅仅依赖显式注册的制品,而是以可扩展的方式自动追踪整个工作流的完整状态。举个例子,Netflix 有超过 12PB 的制品由 Metaflow 管理。

  • Metaflow 状态管理和可观测性的骨干是每一步结束时制品的自动快照,您可以通过客户端 API 和 Metaflow UI 实时观察。
  • 除了日志,您还可以使用 Cards 实时输出丰富的、可自定义的报告。
  • 如果您需要模型注册表和额外的数据血统可见性,您可以将某些制品提升为资产,在 Outerbounds UI ⭕ 中即可看到。

2026 年将在制品序列化和管理方面带来更多灵活性和能力。

GitOps 与 CI/CD

我们相信,软件工程最佳实践——如健壮的开发环境、GitOps 和 CI/CD——在 2026 年比以往任何时候都更加重要,尤其是随着 AI 协同驾驶的兴起。能够快速迭代新实验(有或没有 AI 辅助)、修改系统的任何部分,并一键将结果部署为隔离分支的能力非常强大。

虽然数据科学家和其他领域专家曾经主要工作在 notebook 中,但如今全面 Python 软件开发是每个人都能做到的。关键在于您的工具必须原生支持这种工作流。特别是,它需要让隔离分支变得毫不费力,这样任何人——AI 代理、新手开发者或快速行动的专家——都可以安全地进行实验。

Metaflow 提供了一整套内置功能来满足这一需求:

  • 所有执行(实验和生产)自动按命名空间组织,因此您可以在自己的泳道上安全地进行开发。
  • 您可以部署项目的多个版本(分支)并行运行,包括涉及多个流和部署的复杂项目。
  • Outerbounds 将这些功能提升为头等公民,提供原生 CI/CD 集成 ⭕,提供一个更高级别的项目概念,涵盖系统的所有元素 ⭕:实验、在线和离线部署以及资产。
  • 在自动化测试方面,新的 spin 功能支持快速单元测试 ✨,新的 Dev Stack 允许您在隔离环境中进行端到端集成测试 ✨。

生产部署

不与现实接触,就很难证明 AI 和 ML 项目的价值。使项目能够轻松快速地部署到严肃的生产环境中,正是最初在 Netflix 构建 Metaflow 的主要原因。

没有单一的方法来部署 AI/ML 项目。有时它完全作为批处理离线运行,有时则完全在线进行实时推理。在许多真实场景中,它最终是这两种方式的复杂混合体。Metaflow 在所有这些场景中都派上用场。

离线
  • 您可以部署 Metaflow 项目,以便在生产级工作流编排器(如 Argo Workflows 或 AWS Step Functions)上以高可用方式执行。或者,借助 Metaflow 扩展,您甚至可以引入自己的编排器,就像 Netflix 对 Maestro 所做的那样。
  • 除了一切正常运行的快乐路径外,Metaflow 还提供了大量处理失败的功能,因此无论工作负载成功还是失败,您都可以采取适当的行动 ✨。
  • 如果您有在 Airflow 或 Kubeflow(全新功能!✨)上运行的现有管道,您也可以将 Metaflow 用于这些系统,从而开始与现有管道并行开发 Metaflow 项目。
  • 部署不是孤岛——它们可以通过实时事件连接到外部世界并相互连接。
  • Metaflow 可以为生产级代理提供坚实基础 ✨,利用您最喜欢的代理框架。
  • 并且,它可以帮助编排大规模、优化的批处理式自主推理用例,利用最先进的 GenAI 模型 ⭕。
在线
  • 如果您需要传统 ML 或 GenAI 的在线实时推理部署,Outerbounds 为此提供了安全且可扩展的平台 ⭕,与 Metaflow 无缝集成。
  • 另一个常见的实时用例是内部应用、仪表板和特定工具,如 Tensorboard、Optuna、LiteLLM,您可以在您的 Outerbounds 部署中安全地利用它们 ⭕。

目前还有一些针对实时用例的新功能正在开发中,请期待 2026 年令人兴奋的发布。

灵活的计算

如果问什么将 ML/AI 用例与其他软件或数据工程系统区分开来,答案很简单:它们对计算的需求。

自 2023 年以来,AI 投资的代际热潮主要集中在扩大计算资源(特别是 GPU)的可用性上。这一发展对构建者来说是一个巨大的福音。计算供应量正以数量级增长,而成本正在迅速下降。

Metaflow 让您能够利用所有这些现有和即将到来的容量。由于 Metaflow 是天生的 ML/AI 原生框架,其代码库大约 25% 用于编排云计算也就不足为奇了。这一基础支持了上述所有功能,从实验到生产部署。

  • 您可以使用提供的部署模板在您的 AWS、GCP 或 Azure 账户上部署 Metaflow,或者在本地运行。或者,您可以借助 Outerbounds 获得整个平台作为托管服务,在 15 分钟内安全地部署在您的账户中 ⭕。
  • Metaflow 使垂直扩展工作负载变得容易,提供对大型计算实例的访问,这在今天大规模强大 GPU 可用性激增的背景下尤其相关。
  • 您可以轻松并行化工作负载,甚至可以扩展到数万台服务器。
  • 除非您有快速的 IO 路径,即能够快速加载和存储数据的方法,否则大型计算就是浪费。Metaflow 内置了一个吞吐量优化的 S3 客户端来满足这一需求,允许您以最高速度访问数据。
  • 您可以 ma

相似文章