策划编辑 | Natalie

作者 | Matei Zaharia

译者 | 无明

编辑 | Vincent

**AI 前线导读:**在昨天开幕的 Spark+AI Summit 大会上,Spark 和 Mesos 的核心作者兼 Databrick 首席技术专家 Matei Zaharia 宣布推出开源机器学习平台 MLflow,这是一个能够覆盖机器学习全流程(从数据准备到模型训练到最终部署)的新平台,旨在为数据科学家构建、测试和部署机器学习模型的复杂过程做一些简化工作。Matei 表示,研究工作主要围绕着“如何为开发者提供类似谷歌 TFX、Facebook FBLearner Flow 等平台类似的好处,但是要以开放的方式——不仅在开源的意义上开放,而且是可以使用任何工具和算法的意义上开放"的想法展开。

Matei 为 MLflow 撰写了一篇介绍文章,AI 前线对文章进行了编译。这个全新的机器学习平台到底有何新特性?让我们来一探究竟。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

每个做过机器学习开发的人都知道机器学习的复杂性,除了软件开发中常见的问题之外,机器学习还存在很多新的挑战。作为一家大数据解决方案公司,Databricks 与数百家使用机器学习的公司合作,所以能够清楚地了解他们的痛点,比如工具太过复杂、难以跟踪实验、难以重现结果、难以部署模型。由于这些挑战的存在,机器学习开发必须变得与传统软件开发一样强大、可预测和普及。为此,很多企业已经开始构建内部机器学习平台来管理机器学习生命周期。例如,Facebook、谷歌和优步分别构建了 FBLearner Flow、TFX 和 Michelangelo 来进行数据准备、模型训练和部署。但这些内部平台存在一定的局限性:典型的机器学习平台只支持一小部分内置算法或单个机器学习库,并且被绑定在公司内部的基础设施上。用户无法轻易地使用新的机器学习库,或与社区分享他们的工作成果。

Databricks 认为应该使用一种更好的方式来管理机器学习生命周期,于是他们推出了 MLflow,一个开源的机器学习平台。

MLflow:开放式机器学习平台

MLflow 的灵感来源于现有的机器学习平台,但以开放性作为主要设计目标:

  1. 开放接口:MLflow 可与任何机器学习库、算法、部署工具或编程语言一起使用。它基于 REST API 和简单的数据格式(例如,可将模型视为 lambda 函数)而构建,可以使用各种工具,而不只是提供一小部分内置功能。用户可以很容易地将 MLflow 添加到现有的机器学习代码中,并在组织中共享代码,让其他人也能运行这些代码。

  2. 开源:MLflow 是一个开源项目,用户和机器学习库开发人员可以对其进行扩展。此外,利用 MLflow 的开放格式,可以轻松地跨组织共享工作流步骤和模型。

Mlflow 目前仍处于 alpha 阶段,但它已经提供了一个可用的框架来处理机器学习代码。接下来将详细介绍 MLflow 和它的组件。

MLflow 的组件(alpha 版)

MLflow 的 alpha 版本包含了三个组件:

MLflow 的跟踪组件支持记录和查询实验数据,如评估度量指标和参数。MLflow 的项目组件提供了可重复运行的简单包装格式。最后,MLflow 的模型组件提供了用于管理和部署模型的工具。

MLflow 的跟踪组件

MLflow 的跟踪组件提供了一组 API 和用户界面,用于在运行机器学习代码时记录参数、代码版本、度量指标和输出文件,以便在后续进行可视化。通过几行简单的代码就可以跟踪参数、度量指标和文件:

![](https://img.6aiq.