第 223 题:模型仓库的设计?版本管理、血缘追踪?
题目
模型仓库的设计?版本管理、血缘追踪?
完整讲解
一、模型仓库的职责
模型仓库:存 训练产出的模型(checkpoint、导出格式)、版本与元数据(config、metric、数据集/代码快照),支持 检索、回滚、对比、下发。需与 训练作业、推理服务、CI 打通,便于「训完即存、按版部署、可追溯」。
二、版本管理
版本:每次训练产出对应 唯一版本(如 commit_sha + timestamp、或自增 version_id);元数据 含:config、hyper-param、dataset version、metric(loss、accuracy)、git/dataset 快照。检索:按 metric、时间、tag 筛选;回滚:按版本拉取历史 checkpoint 或 artifact。存储:大文件(权重)可放 对象存储,元数据放 DB 或索引;或统一用 MLflow、Weights & Biases 等做 artifact + 版本。
三、血缘追踪
血缘:记录 模型版本 ← 训练 job ← 代码/数据/配置 的溯源;某模型由哪次 job、哪份数据、哪段代码产出,可追溯。实现:训练 job 提交时带 code snapshot、dataset version、config;产出时写回 model registry 并关联;推理/下游 消费时记录「用的哪个模型版本」,形成 lineage 图。便于 复现、审计、合规。
面试要点
- 模型仓库:存 checkpoint/导出、版本与元数据;支持检索、回滚、下发。
- 版本:唯一 ID、config/metric/dataset 快照;检索按 metric/tag;大文件对象存储。
- 血缘:模型←job←代码/数据/配置;便于复现与审计。
记忆要点
- 仓库 = 模型 + 版本 + 元数据;检索、回滚。
- 版本含 config、metric、数据集/代码快照。
- 血缘 = 模型→job→代码/数据;可追溯。