AI 平台模型注册表:别让模型文件散落在对象存储里

发布时间:2026/7/5 7:47:00
AI 平台模型注册表:别让模型文件散落在对象存储里 AI 平台模型注册表别让模型文件散落在对象存储里一、模型文件需要被治理云原生 AI 平台里模型权重、Tokenizer、配置、LoRA、量化版本经常被放在对象存储里。早期团队可能用路径约定管理例如models/v1/、models/latest/。规模一大就会出现版本混乱、依赖缺失、权限不清、回滚困难。模型注册表的价值是把模型当成平台资产管理而不是一堆文件。二、注册表要记录完整元数据flowchart TD A[模型文件] -- B[模型注册] B -- C[版本元数据] C -- D[部署引用] D -- E[灰度与回滚]模型版本不只包含权重路径还应包含基础模型、训练数据版本、量化方式、运行镜像、兼容推理引擎、许可信息和校验 hash。缺少这些元数据平台很难判断一个模型能不能部署。部署服务不应该直接引用对象存储路径而应该引用注册表里的模型版本。三、数据结构要支持追溯type ModelVersion { modelId: string version: string artifactUri: string runtimeImage: string checksum: string quantization?: int8 | int4 createdAt: string }checksum可以防止文件被悄悄替换。runtimeImage能说明这个模型要用哪个运行时启动。model_registry_policy: require_checksum: true immutable_version: true record_runtime_image: true allow_rollback_reference: true模型版本一旦发布应尽量不可变。需要修复就发布新版本不要覆盖旧文件。四、注册表要连接发布流程模型进入注册表后还要经过评测、审批、灰度和部署。注册表不是单纯目录而是发布链路的入口。还要管理清理策略。旧模型不能无限保存但删除前要确认没有部署、没有回滚依赖、没有审计要求。注册表还可以和 Kubernetes CRD 结合。平台把模型版本声明成资源部署控制器根据资源状态拉取文件、校验 checksum、更新推理服务。这样模型发布就能进入声明式流程而不是依赖脚本手工执行。apiVersion: ai.example.com/v1 kind: ModelVersion metadata: name: chat-model-v4 spec: artifactUri: s3://models/chat/v4 runtimeImage: inference-runtime:1.8 checksum: sha256:abc123CRD 的 status 可以记录是否已校验、是否已部署、哪些服务正在引用。运维排查时不需要去对象存储里猜路径。还要给注册表加权限。不是所有人都能注册生产模型也不是所有服务都能引用所有模型。模型资产往往涉及许可证和客户数据权限边界必须清楚。最后注册表应和评测报告关联。一个模型版本如果没有通过指定评测就不能进入生产部署。模型治理和质量门禁要绑在一起。注册表还要提供引用图谱。平台至少要能回答某个模型版本被哪些推理服务、离线任务、灰度环境和回滚计划引用。否则清理旧模型时很容易删掉仍被低频任务依赖的版本。model_reference_graph: track_deployment_refs: true track_batch_job_refs: true block_delete_when_referenced: true require_owner_for_orphan_model: true我更推荐把删除动作设计成两阶段先标记 deprecated再等待观察窗口最后才物理清理。观察窗口内如果仍有服务拉取该版本注册表应直接阻止删除并把引用方列出来。五、总结AI 平台模型注册表要管理模型文件、版本、运行时、校验、部署引用和回滚关系。模型文件散落在对象存储里平台迟早会失去可控性。注册表是模型工程化的基础。