跳到主要内容

试用托管式MLflow

Databricks 免费试用提供了一个无需事先拥有云提供商访问权限即可体验 Databricks 平台的绝佳机会。在试用期内,大多数 Databricks 功能,包括完整的 MLflow 功能都可用,您可以使用试用积分探索平台。您只需通过电子邮件创建帐户,除非您决定升级到付费计划并注册您的付款信息,否则不会被收取费用。

开始您的试用

要开始使用 Databricks 免费试用,请访问 Databricks 试用注册页面,并按照其中说明的步骤操作。设置大约需要 5 分钟,之后您将可以访问一个几乎功能齐全的 Databricks Workspace,用于记录您的教程实验、跟踪、模型和工件。

提示

您是否已有 Databricks 试用帐户?如果您想登录并返回 MLflow UI,请点击此处

首次使用

当您首次登录时,您将被定向到 MLflow 跟踪教程,让您有机会尝试 MLflow 提供的最强大的 GenAI 功能之一。

只需点击两个教程中的任意一个,您就可以在几分钟内测试 MLflow 的检测功能。

MLflow Tracing Tutorial

在 Databricks MLflow UI 中学习跟踪

否则,一旦您在后续访问中登录 Databricks Workspace,您将看到一个像这样的登录页面

Databricks Trial Landing Page

Databricks 登录页面

要进入 MLflow UI,您可以点击左侧的“实验”链接(由实验室烧杯图标表示)进行导航。当您第一次在 Databricks 上进入 MLflow UI 时,您会看到

Databricks Trial MLflow UI

Databricks MLflow UI

关于在哪里运行您的 Notebook 的决定

使用 Databricks 托管的 MLflow 实例,您有两种运行教程 Notebook 的选择:直接将 Notebook 导入 Databricks Workspace,或者在本地运行 Notebook 并使用 Databricks Workspace 作为远程跟踪服务器。

直接将 Notebook 导入 Databricks Workspace

进入 Databricks Workspace 主页后,您可以导入本教程中的任何 Notebook。首先,在教程页面中点击“下载此 Notebook”按钮以下载教程 Notebook。然后导航到左侧的“Workspace”选项卡并点击该链接以打开 Workspace 页面。从那里,导航到 Home,您可以右键单击以调出“导入”选项。下图显示了如果您要直接从 MLflow 文档网站导入 Notebook,导入对话框应该是什么样子

Databricks Workspace import Notebook from MLflow docs website

此时,您只需运行教程即可。任何用于创建实验、启动运行、记录元数据和保存工件的 MLflow 调用都将为您完全管理,并且您的日志历史记录将显示在 MLflow UI 中。

注意

在 Databricks 平台上,MLflow 实验是为每个 Notebook 自动创建的,您可以跳过教程中的 mlflow.set_tracking_uri()mlflow.set_experiment() 调用。

在本地运行 Notebook 并使用 Databricks Workspace 作为远程跟踪服务器

为了留在您本地机器的舒适环境中,同时仍然可以使用托管的 MLflow 跟踪服务器,您需要

  • 生成个人访问令牌 (PAT)
  • 在您的开发环境中设置 Databricks 工作区身份验证。
  • 在您的 MLflow 实验会话中连接到您的 Databricks 工作区。

生成 PAT

如果您正在跟踪教程,产品中的两个教程都为您处理了这些步骤。您可以在教程中直接生成远程访问令牌。

否则,请按照本指南中的步骤创建用于远程访问您的 Databricks Workspace 的 PAT。

安装依赖项

在您的开发环境中运行以下命令以安装依赖项。

%pip install -q mlflow

设置到 Databricks Workspace 的身份验证

要设置 Databricks Workspace 身份验证,我们可以使用 API mlflow.login(),它会提示您输入所需信息

  • Databricks 主机:使用 "https://<您的工作区主机>.cloud.databricks.com/"
  • 令牌:您的 Databricks Workspace 的个人访问令牌。

如果身份验证成功,您应该会看到消息“成功登录 Databricks!”。

import mlflow

mlflow.login()
2025/02/19 12:25:04 INFO mlflow.utils.credentials: No valid Databricks credentials found, please enter your credentials...
Databricks Host (should begin with https://): https://<your workspace host>.cloud.databricks.com/
Token: ········
2025/02/19 12:26:24 INFO mlflow.utils.credentials: Successfully connected to MLflow hosted tracking server! Host: https://<your workspace host>.cloud.databricks.com.

将 MLflow 会话连接到 Databricks Workspace

我们已经设置了凭据,现在我们需要告诉 MLflow 将数据发送到 Databricks Workspace。为此,我们将使用 mlflow.set_tracking_uri("databricks") 将 MLflow 移植到 Databricks Workspace。基本上就是下面的命令。请注意,您始终需要使用“databricks”作为关键字。

mlflow.set_tracking_uri("databricks")

现在您可以开始了!让我们尝试启动一个 MLflow 实验并记录一些虚拟指标,并在 UI 中查看它们。

将工件记录到 Unity Catalog(可选)

为了将所有工件集中在一个地方,您可以选择使用 Unity Catalog 的卷功能。首先,您需要按照本指南创建一个 Unity Catalog 卷 test.mlflow.check-databricks-connection。然后,您可以运行以下代码以使用 Unity Catalog 卷启动实验并向其记录指标。请注意,当使用 Databricks Workspace 时,您的实验名称必须遵循 /Users/<您的电子邮件>/<实验名称> 格式。

mlflow.create_experiment(
"/Users/<your email>/check-databricks-connection",
artifact_location="dbfs:/Volumes/test/mlflow/check-databricks-connection",
)
mlflow.set_experiment("/Users/<your email>/check-databricks-connection")

with mlflow.start_run():
mlflow.log_metric("foo", 1)
mlflow.log_metric("bar", 2)
2025/02/19 12:26:33 INFO mlflow.tracking.fluent: Experiment with name '/Users/<your email>/check-databricks-connection' does not exist. Creating a new experiment.

在您的 Databricks Workspace 上查看您的实验

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

Landing page of Databricks MLflow server

在“实验”视图中,您应该能够找到实验“check-databricks-connection”,类似于

Experiment view of Databricks MLflow server

点击运行名称,在我们的示例中是“skillful-jay-111”(这是一个随机生成的名称,您将在您的 Databricks 控制台中看到一个不同的名称),将带您进入运行视图,类似于

Run view of Databricks MLflow server

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

至此,您已准备就绪!您可以在本地运行任何教程,它们都将记录到托管的 MLflow 跟踪服务器。