将 MLflow 试验 添加为 Databricks Apps 资源,以便在应用程序中启用机器学习试验跟踪。 MLflow 试验提供了一种结构化的方式,用于在整个模型开发生命周期内组织和记录训练运行、跟踪参数、指标和项目。
将 MLflow 试验添加为资源时,应用可以:
- 使用参数和指标记录下训练过程
- 检索试验数据并比较模型性能
- 访问试验元数据和运行历史记录
- 以编程方式管理 ML 生命周期
添加 MLflow 试验资源
在将 MLflow 试验添加为资源之前,请查看 应用资源先决条件。
- 创建或编辑应用时,导航到 “配置” 步骤。
- 在 “应用资源 ”部分中,单击“ + 添加资源”。
- 选择 MLflow 试验 作为资源类型。
- 从工作区中可用试验列表中选择一个 MLflow 试验。
- 为应用选择适当的权限级别:
- 可以读取: 授予应用查看试验元数据、运行、参数和指标的权限。 用于显示试验结果的应用。
- 可以编辑: 授予应用修改试验设置和元数据的权限。
- 可以管理: 授予应用对试验的完全管理访问权限。
- (可选)指定自定义资源密钥,即在应用配置中引用试验的方式。 默认键为
experiment.
添加 MLflow 试验资源时:
- Azure Databricks 向应用 的服务主体 授予对所选试验的指定权限。
- 应用可以通过 MLflow 跟踪 API 记录训练运行和访问试验数据。
- 访问权限仅限于所选试验。 除非将其他试验添加为单独的资源,否则应用无法访问其他试验。
环境变量
使用 MLflow 试验资源部署应用时,Azure Databricks 会通过可以使用配置中的valueFrom字段引用的app.yaml环境变量公开试验 ID。
示例配置:
env:
- name: MLFLOW_EXPERIMENT_ID
valueFrom: experiment # Use your custom resource key if different
在应用程序中使用试验 ID:
import os
import mlflow
# Access the experiment using the injected environment variable
experiment_id = os.getenv("MLFLOW_EXPERIMENT_ID")
# Set the experiment for tracking
mlflow.set_experiment(experiment_id=experiment_id)
# Log parameters and metrics
with mlflow.start_run():
mlflow.log_param("learning_rate", 0.01)
mlflow.log_metric("accuracy", 0.95)
mlflow.log_artifact("model.pkl")
有关详细信息,请参阅从资源访问环境变量。
删除 MLflow 试验资源
从应用中删除 MLflow 试验资源时,应用的服务主体将失去对试验的访问权限。 试验本身保持不变,并继续可供具有适当权限的其他用户和应用程序使用。
最佳做法
使用 MLflow 试验资源时,请遵循以下最佳做法:
- 按项目或模型类型以逻辑方式组织试验,以提高可发现性。
- 对组织中的运行和参数使用一致的命名约定。
- 考虑针对长时间运行的项目的试验保留策略和存储管理。