双固定:权重与接口
版本锁定要做两件事:权重按修订号或提交号下载,接口层把别名映射到具体版本。只锁其中一处都不够:权重漂移会让评测基线失真,别名漂移会让行为变化难以追溯。两处都固定住,升级路径才是可回滚的。
基本信息
| 适用平台 | 自托管推理服务与权重仓库 |
|---|---|
| 锁定对象 | 权重修订号与对外别名 |
| 存储策略 | 按修订号下载并本地归档副本 |
| 升级流程 | 换修订号、跑回归、切别名 |
按修订号下载(示意)
按修订号下载(示意)
huggingface-cli download <模型仓库> --revision <commit 或 tag> --local-dir <目录>
# 下载完成后核对目录内的配置与分片文件是否完整典型使用场景
- 上线部署:权重与运行环境版本一起锁定
- 评测基线:同一修订号才能跨批次比较
- 回滚准备:本地留存归档副本,远端变动不影响服务
- 多环境一致:测试与生产使用同一个修订号
- 存储规划:版本多时按版本号分目录存放,磁盘与配额核算才清楚
锁定项与后果
| 锁定项 | 锁定方式 | 不锁的后果 |
|---|---|---|
| 权重 | 按修订号或提交号下载 | 上游更新后行为悄然变化 |
| 别名 | 映射到具体版本 | 行为变化无法追溯 |
| 运行环境 | 镜像与依赖版本固定 | 环境差异被误判成模型问题 |
升级流程等于换修订号、跑回归、再切别名:客户端无感,出问题可以回滚。
离线归档很关键:远端仓库变动或删除时,在网服务与回滚能力都不应该受影响。
把修订号写进部署记录:出问题时能立刻确认线上跑的到底是哪一版。
锁定要连推理代码一起算:非标准模型依赖的自定义建模代码版本同样影响输出,不能只盯权重。
评测与线上用了不同修订号时,两组指标不可比:对比之前先核对修订号是否一致。