来源:互联网 时间:2020-01-03 12:40:04
Netflix的数据科学团队开源了它的MetaflowPython库,这是它用于构建和部署数据科学工作流的“以人为中心”机器学习基础设施的关键部分。
这家视频流媒体巨头将机器学习应用于其业务的各个方面,从剧本分析,到优化生产计划,预测搅动,定价,翻译,以及优化其巨大的内容分发网络。
据Netflix软件工程师称,建立Metaflow是为了帮助提高其数据科学家的生产力,他们喜欢通过Python代码表达业务逻辑,但不想花太多时间思考工程问题,如对象层次结构、打包问题,或处理与他们的工作无关的晦涩API。
Metaflow背后的想法是让Netflix数据科学家能够及早了解原型模型是否会在生产中失败,让他们能够解决任何问题,并在理想情况下加快部署时间。今年2月的Netflix披露,Metaflow帮助将中位部署时间从4个月缩短到仅仅7天。
Netflix在新的metaflow.org网站上提供了Python库的这种简单描述:“metaflow帮助您设计工作流程,按规模运行,并将其部署到生产中。它自动对你的所有实验和数据进行版本和跟踪。它可以让你在笔记本上轻松地检查结果。”
它还可以与流行的Python数据科学库一起使用,包括PyTorch、Tensorflow和SciKitLearning。
众所周知,Netflix是亚马逊网络服务(AWS)的最大用户之一,因此,Metaflow与众多AWS服务集成,包括能够对Amazon S3中的所有代码和数据进行快照,这并不奇怪,Netflix使用的是它的“数据湖”。这种能力应该帮助用户使用AWS的存储、计算和机器学习服务快速扩展模型。
在S3中快照代码的能力是使Metaflow的自动版本控制和实验跟踪能够安全地检查和恢复Metaflow的执行。
Metaflow还与“高性能的S3客户端捆绑在一起,可将数据加载到10Gbps”。
客户端允许任何组织的数据科学家实现Netflix数据科学家在过去几年中所做的工作..Netflix今年4月透露,它使用Metaflow“推动Python的极限”,使其能够使用“并行化和优化的Python代码以10Gbps的速度获取数据,处理内存中数亿个数据点,并在数万个CPU核心上编排计算”。
Netflix软件工程师今天表示:“这个客户端在我们的用户中已经大受欢迎,他们现在可以比以前更快地将数据加载到他们的工作流中,这使得迭代周期更快。”
Metaflow还集成了基于AWS容器的Batch计算平台。
Netflix认为,AWS上的Metaflow允许开发人员获得在笔记本电脑上开发的速度,云中可用更深层次的计算资源。
“Metaflow使在本地执行模式和远程执行模式之间来回移动变得容易”,不需要对每个状态的代码或库进行更改,这反过来又会使故障排除变得容易。
相关推荐
猜你喜欢