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