L3

模型市场

Model Marketplace Layer — 开源模型库 · 自训练模型 · 评测平台 · 版本管理 · 模型发现与元数据注册中心

层级编号 L3 对外接口 Model Registry REST API / gRPC 依赖方向 ↓ L2 (推理部署) / ↓ L1 (对象存储) 关键用户 算法工程师 · MLOps 工程师 · 应用开发者 运维节奏 模型注册 < 5min · 评测任务 < 2h · 版本发布 < 1d 数据规模 500+ 模型 · 3000+ 版本 · 10000+ 评测记录

2. 层级定位与边界

L3 模型市场是整个 AI 平台的模型资产中枢,负责管理所有模型的元数据、版本、评测结果和生命周期。它向上为 L4 模型网关和 L5 应用平台提供模型发现与查询能力,向下对接 L2 模型部署层将模型注册为推理服务。L3 不存储模型权重文件(权重由 L1 对象存储管理),也不执行模型推理(由 L2 负责)。

L3 的核心职责包括:模型资产目录管理、元数据规范、版本控制与别名映射、标准化评测引擎、模型搜索与发现、以及与 L2 的部署协调。

L3 在七层架构中的定位 · 不存储模型权重 (权重在 L1 对象存储) L3 边界规范摘要 B3 · 向上层 (L4+) 提供 模型发现 API (搜索/过滤/推荐) 元数据查询 (模型详情/版本/评测) 版本路由信息 (别名→版本映射) 模型分类与标签体系 B3 · 不提供 模型推理端点 (由 L2 提供) 模型权重文件访问 (由 L1 提供) 请求路由与限流 (由 L4 提供) B2 · 向下层 (L2) 调用 注册模型部署目标到 L2 查询模型部署状态 (运行中/异常) 触发模型部署 (一键部署请求) 接收部署状态回调 B1 · 向下层 (L1) 调用 MinIO/Ceph 对象存储: 读取权重元数据 PostgreSQL: 存储元数据与评测结果 内部组件边界 元数据服务 ↔ 评测引擎 评测结果 ↔ 排行榜服务 版本管理器 ↔ 别名映射 模型注册 ↔ 权重扫描器 关键 KPI 元数据查询 P99 < 50ms 模型注册 < 5s 评测流水线 < 2h (70B) 版本切换 < 1s (别名更新) 元数据可用性 ≥ 99.99% 关键原则 L3 不存储模型权重文件 权重存储仅由 L1 对象存储管理 L3 读取权重的元数据(路径/大小/校验和) L2 通过 PVC 直接从 L1 加载权重 L7 · 业务应用层智能问数 · 数字人 · 智能客服 · AI 编程 L6 · 多 Agent 管理平台Agent 编排 · Skill 市场 · Tool 注册 L5 · 模型基础应用平台Agent 平台 · Dify · RAG · MCP 接入 L4 · 模型网关智能路由 · 统一鉴权 · 限流熔断 · 语义缓存 边界 B3 (L4↔L3) 接口: Model Registry API L4 查询模型元数据做路由决策 L4 不管理版本/评测 L3 · 模型市场 ★ (当前层级) 核心功能: 模型注册中心 · 模型发现与搜索 · 版本管理 (SemVer + Alias) · 标准化评测平台 · 排行榜 · 生命周期管理 模型分类: 开源模型 (LLM/多模态/Embedding/Reranker) · 自训练模型 (Pretrain/Continue-Pretrain/领域) · 微调模型 (FT/LoRA/QLoRA/SFT/RLHF/DPO) 存储模型: 元数据 ↔ PostgreSQL · 评测结果 ↔ PostgreSQL · 版本状态 ↔ 元数据服务 · ⚡ 权重文件存储在 L1 (MinIO/Ceph), L3 只存元数据路径 ▼ L3 不存储模型权重 · 只管理元数据 · 权重存储在 L1 ⚠ 架构约束: L3 不存储模型权重文件 模型权重始终在 L1 对象存储 (MinIO/Ceph) 中 · L3 仅存储路径/size/checksum/format 等元数据 边界 B2 (L3↔L2) L3 注册模型版本至 L2 部署目标 L2 将部署状态同步回 L3 L2 从 L1 直接加载权重 (不经过 L3) L2 · 模型部署层 vLLM · TensorRT-LLM · TGI · SGLang · Triton · Xinference · Ollama · FastChat — 推理引擎管理 + 弹性伸缩 + 灰度发布 边界 B1 (L2↔L1) L2 通过 PVC 从 L1 MinIO 直接加载权重 权重不经过 L3, L3 只提供权重路径元数据 L1 · 基础设施与算力管理层 K8s 编排 · GPU/NPU 算力池 · MinIO/Ceph 对象存储 (模型权重存储) · PostgreSQL (L3 元数据存储) · Prometheus 监控 硬件底座 NVIDIA A100-80G · H100-80G · MinIO 对象存储集群 · 企业级 NVMe SSD · Ceph RBD · PostgreSQL HA 集群

3. 边界规范

上游 → L4 模型网关 提供:模型发现 API(L4 可通过 REST/gRPC 查询模型列表、搜索模型、获取模型详情)、元数据查询(模型能力描述、输入输出格式、支持的语言、上下文长度等信息)、版本路由信息(别名到版本号的映射,如 "production" → "v2.1.0")、模型标签体系(按任务类型、模态、框架等维度分类)。
不提供:模型推理端点(由 L2 提供)、请求级路由决策(由 L4 执行)、API 鉴权和限流(由 L4 执行)。L3 只提供元数据查询,不参与推理请求路径。
下游 → L2 模型部署 调用:注册模型部署目标到 L2(L3 决定哪个版本的模型应该部署到哪个推理引擎)、查询部署状态(L3 可获取任意模型版本的部署状态:运行中/异常/回滚中)、触发一键部署(L3 将模型权重路径和配置下发至 L2)。
不调用:L3 不直接管理 GPU 资源或 Pod 生命周期,所有这些均由 L2 封装。
下游 → L1 基础设施 调用:MinIO/Ceph 对象存储(读取模型权重文件的元数据:路径、大小、格式、校验和)、PostgreSQL(存储模型元数据、评测结果、版本信息)。
不调用:L3 不直接读写 GPU 节点、不管理存储集群、不创建 PVC。所有文件级别的操作由 L1 基础设施层管理。
内部组件 元数据服务 ↔ 评测引擎:评测引擎读取模型元数据获取评测配置,评测完成后将结果写回元数据服务更新模型得分。
版本管理器 ↔ 别名映射:版本管理器负责 SemVer 版本号分配和生命周期状态转换;别名映射维护 "production" / "latest" / "staging" 等别名到具体版本的映射关系。
模型注册器 ↔ 权重扫描器:权重扫描器定期扫描 L1 对象存储中的新权重文件,自动发现并注册新模型版本到模型注册器。

4. 模型分类体系

L3 将所有模型划分为三大类:开源模型(从社区获取)、自训练模型(从零开始或 Continue Pretrain)、微调模型(在基座模型上通过 SFT/RLHF/DPO 等方法微调)。每类模型有独立的注册流程和版本管理策略。

4.1 开源模型库

开源模型开源模型 (Open-Source Models) ├─ LLM (Large Language Models) │ ├─ Qwen 系列 [Qwen3-0.6B/1.7B/4B/8B/14B/32B/235B-A22B] # 通义千问, Apache-2.0 │ ├─ Llama 系列 [Llama-3.2-1B/3B, Llama-3.1-8B/70B/405B] # Meta, Llama 3.1 Community License │ ├─ DeepSeek 系列 [DeepSeek-V2, DeepSeek-Coder-V2, DeepSeek-R1-Distill] # 深度求索, MIT │ ├─ GLM 系列 [GLM-4-9B, GLM-4-9B-Chat, GLM-4V-9B] # 智谱AI, Apache-2.0 │ ├─ Yi 系列 [Yi-1.5-6B/9B/34B, Yi-Lightning] # 零一万物, Apache-2.0 │ ├─ Mistral 系列 [Mistral-7B-v0.3, Mixtral-8x7B, Mixtral-8x22B] # Mistral AI, Apache-2.0 │ └─ Gemma 系列 [Gemma-2-2B/9B/27B, Gemma-3-12B] # Google, Gemma License ├─ 多模态模型 (Multimodal) │ ├─ LLaVA 系列 [LLaVA-1.6-7B/13B, LLaVA-NeXT-8B/34B/72B] # 视觉语言模型 │ ├─ Qwen-VL 系列 [Qwen3-VL-8B/32B] # 通义千问视觉版 │ ├─ CogVLM2 [CogVLM2-19B, CogVLM2-Video] │ ├─ InternVL2 [InternVL2-8B/26B/40B/76B] │ └─ Stable Diffusion 系列 [SDXL, SD3, FLUX.1-dev/pro] # 图像生成 ├─ Embedding 模型 │ ├─ BGE 系列 [BGE-base-zh-v1.5, BGE-large-zh-v1.5, BGE-M3] │ ├─ gte 系列 [gte-Qwen2-1.5B-instruct, gte-Qwen2-7B-instruct] │ ├─ M3E [m3e-base, m3e-large] │ ├─ E5 系列 [multilingual-e5-large-instruct] │ └─ Jina Embeddings [jina-embeddings-v2-base-zh] └─ Reranker 模型 ├─ BGE Reranker [bge-reranker-v2-m3, bge-reranker-v2-minicpm-layerwise] ├─ BAAI Reranker [BAAI/bge-reranker-large] └─ Cohere Reranker [rerank-multilingual-v3.0] # 按需外部 API

4.2 自训练模型

自训练模型包括平台内部从零开始训练或基于开源模型进行 Continue Pretrain 的模型。此类模型拥有完整的训练过程记录和数据溯源。

子类别说明模型示例版本示例训练数据规模
从零预训练 (From-Scratch Pretrain) 使用大规模语料从随机初始化开始训练完整模型 FinanceLM-7B · LegalLM-13B · MedicalLM-70B v1.0.0 · v1.1.0 · v2.0.0 2T–8T tokens
增量预训练 (Continue Pretrain) 基于开源模型继续进行领域语料预训练 Qwen3-8B-CPT-Finance · Llama-3.1-8B-CPT-Legal v1.0.0 · v1.2.0 · v2.0.0 50B–500B tokens
领域适配 (Domain-Specific) 面向特定业务场景的模型定制,如金融问答、合同审核等 Finance-ContractLM-7B · Insurance-ClaimLM-13B v1.0.0 · v1.5.0 · v2.0.0 5B–50B tokens

4.3 微调模型

微调模型是基于某个基座模型通过监督微调 (SFT)、强化学习 (RLHF) 或直接偏好优化 (DPO) 等方法训练得到的衍生模型。微调模型与基座模型保持强血缘关系。

子类别方法基座示例输出示例训练数据规模
全量微调 (Full FT) 更新所有模型参数 Qwen3-235B-A22B Qwen3-235B-A22B-FT-Finance v1.0.0 10k–100k 条
LoRA 微调 低秩适配,仅训练 adapter 权重 Llama-3.1-8B Llama-3.1-8B-LoRA-CustomerService v1.2.0 1k–10k 条
QLoRA 微调 4-bit 量化 + LoRA,显存需求降低 4x Llama-3.1-70B Llama-3.1-70B-QLoRA-Contract v1.0.0 1k–5k 条
SFT 微调 监督微调,对齐指令格式 DeepSeek-Coder-V2 DeepSeek-Coder-V2-SFT-SQL v1.3.0 5k–50k 条
RLHF 微调 基于人类反馈的强化学习 Qwen3-8B Qwen3-8B-RLHF-Safe v1.0.0 10k–50k 偏好对
DPO 微调 直接偏好优化 GLM-4-9B GLM-4-9B-DPO-Persuasion v2.1.0 5k–20k 偏好对
血缘追踪:每个微调模型在注册时必须指定 base_model 字段,L3 自动构建模型血缘图谱。L4 模型网关可根据血缘关系做路由决策,如当基座模型有安全更新时自动禁用依赖该基座的所有微调模型。

5. 模型元数据标准

L3 使用统一的 JSON Schema 定义模型元数据,确保所有模型(开源、自训练、微调)以一致的结构注册和查询。以下展示完整的元数据 Schema 和一个基于 Qwen3-235B-A22B 的真实示例。

{
  "model_id": "qwen3-235b-a22b",          // 全局唯一模型标识符 (小写, 连字符)
  "name": "Qwen3-235B-A22B",              // 模型显示名称
  "description": "通义千问 3 235B-A22B 指令模型,支持 128K 上下文、多语言、Function Calling",  // 描述
  "base_model": null,                           // 基座模型 ID (null 表示非微调模型)
  "model_type": "open-source",                  // open-source | self-trained | fine-tuned
  "task_type": ["text-generation"],             // text-generation | embedding | reranker | image-generation | multimodal
  "modality": ["text"],                         // text | image | audio | video | multimodal
  "framework": "transformers",                  // transformers | vllm | tensorrt-llm | diffusers
  "owner": {
    "team": "ai-platform",
    "maintainer": "alg-team@company.com",
    "organization": "Alibaba Cloud"
  },
  "license": "Apache-2.0",                     // Apache-2.0 | MIT | Llama-3.1-Community | Gemma | custom
  "versions": [
    {
      "version": "v1.0.0",                    // SemVer: MAJOR.MINOR.PATCH
      "semver": {
        "major": 1,
        "minor": 0,
        "patch": 0
      },
      "status": "published",                    // draft | review | published | deprecated | archived
      "created_at": "2026-05-15T10:00:00Z",
      "published_at": "2026-05-20T08:00:00Z",
      "deprecated_at": null,
      "weights": {
        "source": "s3://model-weights/qwen3-235b-a22b/mlp_model_v1.0.0/",  // L1 存储路径
        "format": "safetensors",                // safetensors | pt | bin | gguf | onnx
        "quantization": "bf16",                 // bf16 | fp16 | fp8 | int4 | int8 | awq | gptq
        "size": "144Gi",                        // 权重文件总大小
        "files": 287,                           // 权重文件数量
        "checksum": "sha256:3a7f...e9b2"        // 目录级校验和
      },
      "config": {
        "model_max_length": 131072,             // 最大序列长度 (128K)
        "vocab_size": 152064,
        "hidden_size": 8192,
        "num_attention_heads": 64,
        "num_hidden_layers": 80,
        "num_key_value_heads": 8,               // GQA 配置
        "intermediate_size": 29568,
        "max_position_embeddings": 131072,
        "rope_theta": 1000000.0,
        "torch_dtype": "bfloat16"
      },
      "requirements": {
        "min_gpu_memory": 80,                   // 最小 GPU 显存 (GB)
        "recommended_gpus": 4,                  // 推荐 GPU 数量
        "recommended_gpu_type": "A100-80G",     // A100-80G | H100-80G | A800
        "recommended_tp": 4,                    // 推荐张量并行度
        "total_weights_memory": 144,            // 权重占用量 (GiB)
        "inference_memory_estimate": 256        // 推理运行总显存估计 (GiB, 含 KV Cache)
      },
      "evaluation": {
        "status": "completed",                  // pending | running | completed | failed
        "latest_report_id": "eval-20260520-001",
        "scores": {
          "mmlu": 85.3,
          "ceval": 91.2,
          "cmmlu": 89.7,
          "gsm8k": 92.1,
          "math": 76.5,
          "humaneval": 80.5,
          "mbpp": 78.3
        }
      },
      "deployments": [
        {
          "target": "production",               // production | staging | canary
          "engine": "vllm",                     // vllm | tensorrt-llm | tgi | sglang
          "endpoint": "https://api.internal/v1/chat/completions",
          "status": "running",                  // running | deploying | failed | stopped
          "deployed_at": "2026-05-20T10:00:00Z"
        }
      ]
    }
  ],
  "tags": [                                    // 标签系统
    {"key": "language", "value": "zh"},
    {"key": "language", "value": "en"},
    {"key": "capability", "value": "function-calling"},
    {"key": "capability", "value": "code-generation"},
    {"key": "domain", "value": "general"}
  ],
  "created_at": "2026-05-15T10:00:00Z",
  "updated_at": "2026-06-01T12:30:00Z"
}

5.1 元数据字段定义

字段类型必需说明
model_idstring全局唯一标识,小写字母+数字+连字符
namestring人类可读的模型名称
base_modelstring|null微调模型的基座模型 ID,非微调模型为 null
model_typeenumopen-source | self-trained | fine-tuned
task_typestring[]支持的任务类型列表
modalitystring[]支持的模态类型列表
frameworkstring训练/推理框架(transformers/vllm/diffusers 等)
ownerobject团队信息与维护人联系方式
licensestring开源许可证类型或自训练模型的自定义许可证
versions[]array版本列表,至少包含一个版本
versions[].versionstringSemVer 版本号 (vMAJOR.MINOR.PATCH)
versions[].statusenumdraft → review → published → deprecated → archived
versions[].weightsobject权重存储信息(路径、格式、大小、校验和)
versions[].configobject模型架构配置(hidden_size, num_layers 等)
versions[].requirementsobject推理部署的资源需求建议
versions[].evaluationobject评测结果摘要
versions[].deployments[]array当前部署目标列表
tags[]object[]键值对标签系统,用于搜索和过滤

6. 评测平台

L3 内置标准化评测平台,支持多种开源基准测试和业务自定义评测,为每一个模型版本生成评测报告并同步更新排行榜。

6.1 基准测试体系

通用 MMLU

Massive Multitask Language Understanding — 覆盖 57 个学科(人文/社科/理工/医学)的多选题评测。衡量模型的世界知识和推理能力。满分 100%。

通用 C-Eval

中文基础模型评测基准 — 52 个学科的中文多选题,涵盖人文、社科、理工、医学等领域。中国本土知识评测标准。满分 100%。

通用 CMMLU

Chinese Massive Multitask Language Understanding — 针对中文语境的多任务理解评测,覆盖 67 个学科。满分 100%。

数学 GSM8K

Grade School Math 8K — 8.5K 小学数学应用题,评估模型数学推理能力。Chain-of-Thought 推理。满分 100%。

数学 MATH

Mathematical Aptitude Test of Heuristics — 12.5K 高中数学竞赛题目,7 个难度等级。评估高级数学推理。满分 100%。

代码 HumanEval

164 个手写 Python 编程题,评估函数级代码生成能力。使用 pass@1 指标,满分 100%。

代码 MBPP

Mostly Basic Python Programming — 974 个 Python 编程任务,评估模型基础编程能力。pass@1 指标。满分 100%。

推理 HellaSwag

评估模型对物理世界常识的理解,选择最合理的句子结尾。对抗性过滤。满分 100%。

推理 WinoGrande

Winograd Schema 挑战的更大规模版本(44K 问题),评估代词消歧能力。满分 100%。

业务自定义评测

评测名称领域评测任务指标数据规模创建团队
FinanceQA 金融 金融领域问答(财报分析、市场解读、风险识别) 准确率 + BLEU + 人工打分 5,000 对 金融AI组
CustomerIntent 客服 客服意图识别(退换货、投诉、咨询、售前) F1-score + 意图准确率 10,000 条 智能客服组
ContractExtract 法务 合同关键信息抽取(金额、期限、违约责任、管辖法院) 精确率 + 召回率 + F1 2,000 份 法务AI组
MedicalQA 医疗 医疗咨询问答(症状描述、药品信息、就医建议) 准确率 + 安全性评分 8,000 对 医疗AI组

安全评测

评测名称说明指标安全维度
SafetyBench 中文安全评测基准,覆盖 7 大安全类别(色情、暴力、违法、隐私、偏见等)共 11K 问题 安全通过率 (%) 有害内容拒绝 · 偏见消除 · 隐私保护
TruthfulQA 评估模型生成真实回答的能力,避免产生常见的错误信念或误解。817 道问题 真实性得分 (%) 事实正确性 · 避免虚假信息
BBQ Bias Benchmark for QA — 评估模型在不同社会群体上的偏见程度(种族、性别、年龄、宗教等) 偏见分数 (越低越好) 公平性 · 去偏见
内部红队测试 平台安全团队构造的对抗性测试用例池,覆盖越狱攻击、提示注入、有害内容绕过等场景 越狱成功率 (越低越好) 安全护栏有效性 · 越狱防护

性能评测

指标全称说明测量方式
TTFTTime to First Token从请求到达输出首个 token 的延迟,反映模型"思考"速度端到端测量,含 Prefill 时间
TPOTTime Per Output Token每个生成 token 的间隔时间,反映生成速度端到端 (total_time − ttft) / num_tokens
ThroughputTokens Per Second单位时间内生成的 token 总数,衡量推理系统吞吐能力total_tokens / total_time
GPU 显存Peak GPU Memory推理期间 GPU 显存峰值占用,决定能否部署在特定 GPU 上nvidia-smi / PyTorch memory 统计
QPSQueries Per Second每秒成功处理的推理请求数total_requests / total_time

6.2 模型排行榜

排行榜基于统一评测流水线生成,所有模型版本在相同环境下评测,确保公平对比。以下展示 5 个真实模型的综合得分。

排名模型MMLUC-EvalCMMLUGSM8KMATHHumanEvalMBPP综合得分评测日期
1 Qwen3-235B-A22B 85.3 91.2 89.7 92.1 76.5 80.5 78.3 84.8 2026-05-20
2 Llama-3.1-70B-Instruct 83.7 68.5 71.2 88.9 72.3 78.9 75.6 77.0 2026-05-18
3 DeepSeek-V2-Chat 81.2 84.5 82.8 86.3 70.1 82.7 80.1 81.1 2026-05-15
4 GLM-4-9B-Chat 72.4 78.3 80.1 79.6 58.2 65.8 63.4 71.1 2026-05-12
5 Mixtral-8x22B-Instruct 79.8 60.2 65.3 84.1 66.8 74.5 72.0 71.8 2026-05-10

6.3 评测流水线

评测流水线全自动运行,从数据集准备到排行榜更新无需人工干预。以下是完整的流水线流程和关键组件。

1
数据集准备
2
评测注册
3
自动评测
4
结果分析
5
报告生成
6
排行榜更新
// 评测任务 YAML 配置示例
apiVersion: eval.platform/v1
kind: EvaluationTask
metadata:
  name: qwen3-235b-a22b-v1-full-eval
  model_id: qwen3-235b-a22b
  version: v1.0.0
spec:
  # ── 基准评测集 ──
  benchmarks:
    - name: mmlu
      subset: all                     # all | stem | humanities | social_sciences | other
      few_shot: 5
      metric: accuracy
    - name: ceval
      subset: all
      few_shot: 5
      metric: accuracy
    - name: cmmlu
      subset: all
      few_shot: 5
      metric: accuracy
    - name: gsm8k
      few_shot: 8
      metric: accuracy
      cot: true                       # Chain-of-Thought 推理
    - name: math
      level: [1, 2, 3, 4, 5]         # 难度等级
      few_shot: 4
      metric: accuracy
      cot: true
    - name: humaneval
      metric: pass@1
    - name: mbpp
      metric: pass@1
    - name: hellaswag
      few_shot: 10
      metric: accuracy
    - name: winogrande
      few_shot: 5
      metric: accuracy

  # ── 业务自定义评测 ──
  custom_benchmarks:
    - name: finance-qa
      dataset: s3://eval-datasets/finance-qa/v3/          # 评测数据集路径
      metric: accuracy
      max_samples: 5000
    - name: customer-intent
      dataset: s3://eval-datasets/customer-intent/v2/
      metric: f1

  # ── 安全评测 ──
  safety_benchmarks:
    - name: safety-bench
      subset: all                     # all | 7 categories
    - name: truthful-qa
    - name: bbq

  # ── 性能评测 ──
  performance:
    engine: vllm                      # 评测使用的推理引擎
    gpu_type: A100-80G
    gpu_count: 4
    tp: 4
    concurrency: [1, 8, 16, 32]       # 不同并发度测试
    input_lengths: [128, 512, 2048]   # 不同输入长度
    output_lengths: [128, 256, 512]   # 不同输出长度

  # ── 评测运行时 ──
  runtime:
    timeout: 7200                     # 超时 (秒), 70B 模型约 2h
    retry: 2
    priority: normal                  # high | normal | low
    notify:
      on_complete:
        - channel: feishu
          to: ["alg-team"]
      on_failure:
        - channel: email
          to: ["mlops@company.com"]

---
// 评测结果 (由评测引擎写入)
{
  "report_id": "eval-20260520-001",
  "model_id": "qwen3-235b-a22b",
  "version": "v1.0.0",
  "status": "completed",
  "started_at": "2026-05-20T02:00:00Z",
  "completed_at": "2026-05-20T04:15:00Z",
  "duration_seconds": 8100,
  "benchmark_results": {
    "mmlu": {"score": 85.3, "num_samples": 14042, "few_shot": 5, "metric": "accuracy"},
    "ceval": {"score": 91.2, "num_samples": 11928, "few_shot": 5, "metric": "accuracy"},
    "cmmlu": {"score": 89.7, "num_samples": 11928, "few_shot": 5, "metric": "accuracy"},
    "gsm8k": {"score": 92.1, "num_samples": 1319, "few_shot": 8, "cot": true, "metric": "accuracy"},
    "math":  {"score": 76.5, "num_samples": 5000, "few_shot": 4, "cot": true, "metric": "accuracy"},
    "humaneval": {"score": 80.5, "num_samples": 164, "metric": "pass@1"},
    "mbpp": {"score": 78.3, "num_samples": 974, "metric": "pass@1"},
    "hellaswag": {"score": 87.2, "num_samples": 10042, "few_shot": 10, "metric": "accuracy"},
    "winogrande": {"score": 85.6, "num_samples": 1267, "few_shot": 5, "metric": "accuracy"}
  },
  "custom_results": {
    "finance-qa": {"score": 89.4, "metric": "accuracy", "num_samples": 5000},
    "customer-intent": {"score": 92.1, "metric": "f1", "num_samples": 10000}
  },
  "safety_results": {
    "safety-bench": {"overall_pass_rate": 97.2, "categories": {...}},
    "truthful-qa": {"score": 82.5, "metric": "truthfulness"},
    "bbq": {"bias_score": 3.2, "metric": "bias (lower is better)"}
  },
  "performance_results": {
    "ttft_p50_ms": 120,
    "ttft_p99_ms": 410,
    "tpot_p50_ms": 26,
    "tpot_p99_ms": 105,
    "throughput_tokens_per_second": 3890,
    "peak_gpu_memory_gb": 76.5,
    "qps_max": 48
  }
}

7. 版本管理

L3 的版本管理系统为每个模型版本分配语义版本号,支持别名映射和完整的生命周期管理。版本管理是 L3 连接 L2 部署和 L4 路由的核心枢纽。

7.1 语义版本 (SemVer)

模型版本使用 MAJOR.MINOR.PATCH 格式的语义版本号,遵循以下兼容性规则:

版本位变更含义示例兼容性自动升级
MAJOR 架构/能力重大变更(替换全部权重、模型结构变化、训练方法根本改变) v1.0.0 → v2.0.0 ❌ 不兼容 不能自动升级
MINOR 增量改进(继续训练、数据集扩展、评测得分显著提升、新增能力) v1.0.0 → v1.1.0 ✅ 前向兼容 可考虑自动升级
PATCH Bug 修复(权重修复、后处理优化、量化校准调整) v1.0.0 → v1.0.1 ✅ 完全兼容 推荐自动升级

7.2 别名系统

别名系统将语义版本号映射为语义化的标签,使上层消费者(L4 网关、L5 应用层)无须关心具体版本号即可指向正确的模型版本。

production → v1.2.0 生产环境稳定版本
staging → v1.3.0-rc.1 预发布验证版本
latest → v1.3.0-rc.1 最新发布版本
canary → v2.0.0-beta.2 灰度验证版本
// 别名映射 JSON 示例 (存储在 PostgreSQL)
{
  "model_id": "qwen3-235b-a22b",
  "aliases": {
    "production": {
      "version": "v1.2.0",
      "updated_at": "2026-05-25T10:00:00Z",
      "updated_by": "alg-team",
      "auto_upgrade": "minor"              // none | patch | minor | major
    },
    "staging": {
      "version": "v1.3.0-rc.1",
      "updated_at": "2026-06-01T14:30:00Z",
      "updated_by": "alg-team"
    },
    "latest": {
      "version": "v1.3.0-rc.1",
      "updated_at": "2026-06-01T14:30:00Z",
      "auto_upgrade": "patch"
    },
    "canary": {
      "version": "v2.0.0-beta.2",
      "updated_at": "2026-05-30T09:00:00Z",
      "updated_by": "risk-team"
    }
  }
}

别名的更新遵循以下规则:

7.3 生命周期状态机

每个模型版本经历从创建到归档的完整生命周期,状态转换受控于严格的规则和审批流程。

模型版本生命周期状态机 草稿 Draft 提交审核 审核中 Review 驳回 批准 已发布 Published 弃用 已弃用 Deprecated 归档 已归档 Archived 发布新 MAJOR 版本 状态转换规则: Draft → Review: 权重上传完成 + 元数据填写完整 + 通过基本校验 Review → Published: 评测完成且得分 ≥ 发布基线 + 安全审查通过 + 至少 1 人审批 Published → Deprecated: 有新版本替换或安全漏洞报告 + 通知所有使用者 + 24h 后状态变更
生命周期管理注意事项:
  • Deprecated 状态的版本仍可被已有部署使用,但 L4 网关会记录警告日志并建议升级
  • Archived 状态的版本的权重文件将从 L1 热存储移至冷存储(30 天后自动转移),元数据保留
  • 版本从 Deprecated 到 Archived 有 30 天冷却期,期间可回退到 Published 状态
  • 版本回退操作(Published → Review)需要极高级别权限,仅 MLOps 主管可操作

8. 模型存储策略

模型权重文件在 L1 基础设施层的对象存储中管理,L3 只存储元数据。以下是完整的存储分层策略:

📦
L3 元数据
PostgreSQL
模型信息 · 版本 · 评测 · 别名
🗂️
L3 元数据 API
REST / gRPC
CRUD + 搜索 + 版本管理
💾
L1 对象存储
MinIO / Ceph
模型权重 (safetensors) · LoRA 适配器
🔄
L2 GPU 缓存
NVMe SSD
GPU 节点本地缓存 · 模型预热
🧠
GPU 显存
HBM / HBM3
推理运行时权重 + KV Cache

存储层级详情

层级存储介质存储内容容量访问方式延迟数据持久性
L3 元数据 PostgreSQL HA 模型元数据、版本信息、评测结果、别名映射、标签 < 100 GB SQL / REST API < 10ms 99.999% (HA + WAL 备份)
L1 对象存储 (热) MinIO / Ceph RGW (SSD) 活跃模型权重 (Published)、日常使用的 safetensors 10–50 TB S3 API / PVC CSI 50–200ms 99.999% (EC 4+2 纠删码)
L1 对象存储 (温) Ceph RGW (HDD + Cache Tier) 历史模型权重 (Deprecated)、归档前过渡存储 50–200 TB S3 API 200ms–1s 99.9% (EC 3+1)
L1 对象存储 (冷) Ceph RGW (HDD, 蓝光备份可选) 归档模型权重 (Archived)、评测数据集备份 200 TB+ S3 API (低频) 1–5s 99% (单副本 + 冷备)
L2 GPU 节点本地缓存 NVMe SSD (节点本地) 常用模型权重的副本,启动时从 L1 预加载 1–5 TB / 节点 本地文件系统 < 1ms 非持久 (重启后重新加载)
GPU 显存 HBM2e / HBM3 (GPU 本地) 推理运行的模型权重 + KV Cache 80 GB / GPU (A100) CUDA / PyTorch < 1μs 易失 (Pod 销毁即释放)
存储策略核心原则:
  • L3 绝不直接存储或缓存模型权重文件,所有权重操作通过 L1 对象存储的 S3 API 进行
  • 权重文件的路径、校验和、格式等元数据在 L3 的 PostgreSQL 中维护,确保数据一致性和可溯源
  • L2 推理节点通过 PVC (MinIO CSI Driver) 直接从 L1 挂载权重,不经过 L3 网络路径
  • Archived 版本的权重在 30 天后自动从热存储迁移到冷存储,元数据永久保留在 L3
  • LoRA adapter 权重作为独立对象存储在同一 MinIO Bucket 中,路径结构为 lora-adapters/{model_id}/{version}/

9. API 规范

L3 模型市场对外暴露 RESTful API,供 L4 模型网关、L5 应用平台和管理控制台调用。以下列出核心 API 端点。

模型 CRUD

POST/api/v1/models注册新模型
GET/api/v1/models列出所有模型(支持搜索/过滤/分页)
GET/api/v1/models/{model_id}获取模型详情
PUT/api/v1/models/{model_id}更新模型元数据
DELETE/api/v1/models/{model_id}删除模型(软删除,仅标记删除)

版本管理

POST/api/v1/models/{model_id}/versions注册新版本
GET/api/v1/models/{model_id}/versions列出所有版本
GET/api/v1/models/{model_id}/versions/{version}获取版本详情
PATCH/api/v1/models/{model_id}/versions/{version}/status更新版本状态 (draft/review/published/deprecated/archived)

别名管理

GET/api/v1/models/{model_id}/aliases获取所有别名映射
PUT/api/v1/models/{model_id}/aliases/{alias}设置别名指向版本
GET/api/v1/models/{model_id}/aliases/{alias}/resolve解析别名到具体版本号 (用于 L4 路由)
// GET /api/v1/models/qwen3-235b-a22b/aliases/production/resolve
// 响应示例 (供 L4 网关使用)
HTTP/1.1 200 OK
Content-Type: application/json

{
  "model_id": "qwen3-235b-a22b",
  "alias": "production",
  "resolved_version": "v1.2.0",
  "weights": {
    "source": "s3://model-weights/qwen3-235b-a22b/v1.2.0/",
    "format": "safetensors",
    "quantization": "bf16",
    "size": "144Gi"
  },
  "deployments": [
    {
      "target": "production",
      "engine": "vllm",
      "endpoint": "https://api.internal/v1/chat/completions",
      "status": "running"
    }
  ],
  "capabilities": {
    "max_context_length": 131072,
    "supported_languages": ["zh", "en"],
    "function_calling": true,
    "streaming": true
  }
}

评测管理

POST/api/v1/models/{model_id}/versions/{version}/evaluations提交评测任务
GET/api/v1/models/{model_id}/versions/{version}/evaluations/{eval_id}获取评测结果详情
GET/api/v1/leaderboard获取排行榜(支持 benchmark 过滤)

搜索与过滤

GET/api/v1/models/search?q={keyword}&task=text-generation&framework=vllm搜索模型(全文搜索+多维过滤)
GET/api/v1/models/tags/{key}/{value}按标签查找模型
// GET /api/v1/models/search?q=finance&task=text-generation&min_mmlu=70&page=1&size=10
// 搜索请求参数
//   q           全文搜索关键词 (匹配 name/description/model_id)
//   task        任务类型过滤 (text-generation | embedding | reranker | ...)
//   modality    模态过滤 (text | image | multimodal)
//   framework   框架过滤 (transformers | vllm | tensorrt-llm)
//   min_mmlu    最低 MMLU 分数过滤
//   tags        标签过滤 (key=value 格式, 可重复)
//   status      版本状态过滤 (published | deprecated | ...)
//   page        页码 (默认 1)
//   size        每页大小 (默认 20, 最大 100)
//   sort        排序字段 (score | name | created_at | updated_at)
//   order       排序方向 (asc | desc)

HTTP/1.1 200 OK
Content-Type: application/json

{
  "total": 3,
  "page": 1,
  "size": 10,
  "results": [
    {
      "model_id": "qwen3-235b-a22b",
      "name": "Qwen3-235B-A22B",
      "description": "通义千问 3 235B-A22B 指令模型",
      "type": "open-source",
      "latest_version": "v1.2.0",
      "highest_score": {"benchmark": "ceval", "score": 91.2},
      "tags": [
        {"key": "domain", "value": "general"},
        {"key": "language", "value": "zh"}
      ]
    },
    {
      "model_id": "finance-qa-7b",
      "name": "FinanceQA-7B-Instruct",
      "description": "金融领域问答专用模型,基于 Qwen3-8B 微调",
      "type": "fine-tuned",
      "base_model": "qwen3-8b",
      "latest_version": "v1.0.0",
      "highest_score": {"benchmark": "finance-qa", "score": 89.4},
      "tags": [
        {"key": "domain", "value": "finance"},
        {"key": "capability", "value": "qa"}
      ]
    }
  ]
}

部署协调

POST/api/v1/models/{model_id}/versions/{version}/deployments注册部署目标 (调用 L2)
GET/api/v1/models/{model_id}/versions/{version}/deployments查询版本的所有部署状态

10. SLA / SLO 目标

L3 模型市场的 SLO 直接影响模型发现和版本路由的可用性和响应速度。作为元数据服务层,L3 的核心目标是保证元数据的强一致性高可用

类别SLISLO 目标测量方式窗口期
可用性 元数据 API 可用性 ≥ 99.99% 健康检查端点 /health 成功率 月度
PostgreSQL 数据库可用性 ≥ 99.995% HA 切换时间 + 查询成功率 季度
评测服务可用性 ≥ 99.5% 评测任务提交和完成率 月度
性能 元数据查询延迟 P50 < 10ms GET /api/v1/models/{id} 响应时间 周度
元数据查询延迟 P99 < 50ms GET /api/v1/models/{id} 响应时间 周度
别名解析延迟 P99 < 20ms 别名→版本号解析请求 周度
搜索查询延迟 P99 < 200ms 全文搜索 + 多维过滤查询 周度
数据一致性 元数据读写一致性 强一致性 写入后立即读取返回最新数据 实时
别名更新传播延迟 < 1s 别名更新 → L4 缓存失效 周度
模型注册事务成功率 ≥ 99.99% 注册请求成功完成率 月度
评测结果数据准确性 100% 评测结果写入校验 (checksum + 审计) 每评测任务
评测 评测任务提交到开始时间 < 5min 评测任务入队 → 第一个 benchmark 启动 周度
评测流水线完成时间 (7B) < 30min 标准 9 项基准 + 3 项安全评测 周度
评测流水线完成时间 (70B) < 2h 标准 9 项基准 + 3 项安全评测 周度
容量 最大注册模型数 ≥ 500 PostgreSQL 表行数 季度
最大并发评测任务数 ≥ 10 评测引擎队列长度 月度
SLA 承诺:L3 对 L4 和 L5 的元数据查询 SLA 通过 API 可用性 ≥ 99.99%P99 延迟 < 50ms 保证。当 L3 不可用时,L4 网关应使用本地缓存的路由表进行降级处理。L3 的 PostgreSQL 采用 HA 架构 (Patroni + etcd),RPO < 1s,RTO < 30s。

11. 技术选型

以下表格列出了 L3 层所有技术组件的选型结果、版本和选型理由:

领域选型版本备选选型理由
模型注册中心 MLflow Model Registry (自定制) 2.14+ HuggingFace Hub · HuggingFace Model Registry MLflow 是业界最成熟的 ML 元数据管理框架;自定制以适配平台七层架构;原生支持模型版本管理、stage 别名、血缘追踪;REST API 成熟;Python SDK 与训练流水线无缝集成;与平台阿里云 EMR/PAI 生态兼容。
元数据存储 PostgreSQL (HA + Patroni) 16+ MySQL 8.0 · TiDB MLflow 原生支持 PostgreSQL 后端;强 ACID 事务保证元数据一致性;Patroni + etcd HA 方案成熟稳定;RPO < 1s, RTO < 30s;支持 JSONB 类型存储灵活的元数据扩展字段。
评测引擎 lm-evaluation-harness 0.4.6 OpenCompass · C-Eval Harness EleutherAI 出品,社区最广泛使用的 LLM 评测框架;支持 200+ 基准测试;统一的评测接口和标准化输出;内置 MMLU/GSM8K/HumanEval 等主流基准;可扩展自定义评测集;支持多种模型后端 (vLLM/TGI/HF)。
评测结果存储 PostgreSQL (与元数据同库) 16+ MongoDB · InfluxDB 评测结果与模型元数据同库,简化 join 查询排行榜;JSONB 存储评测评分明细;无需额外运维数据系统。
模型搜索/发现 PostgreSQL FTS + 自定义索引 Elasticsearch · MeiliSearch 初期元数据量小(< 100GB),PostgreSQL 全文搜索足够;避免引入 ES 增加运维复杂度;中期可引入 ES 做增强搜索;搜索 QPS 预期 < 500/s。
API 框架 FastAPI 0.111+ Flask · Django REST · Gin 异步原生 (async/await) 适合高并发 IO 密集型场景;Pydantic 模型自动生成 OpenAPI 文档;类型安全、自动请求校验;性能在 Python 框架中最佳。
权重存储 MinIO + Ceph RGW MinIO 2024+ / Ceph Reef AWS S3 · Alibaba Cloud OSS 开源 S3 兼容对象存储;S3 API 生态丰富 (MinIO CSI Driver, boto3);支持纠删码数据保护;单集群可扩展到 PB 级;权重文件为不可变对象,S3 语义天然匹配。
测评数据集存储 HuggingFace Datasets 缓存 + MinIO 2.20+ 评测数据集统一管理;流式加载减少本地存储;支持自定义数据集注册。
别名/路由缓存 Redis 7.2+ Memcached · Local Cache 缓存别名→版本号映射,加速 L4 路由查询;发布/订阅机制通知 L4 缓存失效;缓存 TTL 可配置;与 MLflow Model Registry stage 映射一起管理。
任务队列 Celery + Redis/SQS 5.4+ Argo Workflows · Prefect 评测任务异步执行;任务优先级队列;失败重试和死信队列;与 FastAPI 原生配合;评测结果异步写回。
监控/可观测 Prometheus + Grafana Prometheus 2.52+ OpenTelemetry · Datadog FastAPI 原生暴露 Prometheus 指标;PostgreSQL exporter 监控数据库性能;预置 L3 仪表盘(API 延迟、QPS、数据库连接数、评测任务状态)。
容器编排 Kubernetes (已有 L1 提供) 1.30+ 复用 L1 基础设施层的 K8s 集群;L3 服务以 Deployment + Service 形式部署;Celery worker 作为独立 Deployment 运行。
选型决策说明:
  • MLflow Model Registry vs. HuggingFace Hub:HF Hub 在开源模型管理上有优势,但自训练模型和微调模型需要私有化存储和细粒度权限控制,MLflow 自托管更合适。平台同时集成 HF Hub 作为开源模型的数据源。
  • lm-evaluation-harness vs. OpenCompass:OpenCompass 在中文评测生态上更丰富,但 lm-evaluation-harness 社区更国际化,支持的模型类型更广,插件式自定义评测扩展更灵活。两者可共存,以 lm-evaluation-harness 为主引擎。
  • PostgreSQL vs. 专用搜索引擎:当前模型规模下 PostgreSQL 全文搜索完全满足需求。当模型数超过 2000 或搜索 QPS 超过 1000/s 时考虑引入 Elasticsearch。
  • 权重存储不使用 L3 管理:权重文件的读/写走 L1 对象存储的高吞吐路径,L3 只管理元数据。这避免了 L3 成为数据传输瓶颈。