写点什么

Netflix 通过新的配置功能增强了 Metaflow

作者:Claudio Masolo

  • 2025-01-24
    北京
  • 本文字数:1771 字

    阅读完需:约 6 分钟

Netflix 通过新的配置功能增强了 Metaflow

Netflix 对其 Metaflow 机器学习基础设施做出了一项重大改进:一个新的 Config(配置)对象,为 ML 工作流带来了强大的配置管理能力。这一新增功能解决了 Netflix 团队面临的一个共同挑战,他们管理着跨不同 ML 和 AI 用例的数千个独特的 Metaflow 流程。


Netflix Metaflow 是一个开源数据科学框架,旨在简化构建和管理数据密集型工作流的过程。它允许用户将工作流定义为有向图,这样就能很方便地对其可视化和迭代了。Metaflow 自动处理工作流的扩展、版本控制和部署操作,这是机器学习和数据工程项目中的核心工作。它为数据存储、参数管理和计算执行等任务提供了内置支持,既可以在本地也可以在云端执行操作。



Metaflow 基础设施栈


新的 Config 特性代表了 Netflix 配置和管理 ML 工作流方式的根本性转变。虽然 Metaflow 一直擅长提供数据访问、计算资源和工作流编排的基础设施,但团队以前缺乏统一的方式来配置流程行为,尤其是对于装饰器和部署设置而言更是如此。


Config 对象加入了 Metaflow 现有的工件(artifact)和参数(parameter)的组合,但在时间执行上有一个关键的区别。虽然工件在每个任务结束时保留,参数在运行开始时解析,但 Config 会在流程部署期间解析。这种时间差异使 Config 在设置针对部署定制的配置方面特别好用。


可以使用人性化,容易看懂的 TOML 文件指定 Config,从而轻松管理流程的各个方面:


[schedule]cron = "0 * * * *"[model]optimizer = "adam"learning_rate = 0.5[resources]cpu = 1
复制代码


Netflix 的内部工具 Metaboost 展示了该配置系统的强大能力。Metaboost 是一个用于管理 ETL 工作流、ML 管道和数据仓库表的统一界面。新的 Config 功能允许团队在保持核心流程结构的同时创建不同的实验配置。


例如,ML 从业者只需交换配置文件即可轻松创建其模型的变体,从而快速试验不同的特性、超参数或目标指标。事实证明,此功能对于 Netflix 的内容 ML 团队特别有价值,该团队负责处理数百个数据列和多个指标。


新的配置系统提供了几个优点:


  • 灵活的运行时配置:可以混合使用参数和配置来平衡固定部署和运行时的可配置性。

  • 增强的验证:自定义解析器可以验证配置,还能与 Pydantic 等流行工具集成。

  • 高级配置管理:支持 OmegaConf 和 Hydra 等配置管理器,可实现复杂的配置层次结构。

  • 动态生成配置:用户可以从外部服务检索配置或分析执行环境(例如当前 GIT 分支),以在运行期间将其作为附加上下文包含在内。


这项增强功能代表了 Metaflow 作为机器学习基础设施平台发展的重要一步。通过提供更结构化的方式来管理配置,Netflix 让团队更容易维护和扩展他们的 ML 工作流程,同时遵循各自的开发实践和业务目标。


该功能现已在 Metaflow 2.13 中提供,用户可以立即开始在他们的工作流程中实现它。


一些类似 Netflix Metaflow 的工具也能帮助数据科学家和工程师管理工作流程、编排管道以及构建可扩展的机器学习或数据驱动系统。这些工具有着略微不同的需求和优先级,但它们都旨在简化复杂的工作流程和扩展数据操作。以下是一些值得一提的例子:


  • Apache Airflow:一个广泛使用的开源工作流编排平台。它允许用户将任务及其依赖关系定义为有向无环图(DAG)。Metaflow 专注于数据科学管道,而 Airflow 则更通用,擅长管理跨不同领域的工作流。

  • Luigi(Spotify):一个旨在构建复杂管道的开源 Python 框架。与 Metaflow 一样,Luigi 能处理依赖项、工作流编排和任务管理,但它不太关注机器学习方面的特定需求。

  • Kubeflow:Kubernetes 的机器学习工具包。它专门用于管理 ML 工作流并在生产中部署模型,使其成为基于 Kubernetes 的环境的不二之选。

  • MLflow:一个管理 ML 生命周期的开源平台,包括实验跟踪、可重复性、部署和监控等能力。MLflow 对模型版本控制和部署有强大的支持,但缺乏 Metaflow 的更广泛的工作流编排功能。

  • Argo Workflows:一个 Kubernetes 原生工作流引擎,旨在在容器化基础设施上运行复杂的工作流。对于已经在使用 Kubernetes 并正在寻找轻量级解决方案的团队来说,它是理想的选择。


虽然这些工具在某些功能上有重叠,但 Metaflow 凭借其简单性、可扩展性以及对机器学习工作流程的内置支持脱颖而出,这对数据科学团队来说特别有吸引力。


原文链接:


Netflix Enhances Metaflow with New Configuration Capabilities(https://www.infoq.com/news/2025/01/netflix-metaflow-configuration/)

2025-01-24 16:009568

评论

发布
暂无评论
发现更多内容

我们为什么选择使用分布式持续交付新星 Zadig ?

Zadig

DevOps 云原生 CI/CD 软件交付

IET 试水SiFL中文项目 为中国工程师“走出去”创造宝贵机遇

E科讯

为什么校招面试中“线程与进程的区别”老是被问到?我该如何回答?

宇宙之一粟

线程 进程 5月月更

混合办公首选轻薄本,华为MateBook的“三重变身”改变了什么?

脑极体

一文学完Linux常用命令

编程攻略

Linux

Apache SeaTunnel(Incubating)与计算引擎的解耦之道,重构API我们做了些什么

Apache SeaTunnel

Apache 大数据 开源 DolphinScheduler workflow

Hoo研究院|区块链简报 20220523期

区块链前沿News

#区块链# Hoo 热点

十、云原生网络架构

穿过生命散发芬芳

网络架构 5月月更

热烈庆祝“海泰密码技术融合创新中心&数据中心重启安全工程”双中心智能重启用

电子信息发烧客

网络安全 科技 科技企业

“双碳”大局中再看业务合同电子化

鲸品堂

节能 提效降本 双碳

在星云科技,我们使用 Zadig 实现多环境并行发布,上千次周部署

Zadig

DevOps 云原生 CI/CD 软件交付

第一梯队,增速第一

天翼云开发者社区

在线火星文转简体中文工具

入门小站

工具

做了5年开源项目,我总结了以下提PR经验!

OpenHarmony开发者

OpenHarmony 开源生态

英伟达周锡健:设计到数字营销的最后一公里

阿里云弹性计算

vr XR 视觉计算

使用postMessage对iframe进行跨域数据传输

空城机

iframe postMessage 5月月更

前端食堂技术周刊第 38 期:Remix v1.5.0、Babel v7.18.0、前端部署十五章、Tree Shaking 问题排查指南、一文搞懂前端技术发展

童欧巴

前端 Remix 前端部署

小程序和App同时拥有?两者兼得的一种技术方案

Speedoooo

微信小程序 APP开发 小程序容器 小程序转app

人人皆为开发者?不可错过的低代码发展新趋势

云智慧AIOps社区

大前端 低代码 数据可视化

天翼云4.0创新成果发布!科技创新赋能安全普惠

天翼云开发者社区

天翼云通过DCMM 4级认证

天翼云开发者社区

天翼云成为“云优化能力提升计划”首批成员单位!

天翼云开发者社区

多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单

蒋川

Vue Element 组件 表单设计 Ant Design

Apache ShenYu 网关正式支持 Dubbo3 服务代理

阿里巴巴中间件

阿里云 开源 微服务 云原生 dubbo

Markdown语法简介

工程师日月

markdown语法 5月月更

创业、女性、数字化:后COVID-19世界的复苏“铁三角”

脑极体

linux之tar使用技巧

入门小站

Linux

10分钟,将微信小程序转换成App

Speedoooo

微信小程序 移动开发 小程序容器 小程序转app

使用 Provider 实现 Flutter 不相关页面状态数据共享

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

【刷题第16天】数组中出现次数超过一半的数字

白日梦

5月月更

企业引流和留存,“App+小程序”是较优技术策略

Speedoooo

微信小程序 APP开发 小程序容器 小程序转app

Netflix 通过新的配置功能增强了 Metaflow_云计算_InfoQ精选文章