帮你快速理解、总结文档立即下载

什么是模型实验

最近更新时间:2026-09-11 20:42:31
我的收藏
模型实验是 DataBuddy 数据科学模块中组织与追踪机器学习训练过程的能力。您在 Studio 中训练模型时,可以通过模型实验模块系统化地记录每次运行的参数、指标与工件;训练完成后,在实验面板中对比多次运行的表现,选出最优模型并注册到 Catalog 进行统一管理,无需手动维护训练日志或逐个比对结果。

关键概念

运行(Run)

Run 是一次具体的训练或调参过程。每次在 Notebook 中调用 mlflow.start_run() 就会启动一次新的 Run。Run 内可以记录:
运行 ID 与运行名称 :唯一标识,运行名称在所属实验内唯一。
运行状态 :运行中、已完成、失败。
运行时长 :自动统计,单位会按 ms / s / min / h 自动切换。
创建人、创建时间、来源 Notebook :自动从执行环境采集。
数据集 :本次训练使用的输入数据,可在详情中查看 Schema。

父子 Run

在父 Run 上下文中再次调用 mlflow.start_run(nested=True),新的 Run 会作为父 Run 的子 Run,常用于超参数调优场景。示例:
import mlflow

with mlflow.start_run(run_name="Parent Run"):
mlflow.log_param("model_type", "CNN")
for i in range(3):
with mlflow.start_run(run_name=f"Child Run {i}", nested=True):
mlflow.log_param("learning_rate", 0.01 * (i + 1))
mlflow.log_metric("accuracy", 0.8 + 0.05 * i)
实验详情的运行任务列表会以嵌套方式展示父 Run 与其下的子 Run。

参数(Parameter)

训练开始时记录的输入配置。值类型可以是字符串、整数或浮点数。常见示例:
learning_rate: 0.01
batch_size: 64
n_estimators: 100
max_depth: 6
通过 mlflow.log_param(key, value) 记录,记录后不可修改。

指标(Metric)

训练过程中或训练结束时记录的模型表现度量。指标值可以随训练步(step)变化,便于绘制曲线图。常见示例:
accuracyAUCF1precisionrecall(分类)
RMSEMAER2(回归)
lossval_loss(深度学习)
通过 mlflow.log_metric(key, value, step=None) 记录,可多次调用以记录训练曲线。

工件(Artifact)

本次 Run 产生的所有附属文件,每个 Run 拥有独立的存储空间,目录树状展示。常见内容:
训练得到的模型文件(.pkl / .pt / .onnx 等)
日志文件(stdoutstderrlog.txt
配置文件(config.yamlparams.json
评估结果(预测输出、评估指标、图片)
通过 mlflow.log_artifact(local_path, artifact_path=None)mlflow.<flavor>.log_model(...) 记录。

系统指标(System Metrics)

MLflow 自动采集的系统资源占用指标,用于评估训练对计算资源的消耗。默认记录以下指标:
指标
含义
cpu_utilization_percentage
CPU 使用率
system_memory_usage_megabytes
系统内存占用
system_memory_usage_percentage
系统内存占用率
network_receive_megabytes
网络接收流量
network_transmit_megabytes
网络发送流量
disk_usage_megabytes
磁盘已用容量
disk_available_megabytes
磁盘可用容量

数据集(Dataset)

本次 Run 使用的输入数据,在 Run 详情中可点击展开数据集详情侧边弹窗,查看数据来源与字段信息。一个 Run 可以关联多个数据集。

模型(Model)与已注册模型

在 Run 中通过 mlflow.<flavor>.log_model(...) 记录的模型对象会作为 Run 的工件保存。模型有以下两种状态:
未注册模型 :仅作为 Run 的工件存在,不进入 Catalog 治理。
已注册模型 :通过 注册模型 操作或在代码中传入 registered_model_name= 参数后,模型会注册到 Catalog 下的 MLflow Model Registry,拥有 catalog.schema.model_name 三段式全名与递增的版本号。
模型管理的详细规则请参考 模型管理

最佳运行(Best Run)

实验内根据评估指标自动识别的最优 Run。在实验详情列表中,最佳运行默认置顶展示。

实验、Run 与模型的关系

实验、Run 与模型在不同场景下存在不同的对应关系:
场景
关系
一个 Run 训练并保存一个模型(基础场景)
Run 与模型一一对应
一个 Run 在多个 epoch 保存多个模型快照(深度学习)
一个 Run 对应多个模型工件(如 torch-iris-10torch-iris-50torch-iris-100
同一模型架构用不同参数多次训练(调参)
同一注册模型对应多个 Run,分别为不同模型版本
父子 Run 各自保存模型(如调参试验)
一个父 Run 关联多个子 Run,每个子 Run 关联一个模型工件

权限模型

实验权限复用基础平台权限体系。每个实验默认创建者与 Admin 账号可管理,其他成员可在实验详情右上角 权限 弹窗中按以下三级授权:
权限级别
可执行操作
读取(Can Read)
查看实验基本信息、所有 Run 的参数 / 指标 / 模型 / 工件、运行历史;导出实验结果;查看权限设置(不可修改)
编辑(Can Edit)
拥有读取的所有能力;新建 Run、修改 Run 内的参数 / 指标 / 工件;编辑实验描述与标签
管理(Can Manage)
拥有编辑的所有能力;删除实验、为其他用户分配权限
无权限(No Permissions)状态下用户完全不可访问该实验。
权限管理的具体步骤请参考 成员与权限管理

相关文档