通过MLflow监控模型性能指标的核心步骤如下:
使用mlflow.log_metric()
直接记录关键指标(如准确率、损失值等),支持自定义指标名称和数值。
import mlflow
mlflow.log_metric("accuracy", 0.95) # 记录准确率
mlflow.log_metric("loss", 0.05) # 记录损失值
通过mlflow.evaluate_model()
自动生成包含数据分布、特征重要性、预测结果对比的交互式报告,支持分类/回归等任务。
from mlflow.models.evaluation import evaluate_model
result = evaluate_model(
model=trained_model,
data=eval_data,
targets="target_col",
model_type="classifier" # 指定任务类型
)
mlflow.log_artifacts(result.artifacts) # 保存报告附件(如ROC曲线图)
结合Prometheus等工具采集推理延迟、错误率等指标,通过MLflow记录并可视化趋势。
import mlflow
# 从Prometheus获取指标
latency = query_prometheus("avg_over_time(inference_latency[5m])")
mlflow.log_metric("avg_latency", latency)
将模型注册到MLflow Model Registry,通过版本号追踪不同迭代周期的性能指标,支持批量对比分析。
mlflow.register_model(model_uri="runs://model", name="model_v1")
通过MLflow UI查看指标变化趋势图,或导出数据至Pandas进行自定义可视化。
# 获取历史指标数据
client = mlflow.tracking.MlflowClient()
metrics = client.get_metric_history(run_id="your_run_id", key="accuracy")
通过以上步骤,可实现对模型性能指标的全流程监控,确保实验可复现、结果可追溯。