一、运行(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 mlflowwith 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)变化,便于绘制曲线图。常见示例:
·accuracy、AUC、F1、precision、recall(分类)
·RMSE、MAE、R2(回归)
·loss、val_loss(深度学习)
通过 mlflow.log_metric(key, value, step=None) 记录,可多次调用以记录训练曲线。
五、工件(Artifact)
本次 Run 产生的所有附属文件,每个 Run 拥有独立的存储空间,目录树状展示。常见内容:
·训练得到的模型文件(.pkl / .pt / .onnx 等)
·日志文件(stdout、stderr、log.txt)
·配置文件(config.yaml、params.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-10、torch-iris-50、torch-iris-100) |
| 同一模型架构用不同参数多次训练(调参) | 同一注册模型对应多个 Run,分别为不同模型版本 |
| 父子 Run 各自保存模型(如调参试验) | 一个父 Run 关联多个子 Run,每个子 Run 关联一个模型工件 |
十一、权限模型
实验权限复用基础平台权限体系。每个实验默认创建者与 Admin 账号可管理,其他成员可在实验详情右上角 权限 弹窗中按以下三级授权:
| 权限级别 | 可执行操作 |
| 读取(Can Read) | 查看实验基本信息、所有 Run 的参数 / 指标 / 模型 / 工件、运行历史;导出实验结果;查看权限设置(不可修改) |
| 编辑(Can Edit) | 拥有读取的所有能力;新建 Run、修改 Run 内的参数 / 指标 / 工件;编辑实验描述与标签 |
| 管理(Can Manage) | 拥有编辑的所有能力;删除实验、为其他用户分配权限 |
·无权限(No Permissions)状态下用户完全不可访问该实验。
·权限管理的具体步骤请参考 成员与权限管理。
十二、相关文档
·创建实验
·记录训练指标
·对比实验结果
·核心概念与术语表
·MLflow 产品文档