跳到主要内容

试用托管式MLflow

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

开始试用

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

提示

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

入门

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

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

MLflow Tracing Tutorial

在 Databricks MLflow UI 中学习 Tracing

否则,当您在后续访问时登录 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。然后导航到左侧的“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

如果您正在学习 Tracing 教程,那么产品内的这两个教程都会为您处理这些步骤。您可以直接在教程中生成远程访问令牌。

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

安装依赖项

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

bash
%pip install -q mlflow

设置 Databricks 工作区身份验证

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

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

如果身份验证成功,您应该会看到“Successfully signed in to Databricks!”的消息。

python
import mlflow

mlflow.login()
text
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"_ 作为关键字。

python
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/<您的电子邮件>/<实验名称> 格式。

python
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)
text
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 工作区,然后单击左上角在下拉列表中选择机器学习。然后单击实验图标。请看下面的截图

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 跟踪服务器。