故障排除和常见问题解答
此页面汇总了自托管 MLflow 部署中常见的生产问题以及如何解决它们。
MLflow UI/SDK 运行缓慢
MLflow UI 性能不佳可能有多种原因,但最常见的原因是使用了基于文件的默认后端存储。
当您在没有任何可选配置的情况下使用 mlflow server 命令启动服务器时,MLflow 会使用本地文件系统来存储元数据。这很简单,但会严重限制性能,例如没有索引。
我们通常建议使用基于数据库的后端存储以获得更好的性能。要开始使用,请运行以下命令
bash
mlflow server --backend-store-uri sqlite:///mlflow.db
有关连接到 PostgreSQL 等不同数据库的信息,请参阅 后端存储文档。
此外,如果日志记录 SDK 调用缓慢(例如 mlflow.log_metric),您还可以启用 异步日志记录 以减少开销。
数据库或存储已满。删除运行/模型不起作用。
MLflow 对运行和模型使用逻辑删除,以避免意外删除数据。要完全清理已删除的运行和模型,请使用 mlflow gc 命令。
客户端和服务器是否应该使用相同的 MLflow 版本?
不一定。相同主版本的 SDK 和服务器应能协同工作。此外,v2 和 v3 之间的大部分 API 都向后兼容,以便更顺畅地迁移。
也就是说,我们通常的建议是保持客户端和服务器的更新,以获得最新的功能和错误修复。如果后端版本低于客户端版本,可能会因为表定义不匹配而导致新功能不可用。
支持
如果在升级过程中遇到任何问题,请通过在 GitHub 上打开 issue 来联系 MLflow 团队。