9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

Netflix 开源内部 Python 工具 Metaflow:机器学习项目部署时间从四个月缩短至 7 天

  • 2019-12-05
  • 本文字数:1308 字

    阅读完需:约 4 分钟

Netflix开源内部Python工具Metaflow:机器学习项目部署时间从四个月缩短至7天

2019 年 12 月 4 日,Netflix数据科学团队宣布其内部使用多年的 Python 库 Metaflow 正式开源。Metaflow 是 Netflix 机器学习基础架构的关键部件,主要用于加速数据科学工作流的构建和部署,Netflix 希望通过开源 Metaflow 简化机器学习项目从原型阶段到生产阶段的过程,进而提高数据科学家的工作效率。



Netflix(官方中文名称:网飞)是全球最大的视频流媒体平台,在除中国大陆以外的所有国家和地区都提供视频点播服务。这家视频流媒体巨头在其业务的各个方面都使用了机器学习,从剧本分析到优化制作时间表、预测客户流失、视频定价、视频字幕翻译以及优化其庞大的内容分发网络,而其中有许多机器学习应用都由 Metaflow 提供支持。它是一个基于 Python 编写的框架,可以使机器学习项目从原型阶段到生产阶段变得更加容易。在过去两年中,Metaflow 已在 Netflix 内部用于构建和管理从自然语言处理到运营研究的数百个数据科学项目。



据Netflix内部调研发现,数据科学家喜欢使用 Python 代码来实现业务逻辑,但不想花费太多时间思考诸如对象层次结构、封装等问题,或处理各类晦涩的 API。


因此,Metaflow 想做的就是让 Netflix 数据科学家能够尽早查看原型模型是否会在生产环境中失败,让他们可以提前解决问题,并加快部署速度。Netflix 在 2 月份的一场演讲中透露,Metaflow 已经将 Netflix 机器学习项目的部署时间中位数从四个月缩短到了仅仅 7 天。



Metaflow 为机器学习项目整个流程提供了统一的 API,数据科学家可以使用 Metaflow 设计自己的工作流程,大规模运行并将其部署到生产环境。它会自动对所有实验和数据进行版本控制和跟踪,同时,Metaflow 的 UI 能够与 Jupyter notebooks 无缝集成。与其他 Python 工具类似,数据科学家可以在笔记本电脑上快速开发和测试代码,如果工作流支持并行,Metaflow 会自动利用开发 PC 上所有可用的 CPU 内核。


Metaflow 也可以与当前主流的 Python 数据科学库一起使用,包括 PyTorch、Tensorflow 和 SciKit Learn。


想了解 Metaflow 所有功能的详细介绍,可以查阅官方文档

支持 AWS 服务无缝集成

多年来 Netflix 一直是Amazon Web Services(AWS)的最大用户之一,因此,Metaflow 支持与众多 AWS 服务无缝集成也就不足为奇了。Netflix 软件工程师表示,Metaflow 是一个云原生框架,能够充分利用云在存储和计算上的弹性。


Metaflow 支持对 Amazon S3 中所有代码和数据的自动快照功能,可以帮助用户使用 AWS 的存储、计算和机器学习服务快速扩展模型,同时,这也使 Metaflow 能够实现自动版本控制和实验跟踪,无需任何人为干预,开发人员可以非常方便地检查和恢复 Metaflow 的执行情况,这是所有生产级机器学习基础架构的核心。


此外,Metaflow 还绑定了一个高性能的 S3 客户端,它可以加载高达 10Gbps 的数据,加快用户的模型迭代周期。



针对通用数据处理,Metaflow 与基于 AWS 容器的计算平台 Batch 集成。开发者只需要在代码中添加一行:@batch,就可以利用无限扩展的计算集群。对于机器学习模型的训练,除了编写自己的功能,用户还可以选择使用 AWS Sagemaker,它提供了各种模型的高性能实现,其中许多支持分布式训练。


关于 Metaflow 与 AWS 集成的更多详细信息,可以查看此页面


2019-12-05 17:393298
用户头像
蔡芳芳 InfoQ 总编辑

发布了 818 篇内容, 共 606.2 次阅读, 收获喜欢 2821 次。

关注

评论

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

给弟弟的信第12封|阅读对一个人有多重要

大菠萝

28天写作

react源码解析9.diff算法

buchila11

React

音视频学习--X264码率控制--前瞻

Fenngton

音视频 H264 视频编解码 签约计划第二季

推倒重来的觉悟

FunTester

单元测试 Mockito powermock spock FunTester

使用 JavaScript 给微信用户发送消息

汪子熙

微信 sdk 28天写作 Web JS SDK 12月日更

JavaMoney规范(JSR 354)与对应实现解读

vivo互联网技术

Java、 API 虚拟化 虚拟货币

软件开发中的字符编码问题的思考

行者孙

c++ 软件开发 签约计划第二季 字符编码

react源码解析10.commit阶段

buchila11

React

Java反射机制获取运行时类的完整结构

编程江湖

JAVA开发

Linux学习方法《Linux一学就会》:网络管理技术

侠盗安全

Linux linux运维 运维工程师 云计算架构师

阿里巴巴、埃森哲、德勤三方圆桌对话——《与数字化先锋共绘创新蓝图》

大咖说

阿里巴巴 大咖说 数字经济 数智化

Android 值得学【Android专题2】

坚果

28天写作 Android; 12月日更

设计模式【6.1】-- 初探适配器模式

秦怀杂货店

Java 设计模式

0 基础学习 Flutter~(mini 进阶版)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter 内容合集 签约计划第二季

dart系列之:安全看我,dart中的安全特性null safety

程序那些事

flutter dart 程序那些事 12月日更 flutter 调试工具

聊聊前端工程师如果做职业规划

全栈潇晨

职业规划 前端开发

今年双12,《代码随想录》冲榜TOP1

博文视点Broadview

设计模式【6.2】-- 再聊聊适配器模式

秦怀杂货店

Java 设计模式 适配器模式

大数据开发技术NN和2NN工作机制

编程江湖

大数据

Vue之全局事件总线和消息订阅与发布

编程江湖

前端开发

C++如何写出异常安全的代码

行者孙

c++ 异常 错误处理 签约计划第二季

面试官:说说react的渲染过程

全栈潇晨

React

❤️使用 HTML、CSS 和 JS 创建在线音乐播放器(免费送完整源码)❤️

海拥(haiyong.site)

响应式 大前端 28天写作 签约计划第二季 12月日更

龙蜥社区一周动态 | 12.06-12.10

OpenAnolis小助手

龙蜥社区

在中国如何打造一个有生命力的开源项目?

Jianmu

DevOps 持续集成 CI/CD 开源社区 持续部署

C++中的pimpl惯用法

行者孙

c++ 签约计划第二季 pimpl 惯用法

React进阶(四):路由介绍

No Silver Bullet

React 路由 12月日更

【LeetCode】保持城市天际线Java题解

Albert

算法 LeetCode 12月日更

初识腾讯移动通讯 TPNS~

阿策小和尚

28天写作 Android 小菜鸟 12月日更

技术分享| Linux高并发踩过的坑及性能优化

anyRTC开发者

Linux 音视频 高并发 服务器 高并发优化

OPPO云VPC网络实践

安第斯智能云

云计算 SDN架构 智能网卡vpc

Netflix开源内部Python工具Metaflow:机器学习项目部署时间从四个月缩短至7天_AI&大模型_蔡芳芳_InfoQ精选文章