写点什么

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:009368

评论

发布
暂无评论

将提交记录生成二维码,扫码即可查看填写内容

草料二维码

二维码 草料二维码

就是这么简单,Selenium StaleElementReferenceException 异常分析与解决

霍格沃兹测试开发学社

在 ASP.NET Core 引入 Autofac 增强容器

雄鹿 @

ASP.NET Core

C++ 用户输入与数据类型详解:建立基本计算器及变量类型

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

优秀电源工程师需要的必备技能

芯动大师

工程师 电源 优秀

有一个可以写到简历的项目,嘎嘎强!

冰河

分布式 微服务 高并发 聊天 IM即时通讯

Python 和 Go 的基础了解

Liam

Python Go 编程 程序员 后端

一口气搞懂分库分表 12 种分片算法,大厂都在用

程序员小富

Java 分库分表 spring-boot

事业-最佳实践-编码-继承组合选择

南山

最佳实践 组合模式 设计原则 组合 继承

时序数据库IoTDB:功能详解与行业应用

Apache IoTDB

YYDS,只用几条命令轻松搭建自己的项目管理平台jira

霍格沃兹测试开发学社

Python中的datetime模块:轻松拿捏时间操作

霍格沃兹测试开发学社

StarRocks 助力小红书离线数仓提效,提升百倍回刷性能!

StarRocks

数据库 大数据 数仓 湖仓一体

机器学习:智能时代的核心引擎

不在线第一只蜗牛

人工智能 机器学习

ETL中RESTful API 组件的用法

RestCloud

ETL 数据集成 RESTful API

[自研开源] 数据集成之分批传输 v0.7

LIEN

开源 数据集成 业务融合 API对接 mydata

数据要素×工业制造:光纤通信企业携手奇点云,攻克“国产替代”迁移难关

奇点云

奇点云 数据要素 工业制造 光纤通信

火山引擎边缘云出席2024亚太内容分发大会,助推游戏体验全面升级

火山引擎边缘云

CDN 游戏 CDN加速 CDN带宽

ASP.NET Core 依赖注入(Ioc)

雄鹿 @

ASP.NET Core

使用 Amazon Bedrock + Claude 3 打造个性化智能编程助手

亚马逊云科技 (Amazon Web Services)

人工智能

分享10个学习计划模板,让你的个人发展更上一层楼!

彭宏豪95

效率工具 在线白板 模板 办公软件 学习计划

数字化先行者,HAP大使招募中

明道云

云主机有什么用?看看它的多功能用途

一只扑棱蛾子

云主机

lilishop开源版本window一键启动

小黄鱼

Spring Boot 开源商城 bat启动 lilishop

Selenium报错元素不可交互,该如何解决?

霍格沃兹测试开发学社

《出海和跨境:明道云HAP支撑全球化业务的能力白皮书》正式发布

明道云

单体分层应用架构剖析

疯狂架构

架构 分层架构 单体应用架构

在 ASP.NET Core 引入 Scrutor 增强依赖注入

雄鹿 @

ASP.NET Core

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