You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何永久删除MLFlow模型版本并复用已删除版本号?

解决MLFlow复用已删除模型版本号的问题

MLFlow默认会基于目标注册模型的**所有历史版本(包括已删除)**的最大版本号生成新版本号,单纯软删除版本无法让后续版本复用已删除的编号。要实现版本号复用,需要彻底清理元数据中的对应版本记录,具体操作如下:

1. 确认MLFlow元数据存储类型

MLFlow支持SQLite、PostgreSQL、MySQL等多种元数据存储,以下以默认的SQLite存储为例,其他数据库操作逻辑类似。

2. 彻底删除目标版本的元数据记录

  • 找到MLFlow的元数据数据库文件,默认路径为mlruns/mlflow.db(远程数据库则直接连接对应实例)
  • 使用SQL客户端打开数据库,执行以下步骤:
    1. 查询目标模型的model_id:
      SELECT model_id FROM registered_models WHERE name = '你的模型名称';
      
    2. 定位要删除的版本对应的version_id:
      SELECT version_id, version FROM model_versions WHERE model_id = '上述查询得到的model_id' AND version = '你要复用的版本号';
      
    3. 硬删除该版本的记录(此操作不可逆,务必提前备份数据库):
      DELETE FROM model_versions WHERE version_id = '上述查询得到的version_id';
      

3. 验证并推送新版本

完成硬删除后,再次推送模型版本时,MLFlow会重新查询该模型下所有现存版本(已不包含你删除的版本),取当前最大版本号加1生成新版本号。比如删除版本14后,若当前最大版本为13,新推送的版本就会是14,实现版本号复用。

注意事项

  • 硬删除会丢失该版本的所有关联信息(运行ID、模型路径、描述等),操作前必须备份数据。
  • 该操作属于非官方操作,MLFlow设计版本自增机制是为了保证唯一性和追溯性,频繁复用版本号可能导致模型版本管理混乱。
  • 若使用PostgreSQL等远程数据库,操作逻辑一致,仅SQL语法或序列重置操作可能略有差异。

内容的提问来源于stack exchange,提问作者RandomR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:47:25