首页/AI/大模型部署与运维速查/模型 revision 锁定与可复现部署
部署形态与选型43 条

模型 revision 锁定与可复现部署

仓库内容会更新:锁定 revision(commit 号或标签)能让每次部署拿到同一份权重,是灰度与回滚的基础。

revision 锁定是什么

模型仓库的内容会更新,锁定 revision(commit 哈希或发布标签)能让每次部署都拿到同一份权重,是灰度与回滚的基础。只写模型名等于每次部署都在赌上游没有更新——上游改一次权重,你的基线、压测结论与线上表现就一起漂移。锁定动作要贯穿下载、推理启动与部署清单三个环节。

基本信息

下载侧下载时指定 revision,落到带版本的本地目录
启动侧推理引擎的 revision 参数(如 vLLM 的 --revision)
记录内容模型名 + revision + 引擎版本 + 量化方式
回滚方式切回旧 revision 对应的目录或参数
灰度方式新旧 revision 各起一份实例,网关按权重分流

典型使用场景

  • 生产部署固定版本:多台机器、多次发布拿到完全相同的权重
  • 灰度发布:新旧版本并行,按比例放量并对比指标
  • 快速回滚:出问题时切回上一个 revision,而不是重新找权重
  • 评测复现:报告里写明 revision,结论才可被复核
  • 审计追溯:回答「某个时间点线上跑的是哪份权重」

锁定 revision

锁定 revision
# 推理引擎启动时指定(参数名以版本文档为准)
vllm serve <模型> --revision <commit哈希或标签>

# 下载时指定 revision,并落到带版本的目录
huggingface-cli download <模型> --revision <commit哈希> --local-dir ./models/<模型>@<版本短哈希>

# 目录名带版本:现场一眼看出这台机器跑的是哪份权重
ls -d ./models/<模型>@*

要锁定的东西

锁定项示例不锁的后果
权重 revisioncommit 哈希上游更新后行为漂移,问题无法复现
量化产物同一 revision 的某档量化输出质量与基线不一致
引擎版本推理框架版本号性能与输出格式随升级改变
模板与配置对话模板、采样默认值换版本后输出风格突变
只写模型名不写 revision,等于每次部署都赌上游没更新;部署清单里把 revision 与量化方式一起记下,回滚时才有依据。
灰度期把两份权重放在不同的本地目录:共用同一目录会在切换时互相覆盖,回滚失去可退之处。

易错点

  • 用分支名(如 main)当 revision:分支会移动,那不是锁定,必须用 commit 哈希
  • 只锁权重不锁引擎版本:引擎升级会改变性能与输出,跨版本对比实验全部失效
  • 灰度与回滚共用同一个模型目录:切换时目录被覆盖,旧版本无法快速回退
  • 部署清单只记模型名:同一 revision 的不同量化产物输出不同,事后无法判断线上到底跑了什么

数据来源与参考

  • Hugging Face Hub 文档(huggingface.co/docs/huggingface_hub)
  • vLLM 官方文档(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌