通用实验

最近更新时间:2026-01-09 15:23:01

我的收藏

功能概述

实验管理是 WeData 实现模型生产中过程可管理、实验可复现的关键模块之一,支持如下核心功能:
支持实验/运行过程中的关键信息上报、存储、管理、查看,包括:实验/运行名称、模型文件、代码包、超参数、环境、数据集/特征、模型训练指标、创建时间等等。
支持进行实验/运行之间对比关键信息。
支持版本管理和关联关系记录,方便信息回溯和问题定位。
WeData 的实验管理模块基于业界主流的MLFlow工具包实现,其实现的过程可管理、实验可复现大致流程及各模块功能如下:

操作步骤

实验列表

1. 单击进入“模型实验”功能菜单。

2. 首页显示新建实验及实验列表。(当前 AutoML 类型实验仅重庆地域可用,未来会逐步覆盖全量地区)


新建实验

1. 您可以在当前页面通过新建机器学习实验的按钮进行新建。

2. 单击新建机器学习实验,弹窗内填入实验名称即可创建成功。

说明:
实验创建后需要前往 Studio 里关联实验才能将训练任务注册到关联的实验下。
3. 您可以在训练脚本中使用 mlflow.create_experiment()函数创建实验,例如定义实验名称为“experiment_202512261509”,运行代码后,该实验则会出现在实验列表中。


实验详情

1. 单击“实验名称”,右侧显示该实验的运行列表,并显示运行的相关信息,包括:运行名称、运行状态、实验名称、创建时间、运行时长、数据集、代码源文件、注册模型等等。
2. 在当前列表可以单击代码源文件和注册模型跳转到 Studio 和模型详情页进行查看。

3. 也可在操作列删除运行任务通过删除。

4. 运行任务图表视图。

显示运行任务的模型指标信息,支持单击,显示或隐藏该运行任务的柱状图,顶部支持全局搜索图表名称和参数。
右上角支持下载(默认 PNG 文件)和全屏显示。
说明:
当运行任务数量大于10,为确保阅读体验,默认按顺序依次展示前10个运行任务,超过数量的运行任务自动隐藏。
5. 运行任务对比。

6. 通过多选框勾选任务,单击运行任务比较按钮,可以对运行任务进行参数及指标的对比视图。方便对实验的运行任务进行详细的对比,最终择优进行应用。

数值对比展示所选运行任务的详情、参数、指标的数据对比视图。
平行坐标系:

散点图:

箱线图:

图表对比可自行选择平行坐标系、散点图、箱线图三个类型的可视化图表,其中X轴和Y轴可根据您场景的需要进行自定义。

运行详情

1. 查看运行详情。
单击“运行名称”,进入运行详情界面,默认进入概览页面,显示内容如下:

包括:
运行的关键信息:创建时间、创建人、实验ID、运行状态、运行ID、运行时长、数据集、标签、代码、基础模型、已注册模型。
超参数:模型训练过程中的超参数,在此例子中为权重等。
模型指标:模型训练过程中,上报的指标(基于训练测试集或者是训练验证集)。
2. 查看模型指标。
单击 Model Metrics 可以查看模型指标,此功能支持记录和评估模型的性能指标,如准确率、精确率、召回率等。这些指标可以帮助你了解模型的表现并进行比较。

您可以在训练脚本中使用 mlflow.log_metric() 函数记录模型性能指标,示例:
import mlflow
from sklearn.metrics import accuracy_score, precision_score, recall_score
# 假设你有训练好的模型和测试数据
y_true = [...] # 实际标签
y_pred = [...] # 预测标签
# 开始 MLflow 运行
with mlflow.start_run():
# 计算模型性能指标
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
# 记录模型性能指标
mlflow.log_metric("accuracy", accuracy)
mlflow.log_metric("precision", precision)
mlflow.log_metric("recall", recall)
...

3. 查看系统指标。
System Metrics 用于监控和记录模型训练过程中的系统性能指标,如 CPU 使用率、内存使用情况等,这些指标可以帮助你了解模型训练的资源消耗情况。MLFlow默认记录的系统指标如下:
cpu_utilization_percentage
system_memory_usage_megabytes
system_memory_usage_percentage
network_receive_megabytes
network_transmit_megabytes
disk_usage_megabytes
disk_available_megabytes
您可以在训练脚本中使用三种方式记录系统性能指标,示例:
import mlflow
import psutil # 用于获取系统性能指标
#开启方式1:使用环境变量的形式
import os
os.environ["MLFLOW_ENABLE_SYSTEM_METRICS_LOGGING"] = "true"
#开启方式2:使用 mlflow.enable_system_metrics_logging() 记录
mlflow.enable_system_metrics_logging()
#开启方式3:针对指定的run启动
with mlflow.start_run(log_system_metrics=True):
...
4. 查看模型文件。
Artifacts 是指与模型相关的文件,例如模型文件、图表、数据集、日志文件等。
如下图示例,是本次运行所产生的模型文件,包括模型的路径、输入和输出元数据以及调试运行的代码示例。并且支持单击跳转到模型管理中,查看所发布的模型。