跳到主要内容

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

·阅读时长 6 分钟
Abe Omorogbe
Databricks 机器学习产品经理

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

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

通过 Databricks Community Edition (CE) 探索大数据和机器学习的世界,它是 Databricks 平台的免费、受限1 版本。对于 Databricks 和 MLflow 的初学者和新手来说,此版本通过提供托管环境来简化学习曲线。它消除了手动设置跟踪服务器的复杂性。Databricks CE 包括托管式 MLflow,可实现 MLflow 实验的高效管理和可视化。这使其成为在用户友好的界面中开发机器学习项目的首选,允许您从您喜欢的 IDE、笔记本环境,甚至从 Databricks CE 的笔记本中连接。

使用 Databricks CE for MLflow 的好处

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

  1. 成本效益高:Databricks CE 上的 MLflow 免费,非常适合教育目的和小型项目。

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

  3. 易于共享:在 Databricks 生态系统中,共享您的笔记本既简单又省心。

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

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

场景

在本博客中,我们将逐步介绍如何在本地设备上运行机器学习实验,并在Databricks CE 上托管的 MLflow 跟踪服务器上跟踪它们

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

Remote Tracking Server

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

分步指南

1. 创建 Databricks CE 帐户

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

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

Databricks CE Signup Page

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

2. 安装依赖项

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

%pip install -q mlflow databricks-sdk

3. 设置 Databricks CE 身份验证

Databricks 社区版 (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/{您的帐户电子邮件地址}/{您的实验名称},这与自托管 MLflow(以及在本地运行 MLflow 时)的行为不同。

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

现在让我们导航到 Databricks CE 来查看实验结果。登录您的 Databricks CE 帐户,然后单击左上角在下拉列表中选择机器学习。最后,单击实验图标。请参见下面的屏幕截图

导航到机器学习部分

Navigate to ML Section of Databricks CE

导航到 MLflow 用户界面

Navigate to the MLflow UI on Databricks CE

在“实验”视图中,您应该能够找到实验 /Users/{您的电子邮件}/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 快速测试(并修改,如果您愿意)教程。例如,如果您想测试创建自定义 Pyfunc 教程

  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 社区版 (CE) 提供了一个可访问的协作平台,用于 MLflow 实验跟踪,具有多种优势。其设置过程轻松快捷,提供用户友好的体验。此外,它是免费的,使其成为初学者、学习者和小型项目的理想选择。

入门

Databricks 上尝试此笔记本

延伸阅读

脚注

  1. Databricks 社区版中不提供模型注册和模型部署功能。

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

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