写点什么

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:393078
用户头像
蔡芳芳 InfoQ主编

发布了 801 篇内容, 共 558.1 次阅读, 收获喜欢 2791 次。

关注

评论

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

APP搜索如何又快又准?

华为云开发者联盟

elasticsearch App 搜索 云搜索 词库

初识Golang之声明变量

Kylin

读书笔记 3月日更 21天挑战 Java转go Go 语言

我帮大厂做架构之——微信的“N个朋友读过”怎么实现

臧萌

成长 架构师 职场成长

白话解读 WebRTC 音频 NetEQ 及优化实践

阿里云CloudImagine

阿里云 音视频 WebRTC 音频技术 视频云

带你全面认识CMMI V2.0(二)

IPD产品研发管理

项目管理 CMMI

前端开发:Mac环境的Chrome浏览器设置跨域请求的SameSite解决方法

三掌柜

vue.js 大前端 3月日更

OpenCV萌新福音:易上手的数字识别实践案例

华为云开发者联盟

OpenCV 图像处理 数字 图像预处理 信用卡

办公自动化:Day01

缭乱地男神

办公自动化 IT蜗壳教学

燃烧吧!开发者们,一起在云端构建开放成熟的 ARM 生态!

亚马逊云科技 (Amazon Web Services)

史上超强拷贝仓——GitHub 热点速览 v.21.11

HelloGitHub

GitHub 开源

Java面试“圣经”,已助朋友拿到7个Offer!2021年金三银四面试知识点合集

Java架构追梦

Java 阿里巴巴 面试 架构师

Rancher 2.5.6发布,支持Kubernetes 1.20

Rancher

看了 GitHub 上的这些面试题项目后,我飘了!

JackTian

GitHub 开源 面试

网易 Duilib:功能全面的开源桌面 UI 开发框架

有道技术团队

开源

【LeetCode】螺旋矩阵 II Java 题解

Albert

算法 LeetCode 28天写作 3月日更

哪有简单的满足——自我决定论

Justin

心理学 28天写作 游戏设计

Apache Oozie 深入原理讲解

五分钟学大数据

大数据 28天写作 3月日更 oozie

JVM笔记--如果你写JVM,最需要考虑的重要结构是什么?

秦怀杂货店

Java JVM

你的头发还好吗?大数据分析脱发城市哪里强

不脱发的程序猿

大数据 程序员 程序人生 数据分析 3月日更

第一个mybatis程序,实现CRUD

xiezhr

mybatis 中间件 crud

几个你不知道的dubbo注册中心细节

捉虫大师

zookeeper dubbo 注册中心

存量用户运营企业微信的“用户端小程序”优化方案

vivo互联网技术

小程序 微信 性能优化 大前端 企业微信

掌握了开源框架还不够,你更需要掌握源代码

华为云开发者联盟

开源 Element 源代码 Vue 3

EFT是什么?EGG公链又是什么?一文带你了解

币圈那点事

公链 挖矿 #区块链#

不愧为Java程序员福音 2021阿里巴巴中台架构实战重磅来袭!

比伯

Java 编程 架构 面试 程序人生

Nginx配置静态文件服务从入门到精通

happlyfox

28天写作 3月日更

为什么MySQL不推荐使用子查询和join

Java小咖秀

MySQL MySQL优化

华为在数字化浪潮下的API变革实践

华为云开发者联盟

华为 架构 数字化 API API战略

协助市场监督管理局,打造质量基础设施“一站式”服务平台

源中瑞-龙先生

软件匠艺

Teobler

敏捷 敏捷开发 软件匠艺 伪敏捷

滚雪球学 Python 之内置 random 模块

梦想橡皮擦

28天写作 3月日更

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