首页>动态 >内容

Databricks开源机器学习平台MLflow以标準格式打破工具平台的界线

动态2021-02-28 20:04:32
最佳答案

由Apache Spark技术团队所创立的Databricks释出开源机器学习平台MLflow,不只对社群开放原始码,进一步使用开放介面,要支援既有的机器学习函式库、演算法以及工具,同时Databricks也提供MLflow的託管服务,不过,MLflow仍在早期的测试阶段,想尝鲜的开发者可以在GitHub上取得专案程式码。

MLflow包含三大部分,追蹤(Tracking)、专案(Projects)以及模型(Models)。MLflow追蹤是用于日誌参数、程式码版本、指标以及输出档案的API和使用者介面,使用者以脚本或是笔记本档案纪录日誌结果,可以选择储存在本地端或是伺服器上,之后可以使用网页介面读取来比较不同的执行结果。

而MLflow专案提供可重複使用的科学程式码标準格式,每个专案都单独为一个目录或是Git程式码储存库,并由YAML档案来定义MLproject。MLflow专案可以在套件管理器Conda环境中建立相依性,而MLflow会自动设定适合的环境执行专案,而且当专案有使用MLflow追蹤API,MLflow还会记录专案的版本以及相关参数,开发者可以随时重新执行完全相同的程式码。MLflow专案提供了良好的重现性、可扩展性以及实验性,让企业或是开源社群都可以更容易地共享资料科学应用。

MLflow的第三部分模型,MLflow的机器模型包称为MLmodel,其中可以包含任意档案以及一个MLmodel描述文件。MLflow提供输出工具,可以把常用的模型格式部署到不同平台上,官方提到,开发者可以将支援Python_function的模型部署到基于Docker的REST伺服器,也可以选择部署到各种云端平台,像是Azure ML或AWS SageMaker,或是在Apache Spark提供的批次或是串流推测中,作为用户自订义功能。

Databricks不只开源MLflow的程式码,也选择使用开放介面,官方表示,MLflow是设计来搭配任何的机器学习函式库、演算法、开发语言以及工具,以REST API以及提供简单资料格式做为设计理念,开发者可以把MLflow的模型看做是一个Lambda函式,能被不同的工具使用,因此Databricks提到,MLflow好处就是可以立刻增加到既存的机器学习程式码中,开发者马上就能执行使用。

之所以会有MLflow这个专案,官方提到,现在市面上的机器学习工具千百种,但是除了不容易追蹤机器学习的实验外,还很难重现相同的结果,而且也缺乏搬迁模型的标準,因此机器学习的应用常会被工具以及环境绑住,开发者害怕移植后会有不可预期的问题,而开源机器学习平台MLflow的出现,便是要试图解决这些问题。

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