MLflow

MLflow 是一个用于管理完整的开源平台 机器学习生命周期 —— 从实验跟踪和模型版本管理到部署和监控。被全球数千家组织使用,MLflow 为机器学习工作流带来结构性和可重复性。在 Clore.ai 的 GPU 云上运行它,可在训练作业旁获得集中式跟踪服务器。


什么是 MLflow?

MLflow 提供四个核心组件:

组件
描述

跟踪

记录来自 ML 运行的参数、指标、工件和代码

项目

打包代码以实现可重现运行

模型

用于跨框架部署的标准模型格式

模型注册表

具有版本控制和生命周期的集中式模型存储

支持的框架(内置自动记录):

  • PyTorch、TensorFlow/Keras

  • Scikit-learn、XGBoost、LightGBM

  • HuggingFace Transformers

  • Spark MLlib、statsmodels、Prophet


先决条件

要求
数值

GPU 显存

任何(MLflow 服务器本身受限于 CPU)

存储

20 GB+(用于工件)

内存(RAM)

服务器最少 4 GB

端口

22(SSH)、5000(MLflow UI)

circle-info

MLflow 跟踪服务器很轻量。您可以在小型 CPU 实例上运行它,并将 GPU 训练作业指向该服务器。或者,将其与训练 GPU 实例共置。


步骤 1 — 在 Clore.ai 上租用服务器

  1. 点击 市场.

  2. 对于专用跟踪服务器:按 RAM ≥ 8 GB 过滤(GPU 可选)。

  3. 对于共置:使用您现有的训练实例。

  4. 设置 Docker 镜像: ghcr.io/mlflow/mlflow:latest

  5. 设置开放端口: 22 (SSH)和 5000 (MLflow UI)。

  6. 点击 租用.


步骤 2 — 启动 MLflow 跟踪服务器

官方 ghcr.io/mlflow/mlflow 镜像需要覆盖启动命令。

在 Clore.ai Docker 配置中

设置 命令 (或入口点覆盖)为:

可选:自定义 Dockerfile


步骤 3 — 访问 MLflow UI

打开您的浏览器:

您应该能看到 MLflow 实验仪表板。

circle-info

默认的 SQLite 后端(mlflow.db)将所有运行元数据存储在本地。对于生产或团队使用,请切换到 PostgreSQL — 见下方高级配置。


步骤 4 — 记录您的第一个实验

从远程训练作业连接

在您的训练机器(或另一个 Clore.ai 实例)上,设置跟踪 URI:

基本 PyTorch 实验记录

HuggingFace Transformers 自动记录


步骤 5 — 使用自动记录的 Scikit-learn


步骤 6 — 模型注册表

通过 UI 或 API 注册并管理模型版本:


步骤 7 — 提供模型服务

MLflow 可以将任何已记录的模型作为 REST API 提供:

测试已提供的模型:


高级配置

PostgreSQL 后端(生产)

S3 工件存储

身份验证(企业)


在 UI 中比较运行

  1. 在以下地址打开 MLflow UI http://<clore-host>:<port>

  2. 从左侧面板选择一个实验

  3. 勾选多个运行旁的复选框

  4. 点击 比较 以并排查看指标和参数

  5. 使用 图表 选项卡进行可视化比较


故障排除

无法连接到跟踪服务器

将批量大小减小到 1

  • 检查端口 5000 在 Clore.ai 中是否已打开并转发

  • 验证服务器是否正在运行: ps aux | grep mlflow

  • 测试连接性: curl http://<clore-host>:<port>/health

工件上传失败

解决方案: 确保工件目录可写:

SQLite 锁定错误(并发写入)

解决方案: 对于多用户设置切换到 PostgreSQL:

模型注册表未显示

解决方案: 验证您正在使用一个 --backend-store-uri 支持注册表的后端(SQLite 或 PostgreSQL——而不仅仅是本地路径)。


成本估算

实例
在 Clore.ai 上的预估费用
预计价格
说明

CPU 四核

仅跟踪服务器

≈$0.05/小时

非常轻量

RTX 3080

共置训练

约 $0.10/小时

训练 + MLflow

RTX 4090

重度训练 + 跟踪

约 $0.35/小时

最常见的设置

circle-info

在廉价的 CPU 实例上运行 MLflow,并将所有 GPU 训练作业指向它。这样跟踪服务器可以持续运行,而不会消耗昂贵的 GPU 资源。


有用的资源


Clore.ai 的 GPU 建议

在 Clore.ai 上的预估费用
开发/测试
RTX 3090(24GB)

~$0.12/每 GPU/每小时

生产

RTX 4090(24GB)

生产训练

大规模

A100 80GB

大规模实验

💡 本指南中的所有示例均可部署在

Clore.ai

GPU 服务器上。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。 Clore.aiarrow-up-right GPU 服务器。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。

最后更新于

这有帮助吗?