Netflix开源Metaflow Python库
2019年12月06日 由 KING 发表
622308
0
Netflix的数据科学团队已将其Metaflow Python库开源,该库是“以人为中心”的机器学习基础架构的关键部分,用于构建和部署数据科学工作流。
这家视频流媒体巨头在其业务的各个方面都使用了机器学习,从剧本分析到优化制作时间表、预测客户流失、定价、翻译以及优化其庞大的内容分发网络等等。 根据Netflix软件工程师的说法,Metaflow的建立是为了帮助提高数据科学家的生产率,这些科学家喜欢通过Python代码表达业务逻辑,但又不想花太多时间思考诸如对象层次结构、打包问题,或处理与工作无关的晦涩的API。
Metaflow背后的想法是使Netflix数据科学家能够及早查看原模型是否会在生产中失败,从而使他们能够解决所有问题并理想地加快部署时间。Netflix在2月份透露,Metaflow已将部署时间从四个月缩短到了仅仅7天。
Netflix提供了其Python库的简要描述:“ Metaflow可帮助您设计工作流程,大规模运行它并将其部署到生产中。它会自动对所有实验和数据进行版本控制和跟踪。它允许您以便在笔记本中轻松检查结果。”
它也可以与流行的Python数据科学库一起使用,包括PyTorch,Tensorflow和SciKit Learn。 众所周知,Netflix是亚马逊云服务(AWS)的最大用户之一,因此Metaflow与众多AWS服务集成在一起就不足为奇了,其中包括对Amazon S3中所有代码和数据进行快照的功能,Netflix将其用作它的数据库。此功能应帮助用户使用AWS的存储,计算和机器学习服务快速扩展模型。
在S3中对代码进行快照的功能使Metaflow能够实现自动版本控制和实验跟踪,因此开发人员可以安全地检查和恢复Metaflow的执行情况。 Metaflow还捆绑了一个高性能S3客户端,它可以加载高达10Gbps的数据。客户可以让任何组织的数据科学家实现Netflix数据科学家在过去几年中所做的事情。Netflix在四月份透露,它使用Metaflow来“突破Python的局限性”,从而使其能够使用并行和优化的Python代码来以10Gbps的速度获取数据,处理内存中的数亿个数据点,并协调数以万计的计算CPU核数。
Netflix软件工程师今天说:“该客户在我们的用户中受到了广泛欢迎,他们现在可以将数据加载到他们的工作流中,速度比以前快了一个数量级,从而实现了更快的迭代周期。”
Metaflow还与基于AWS容器的计算平台Batch集成。 Netflix 认为,AWS上的Metaflow可以让开发人员提高在笔记本电脑上进行开发的速度,同时可以在云中使用更深的计算资源。 Metaflow使得不必在每种状态下都对代码或库进行更改,从而使在本地和远程执行模式之间轻松地来回移动,这反过来又使故障排除更加容易。