首页>行情 >内容

Netflix开源内部Python资料科学开发框架Metaflow

行情2021-02-18 14:10:37
最佳答案

Netflix释出内部专为资料科学家设计,以人为本的资料科学应用开发框架Metaflow,除了可让使用者灵活地进行模型开发之外,也与AWS服务良好整合,可快速存取在S3上的资料,而资料科学家除了可自行开发演算法之外,也能结合使用AWS上的机器学习服务。

Metaflow框架已经在Netflix内部应用两年,被拿来开发了数百个资料科学专案,案例包括应用于自然语言处理以及操作搜寻等。

Metaflow来自机器学习基础设施团队,对内部资料科学家进行调查的结果。他们发现过去所提供的工具,已经足够让资料科学家创建出各种应用,但比起底层的架构,资料科学家更在意建模方法的自由度,包括模型的运作、特徵工程以及模型的开发,在许多情况下,资料科学家希望可以在生产中操作模型,以快速地进行除错或是迭代。

机器学习基础设施团队归纳资料科学家的需求,开发语言Python是他们的基本配备,是资料科学的通用语言,而且他们也希望以Python来表达逻辑想法,像在Jupyter Notebook编写程式码的方式,另外,资料科学家也不在意物件的阶层、封装问题,或是与目标无关的API工作。

为此,机器学习基础设施团队开发了Metaflow,并将Metaflow设计成简单的Python函式库,资料科学家可以将工作流程表达为有向无环图(Directed Acyclic Graph,DAG)。(下图)机器学习开发流程的範例,该流程会训练两个版本的模型,并选用得分最高者。

Netflix提到,Metaflow充满以人为本的细节,虽然Apache Airflow或Luigi等工具,也可以执行由任意Python程式码所构成的DAG,但是在Metaflow中,资料和模型是以普通的Python实例变数储存,而且即便是在分散式运算平台上执行也没问题。另外,在其他框架,将物件载入以及储存交由使用者控制,也就是说,使用者需要决定保留与捨弃的内容,Metaflow则消除了这些决定的负担。

而Metaflow本身就为云端设计,能够弹性的使用云端运算以及储存资源,由于Netflix长期为AWS的大用户,因此Metaflow与AWS服务良好整合,包括可为Amazon S3中的所有程式码和资料自动产生快照,提供版本控制和实验追蹤的解决方案。

Metaflow还綑绑了一个高效能S3客户端,可快速地将资料载入到资料科学工作流中,快速进行开发迭代。而且除了资料科学家自己编写的功能之外,也可以使用AWS机器学习服务Sagemaker,以取用各种模型的高效能实作,或是应用分散式训练。

Metaflow良好地支援本地端开发,让资料科学家像是撰写Python脚本一样,快速地在本地端电脑开发并进行测试。Netflix提到,通常最终资料科学工作流程开发结果,最终会写入到表格中,由其他仪表板取用,部分时候将最终模型部署成微服务,以进行即时的预测,甚至也会把该资料科学工作流程链结其他流程,成为大流程的一部分,而Metaflow可支援各式的生产部署。

免责声明:本文由用户上传,如有侵权请联系删除!