跳至主要内容

使用免费托管的MLflow简化您的MLflow项目

· 6 min read
Abe Omorogbe
Product Manager, ML at Databricks

如果你是MLflow的新手,并希望开始使用完全托管且完全免费的MLflow部署,这篇博客将向你展示如何在几分钟内开始使用MLflow。

简化您的机器学习项目:免费开始使用托管MLflow

通过Databricks Community Edition (CE)探索大数据和机器学习的世界,这是一个免费、有限1版本的Databricks平台。 该版本非常适合初学者和刚接触Databricks及MLflow的用户,通过提供托管环境简化了学习曲线。它消除了手动设置跟踪服务器的复杂性。Databricks CE包含托管的MLflow,能够高效管理和可视化您的MLflow实验。这使其成为在用户友好界面中开发机器学习项目的理想选择,允许您从最喜欢的IDE、笔记本环境甚至Databricks CE的笔记本内部进行连接。

使用 Databricks CE 进行 MLflow 的优势

MLflow 是一个与任何平台兼容的开源框架,但在 Databricks(包括社区版,CE)上使用时相比其他平台具有显著优势。这些优势包括:

  1. 成本效益高: 完全免费,Databricks CE上的MLflow非常适合教育用途和小规模项目。

  2. 简单设置: 从任何位置访问完全托管的跟踪服务器和用户界面。要连接到Databricks CE,只需执行mlflow.login()

  3. 便捷共享: 在 Databricks 生态系统中,共享您的笔记本既简单又无忧。

  4. 无缝集成: Databricks CE 允许直接存储和可视化 MLflow 实验、运行和模型。

  5. 可扩展性: MLflow on Databricks CE 为您的项目提供了便捷的扩展路径。它还能与 Databricks 平台上提供的各种数据工具无缝集成。

场景

在这篇博客中,我们将引导您在本地设备上运行ML实验,并在托管于Databricks CE上的MLflow跟踪服务器上进行跟踪

为了让您了解运行 MLflow 的可用选项,下图展示了常见设置配置的可能性。

Remote Tracking Server

对于这篇博客,我们展示的是#3,使用远程(完全托管)的跟踪服务器。

分步指南

1. 创建 Databricks CE 账户

如果您还没有,可以注册一个免费账户。这个过程很快,通常不超过3分钟。

填写注册表单并选择“开始使用社区版”。

Databricks CE Signup Page

注册后,您将获得有关如何设置密码的信息,以便登录到 CE2

2. Installing Dependencies

在开始之前,请确保已安装必要的软件包。在您设备上偏好的IDE或笔记本中运行以下命令:

%pip install -q mlflow databricks-sdk

3. 设置Databricks CE认证

Databricks Community Edition (CE) 的主要优势在于其便利性:它提供了一个 MLflow 跟踪服务器,无需进行 本地基础设施设置。创建 CE 账户后,您可以通过 mlflow.login() 函数轻松访问此服务器,从而简化 MLflow 实验跟踪的过程。

要使用 Databricks CE 进行身份验证,请使用 mlflow.login() 函数。这将提示您输入:

  • Databricks 主机: https://community.cloud.databricks.com/

  • 用户名: 您的 Databricks CE 邮箱地址。

  • 密码: 您的 Databricks CE 密码。

认证成功后,您将看到一条确认消息。

import mlflow

mlflow.login()

# Follow the prompts for authentication

4. 连接到托管MLflow并使用Databricks CE追踪实验

从本地机器登录后,使用mlflow.set_experiment()启动一个实验并记录一些指标。例如:

mlflow.set_experiment("/Users/\<email>/check-databricks-ce-connection")

with mlflow.start_run():

    mlflow.log_metric("foo", 1)

    mlflow.log_metric("bar", 2)

注意: Databricks 环境要求您使用目录(从根目录开始)设置实验

/Users/{your email address for your account}/{name of your experiment}, 这与自托管MLflow(以及在本地运行MLflow时)的行为不同。

5. 在Databricks CE中查看您的实验

现在让我们导航到 Databricks CE 查看实验结果。登录您的 Databricks CE 账户,点击左上角在下拉列表中选择机器学习。最后,点击实验图标。请参考以下截图:

导航至机器学习部分

Navigate to ML Section of Databricks CE

导航至 MLflow UI

Navigate to the MLflow UI on Databricks CE

在“实验”视图中,你应该能找到名为 /Users/{your email}/check-databricks-ce-connection 的实验,类似于:

Experiment view of Databricks MLflow server

点击运行名称,在此示例中为 'youthful-lamb-287'(请注意,在您的 CE 控制台中会看到一个不同的随机生成名称), 将带您进入运行视图,该视图类似于以下内容:

Run view of Databricks MLflow server

在运行视图中,您将看到我们的虚拟指标 “foo”“bar” 已成功记录。

6. 在Databricks CE中运行任何MLflow教程

如果你想尝试MLflow网站上的教程,可以使用Databricks CE快速测试(如果你有兴趣,还可以修改)该教程。例如,如果你想测试 Creating Custom Pyfunc tutorial

  1. 点击工作区并选择“导入笔记本”

Import a Notebook

  1. 使用URL选项直接从MLflow文档网站导入笔记本。对于此示例,要导入,请将URL的最后一个元素从html替换为ipynb。这可以应用于托管在MLflow网站上的任何教程或指南笔记本。

    .../notebooks/basic-pyfunc.html → .../notebooks/basic-pyfunc.ipynb3

Select the Notebook for Importing

结论

Databricks Community Edition (CE) 提供了一个便捷且协作的MLflow实验跟踪平台,具有多项优势。其设置过程轻松快捷,提供用户友好的体验。此外,它是免费使用的,使其成为初学者、学习者和小型项目的理想选择。

入门指南

Databricks上试用笔记本

延伸阅读

脚注

  1. 模型注册表和模型部署功能在 Databricks Community Edition 中不可用。

  2. Databricks CE 仅支持基础授权登录(用户名/密码)。对于更高级和安全的授权设置,只有完整的 Databricks 产品才支持这些功能。

  3. 或者你可以下载笔记本并通过在UI中选择File而不是URL来手动加载它。