SuperAPI AI 工具集

mlflow

数据与分析

查看项目

更新于 10-15 21:49

技能介绍

用途:MLflow 是开源平台,用于管理机器学习端到端生命周期,包括实验跟踪、模型注册表、制品存储以及 LLM 追踪与评估。本技能在需要跟踪 ML 指标、为模型做版本管理、评估 LLM/RAG 与提示词、或统一打包部署模型时使用。

主要能力:实验跟踪与自动日志,可记录参数、指标、代码版本与制品,并支持 sklearn、PyTorch、TensorFlow、LightGBM、XGBoost 等框架的 autolog;模型注册与治理,管理模型生命周期阶段(Staging、Production、Archived)及血缘,MLflow 2.x 推荐使用别名(如 @champion、@challenger);LLM 评估与提示工程,通过 mlflow.evaluate 评估 LLM、RAG 应用与提示词;统一模型部署,将模型打包为自包含 flavor(Python 函数、PyTorch、ONNX)以便一键部署。

使用方式:设置实验与跟踪 URI,例如 mlflow.set_tracking_uri("http://localhost:5000")、mlflow.set_experiment("iris_classification_prod");在 with mlflow.start_run() 上下文中调用 mlflow.log_param、mlflow.log_metric、mlflow.sklearn.log_model 等记录内容;启用 mlflow.autolog() 或 mlflow.sklearn.autolog(log_model_signatures=True) 自动记录;用 mlflow.register_model 注册模型,再用 MlflowClient.set_registered_model_alias 设置别名,通过 mlflow.pyfunc.load_model("models:/名称@champion") 加载;用 mlflow.evaluate 传入含 inputs、ground_truth、predictions 的数据框进行评估。

适用场景:机器学习实验对比与复现、模型版本与上线治理、LLM/RAG 效果基准测试、跨框架模型统一打包部署。

限制与注意事项:建议使用 MLflow 2.15+ 及模型别名而非旧版阶段转换;应记录模型签名以在部署时校验输入输出结构;不要在制品中直接存大型训练数据集,改为记录数据集哈希与 S3 URI;生产或团队协作环境不要使用本地文件系统跟踪 URI,也不要硬编码跟踪 URI,应通过环境变量 MLFLOW_TRACKING_URI 配置;需定期备份后端存储(PostgreSQL)与制品仓库(S3/GCS)。常见问题包括实验 ID 找不到(跟踪 URI 不匹配)、制品传输失败(S3/GCS 权限缺失)、模型加载时 schema 校验错误(列与签名不一致)。具体安装命令与更多细节暂未提供。