Netflix 内部 Python 框架 Metaflow 正式开源,可加速机器学习模型部署

近日,美国视频流媒体平台及视频出版制作公司 Netflix 网飞的数据科学团队宣布正式开源其 Python 库 Metaflow,以帮助更多数据科学家与工程师构建、管理相关的数据科学项目。

Metaflow 是网飞开发的「人性化」数据科学框架,同时也是其机器学习基础架构的重要组成部分,它提供了统一的架构栈接口,还与当前主流的 Python 数据科学框架如 PyTorch、Tensorflow、SciKit Learn 互相兼容,可用于加速数据科学工作流的构建及部署。数据科学家们可以通过 Metaflow 来提升从经典统计学到深度学习等各种数据科学相关项目的开发效率。

Netflix 内部 Python 框架 Metaflow 正式开源,可加速机器学习模型部署

网飞作为全球规模最大的在线视频网站,已在其各个方面的业务中使用了机器学习技术,比如影视剧剧本分析、视频制作排期优化、流失预测、定价、翻译、大规模分发网络优化等等。在过去的两年时间中,Metaflow 已在 Netflix 内部应用于上百个涉及自然语言处理、运筹学等相关项目的构建与管理。

据网飞的软件开发工程师透露,Metaflow 最初的开发目的,是为了帮助那些想要通过 Python 代码来表达业务逻辑,但又不愿意在软件工程方面的事情上耗费太多时间的数据科学家们提升工作效率。这些软件工程方面的麻烦事包括思考对象层次结构以及封装问题,或是处理难以理解的、与项目本身无关的接口等等。

网飞的数据科学家们能通过 Metaflow 快速确定原始模型是否会在生产环境中运算失败,以便提前修改错误缩短部署时间。Metaflow 已经可以将项目部署时间的中位数从 4 个月缩短至 7 天。

Netflix 内部 Python 框架 Metaflow 正式开源,可加速机器学习模型部署

此外,Metaflow 是一个云原生框架,可充分利用云服务在存储与计算上的灵活性。而亚马逊云服务 AWS 也为 Metaflow 提供了基础设施支持以及其他的内置集成的存储与机器学习服务,支持在 Amazon S3 中对 Metaflow 的所有数据与代码进行快照,并将其当做数据湖来使用。Metaflow 还捆绑了一个高性能 Amazon S3 客户端,能够以 10Gbps 的速度加载数据。

对于开发者来说,借助更多来自 AWS 的计算资源,Metaflow 可显著提高使用笔记本电脑进行开发的速度。Metaflow 不会在每种状态下都对代码或库进行修改,从而更轻松地在本地与远程执行模式之间进行变换,更容易排除错误。

目前,Metaflow 的最新版本 2.0 已在 GitHub 上线,并获得了超过 1900 个 Star,以及 121 次 Fork。


GitHub 相关项目地址:

Python 数据科学框架 ── Metaflow

Netflix 内部 Python 框架 Metaflow 正式开源,可加速机器学习模型部署