Netflix Metaflow框架与其他Python框架有何不同

2720
元流

Python是当今世界上增长最快的编程语言之一。全球已有800万开发人员正在使用它。

很难说当Guido Van Rossum在1990年代首次奠定Python的基础时,他会想象人们会喜欢这种编程语言的程度。

但是事实是,来自世界各地的组织都喜欢在其业务流程中实现Python。例如,在数据科学行业中,Python的使用不同于其他编程语言。

谁使用Python?

技术和云技术巨头并没有回避为他们的组织使用Python。 Dropbox是一种非常惊人且独一无二的举动,’能够记录400万行Python代码。同样,Facebook正在使用Python作为其容器开发系统Tupperware的配置语言。

最近越来越多的组织将其代码转换为Python,这有很多原因。 Python是一种单一语言,但有很多用途。

无论您要将它用作脚本语言,用于机器学习开发还是用于数据科学项目,Python的各种用途和目的都充满惊喜。它易于学习和开始实施,因此吸引了初学者和专业开发人员的注意。

Python也是可扩展的。它由丰富的库组成,这些库减轻了从头开始编写代码的负担。这些以及许多其他原因,促成了Python在整个数据科学行业中的广泛使用。

元流的起源

netflix python元流

基于云的视频流媒体巨头Netflix是一个在几乎所有工作中都使用Python的组织。该组织是一个经典示例,说明了如何将Python充分利用其潜力,将其用于关键业务流程以及现实世界中的数据科学项目。

Netflix混合使用了现有的图书馆和 内部Python开发框架。不仅如此,Netflix还拥有自己的数据科学Python框架Metaflow。自几年前问世以来,这是Python首次将其转变为开源框架。

但是,Metaflow的奠基石尚未铺好,因为Netflix希望改变当今数据科学家的工作方式。大约两年前,Netflix的整个机器学习团队都聚集在一起,以了解数据科学家在执行任务时面临的最严峻挑战。

该问题的预期答案应该围绕大规模的数据模型和GPU。相反,实际事实令人惊讶。

数据科学家面临许多挑战,涉及项目及其初始版本,这需要花费大量时间才能完成。

发现数据科学家对现成的机器学习库更加兴奋。但是,由于生产工作流程中的依赖关系会导致这些问题,因此无法完全利用它们。结果,数据科学家的整个任务变成了一件麻烦事。

结果是:几乎可以使用世界上现有的数据科学库执行所有操作。

唯一的问题是,没有那么容易的事情。由于这个原因,Netflix开始着手开发Metaflow。他们这样做是为了使数据科学中的常见操作变得像馅饼一样容易。整个重点是通过增加数据科学家的生产率来集中精力。结果,在以人为中心的狂热者心中进行元流。

Metaflow如何改善数据科学家的工作

netflix元流

模型只是完整的端到端项目的微型部分。换句话说,生产级项目严重依赖大量基础架构。即使对于最小的项目,企业也需要数据以及在其上执行计算的方法。

当涉及到Netflix的典型数据科学项目时,科学家几乎触及到了业务堆栈的每一层。

Netflix的数据科学家基本上喜欢能够为他们的项目选择最合适的建模方法的自由。即使他们了解要素工程对于多个模型至关重要,但他们也不希望受到这一事实的限制。

换句话说,在现代世界中,数据科学家希望通过Python代码来表达其业务逻辑,但又不想花费太多时间来思考其背后的工程问题。这些问题包括诸如对象层次结构,打包问题以及处理与其工作关系不密切的可疑API之类的因素。

大多数数据科学家对Python代码一无所知。他们只是希望基础组件在不显示清晰易懂的消息时能够正常工作。为了解决所有这些问题,Metaflow提供了一种统一的方法来浏览堆栈。

它允许数据科学家使用惯用的Python代码编写模型和业务逻辑,并在可行的情况下利用现有基础架构。它以人为中心的API作为核心命题,方便地集成到全栈中。

即使Metaflow可能与在R或其他Python框架中可以轻松实现的感觉没有太大不同,但它的主要功能还是在于将现有工作流程快速地放入云中。 Metaflow会自动在内容寻址的数据存储中对代码以及数据和依赖项进行快照。这通常由S3或本地文件系统支持。因此,它可以帮助科学家恢复工作流程,以及再现过去的结果并检查笔记本中有关工作流程的几乎所有内容。

结论

即使Metaflow目前仅支持Amazon Web服务,但很快也可以支持其他服务。在开发Metaflow方面已经做了很多工程。这就是为什么开源可以帮助许多组织完成其数据科学项目并减轻其数据科学家的生活的原因。最终,它使数据能够解决最棘手的业务问题。

也可以看看: 5个很棒的工具可以帮助您的新手怪胎与您的开源项目

喜欢这篇文章?订阅我们的提要!

作者: 神盾

神盾是与Aegis Softtech-a合作的资深作家 澳大利亚领先的Microsoft CRM解决方案 。您可以联系他以获得数字营销服务,以利用功能强大的移动和Web开发解决方案。他在数字营销领域拥有多年的技术博客作者经验。

分享