试用托管式MLflow
Databricks 免费试用版让您无需事先获得云提供商访问权限即可体验 Databricks 平台。试用期间,Databricks 的大部分功能(包括完整的 MLflow 功能)均可用,您可以使用试用积分探索该平台。您只需通过电子邮件创建帐户,除非您决定升级到付费计划并注册您的付款信息,否则不会收取任何费用。
开始您的试用
要开始使用 Databricks 免费试用版,请访问Databricks 试用注册页面并按照其中概述的说明操作。设置大约需要 5 分钟,之后您将可以访问几乎功能齐全的 Databricks 工作区,用于记录您的教程实验、跟踪、模型和工件。
您已有 Databricks 试用帐户吗?如果您想登录并返回 MLflow UI,请点击此处。
第一步
当您首次登录时,系统会将您引导至 MLflow 跟踪教程,让您有机会体验 MLflow 提供的最强大的 GenAI 功能之一。
只需点击这两个教程中的任意一个,您即可在几分钟内测试 MLflow 的检测功能。
导航 Databricks UI
否则,当您后续访问并登录 Databricks 工作区时,您将看到一个类似以下的着陆页
要进入 MLflow UI,您可以点击左侧的“实验”链接(由实验室烧杯图标表示)进行导航。当您首次在 Databricks 上访问 MLflow UI 时,您将看到如下界面:
关于在何处运行您的 Notebook 的决定
使用 Databricks 托管的 MLflow 实例,您有两种运行教程 Notebook 的选项:直接将 Notebook 导入 Databricks 工作区,或在本地运行 Notebook 并使用 Databricks 工作区作为远程跟踪服务器。
直接将 Notebook 导入 Databricks 工作区
到达 Databricks 工作区主页后,您可以导入本教程中的任何 Notebook。首先,点击教程页面中的“下载此 Notebook”按钮以下载教程 Notebook。然后导航到左侧的“工作区”选项卡,点击该链接打开工作区页面。从那里,导航到 Home
,然后右键单击以调出“导入”选项。下图显示了如果您要直接从 MLflow 文档网站导入 Notebook,导入对话框的样式。
此时,您只需运行教程即可。任何用于创建实验、启动运行、记录元数据和保存工件的 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 主机:使用“https://<您的工作区主机>.cloud.databricks.com/”
- 令牌:您的 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/<您的电子邮件>/<实验名称>
格式。
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 工作区,然后点击左上角在下拉列表中选择机器学习。然后点击实验图标。参见下面的截图
在“实验”视图中,您应该能够找到实验“check-databricks-connection”,类似于
点击运行名称(在我们的示例中是“skillful-jay-111”,这是一个随机生成的名称,您在 Databricks 控制台中会看到不同的名称),将带您进入运行视图,类似于
在运行视图中,您将看到您的虚拟指标“foo”和“bar”已成功记录。
此时,您已准备就绪!您可以在本地运行任何教程,它们都将记录到托管式 MLflow 跟踪服务器。