跳到主要内容

试用托管式MLflow

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

开始您的试用

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

提示

您是否已有 Databricks 试用帐户? 单击此处 即可登录并返回 MLflow UI。

入门

首次登录时,您将被引导至 MLflow 跟踪教程,让您有机会尝试 MLflow 最强大的 GenAI 功能之一。

只需点击其中一个教程,您便能在几分钟内测试 MLflow 的仪器功能。

MLflow Tracing Tutorial

在 Databricks MLflow UI 中学习跟踪

否则,当您在后续访问中登录 Databricks 工作区时,您会看到如下所示的着陆页。

Databricks Trial Landing Page

Databricks 着陆页

要访问 MLflow UI,您可以通过单击左侧的“Experiments”(实验)链接(用实验室烧杯图标表示)进行导航。首次进入 Databricks 上的 MLflow UI 时,您会看到这个。

Databricks Trial MLflow UI

Databricks MLflow UI

关于在哪里运行 Notebook 的决策

使用 Databricks 托管的 MLflow 实例,您有两个选项可以运行教程 Notebook:直接将 Notebook 导入 Databricks 工作区,或在本地运行 Notebook 并将 Databricks 工作区用作远程跟踪服务器。

直接将 Notebook 导入 Databricks 工作区

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

Databricks Workspace import Notebook from MLflow docs website

此时,您就可以直接运行教程了。任何创建实验、启动运行、记录元数据和保存工件的 MLflow 调用都将由您完全管理,您的日志记录历史记录将显示在 MLflow UI 中。

注意

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

在本地运行 Notebook 并将 Databricks 工作区用作远程跟踪服务器

为了方便地在本地机器上操作,同时仍然可以使用托管的 MLflow 跟踪服务器,您需要:

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

生成 PAT

如果您正在按照跟踪教程进行操作,那么产品中的这两个教程都会为您处理这些步骤。您可以直接在教程中生成远程访问令牌。

否则,请按照 本指南 中的步骤创建 PAT,以远程访问您的 Databricks 工作区。

安装依赖项

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

%pip install -q mlflow

设置到 Databricks 工作区的身份验证

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

  • Databricks Host:使用“https://<your workspace host>.cloud.databricks.com/”。
  • Token:您的 Databricks 工作区的个人访问令牌。

如果身份验证成功,您应该会看到消息“Successfully signed in to Databricks!”(成功登录 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 工作区

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

mlflow.set_tracking_uri("databricks")

现在您已准备就绪!让我们尝试启动一个 MLflow 实验并记录一些虚拟指标,然后在 UI 中查看它们。

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

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

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 工作区中查看您的实验

现在让我们导航到您的 Databricks 工作区以查看实验结果。登录到您的 Databricks 工作区,然后单击左上角的下拉列表以选择 Machine Learning。然后单击实验图标。请看下面的截图。

Landing page of Databricks MLflow server

在“Experiments”(实验)视图中,您应该能找到名为“check-databricks-connection”的实验,类似于:

Experiment view of Databricks MLflow server

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

Run view of Databricks MLflow server

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

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