首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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集成的更多详细信息,可以查看此页面

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/QERrMjMkdlRf1cjkt3lW
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券