第3章 现有技术栈盘点:组织内AI基础设施、数据资产、模型服务层、MLOps成熟度
技术栈盘点是技术可行性分析的起点,也是后续方案设计与选型权衡的事实依据。缺乏系统性的盘点,架构师很容易陷入「纸面可行、落地崩塌」的困境。本章围绕边界、分层、组件职责、数据流/控制流/信任链路、选型权衡、风险点、落地步骤、验收标准八个维度,构建可复用的盘点框架。
3.1 边界定义
盘点范围需明确两个维度的边界:组织边界与技术边界。超出边界的组件即使再先进,也不应计入当前可行性分析的基线。
| 边界维度 | 包含 | 不包含 |
|---|---|---|
| 组织边界 | 本部门/事业群直接管控的AI集群、数据湖、模型仓库 | 兄弟部门隔离环境、外部云厂商托管服务(需单独评估) |
| 技术边界 | GPU/TPU集群、分布式存储、特征平台、推理网关、MLOps管道 | 业务数据库、前端展示层、传统ETL(除非与AI管道耦合) |
| 生命周期 | 生产环境 + 预发环境 + 核心开发环境 | 临时实验环境、已废弃集群、未纳管影子IT |
盘点红线:只统计已纳入CMDB或可被基础设施API发现的资源。口头承诺的「即将扩容」资源一律不计入基线。
3.2 分层架构
将技术栈自下而上划分为四层,每层关注不同的抽象粒度。下图展示各层核心组件及层间关系:
架构解读:数据流自底向上——基础设施承载数据存储与计算,数据资产层提供特征与治理,模型服务层完成推理与实验,MLOps层实现持续交付与监控。控制流自顶向下——MLOps编排实验与部署策略,模型服务层反馈日志与指标,数据资产层调整特征与标签,基础设施层弹性扩缩。信任链路贯穿所有层,统一鉴权、审计与加密。
3.3 组件职责
每个盘点维度内的组件承担不同职责,下表定义组件核心功能与盘点关键字段:
| 层次 | 组件 | 核心职责 | 盘点关键字段 |
|---|---|---|---|
| AI基础设施 | GPU集群 | 提供模型训练与推理的算力 | 型号/显存/互联拓扑/利用率 |
| 分布式存储 | 持久化数据集、Checkpoint、模型权重 | 总容量/IOPS/吞吐/冗余策略 | |
| 高速网络 | 节点间All-Reduce通信与推理请求分发 | 带宽/延迟/拥塞控制协议 | |
| 数据资产 | 数据湖/仓 | 统一存储结构化与非结构化训练数据 | 存储格式/版本管理/快照策略 |
| 特征工程 | 特征生成、变换、在线/离线一致性 | 特征量/更新频率/一致性校验 | |
| 数据治理 | 数据血缘、脱敏、合规审计 | 覆盖度/脱敏算法/审计日志 | |
| 模型服务层 | 模型仓库 | 存储模型版本、元数据、签名 | 模型数/版本数/存储格式 |
| 推理引擎 | 加载模型、执行推理、返回结果 | 引擎类型/批处理策略/延迟 | |
| A/B测试 | 流量划分、实验对比、自动回滚 | 分流粒度/指标看板/回滚条件 | |
| MLOps成熟度 | CI/CD管道 | 自动化构建、测试、部署模型 | 管道成功率/部署频次/平均时长 |
| 实验追踪 | 记录超参数、指标、代码版本 | 实验数量/可复现率/平台覆盖 | |
| 模型监控 | 监测推理延迟、数据漂移、性能衰减 | 监控指标数/告警准确率/覆盖模型 |
以下为技术栈盘点清单的标准化YAML模板,可在盘点阶段直接使用:
# tech-stack-inventory.yaml
version: "1.0"
organization: "AI Center of Excellence"
inventory_date: "2025-06-01"
layers:
ai_infrastructure:
gpu_cluster:
nodes: 32
gpu_per_node: 8
gpu_model: "NVIDIA A100-80GB"
interconnect: "NVLink-3 + InfiniBand HDR"
avg_utilization_pct: 67
distributed_storage:
type: "Lustre 并行文件系统"
capacity_tb: 5120
read_throughput_gbps: 100
replication: "3副本"
high_speed_network:
topology: "Fat-Tree"
bandwidth_gbps: 200
latency_us: 1.5
data_assets:
data_lake:
storage_format: "Parquet + HDF5"
versioning: "Delta Lake"
snapshot_frequency: "daily"
feature_store:
feature_count: 2400
online_update_ms: 50
consistency_check: "chi-square 漂移检测"
data_governance:
catalog_tool: "Apache Atlas"
data_masking: "k-anonymity"
audit_log: "ELK Stack"
model_service:
model_registry:
model_count: 148
formats: ["ONNX", "TorchScript", "TensorRT"]
inference_engine:
engine: "Triton Inference Server"
batching: "dynamic"
p99_latency_ms: 45
ab_test:
traffic_split: "cookie-based 1%–99%"
metrics: ["CTR", "AUC", "latency"]
mlops_maturity:
ci_cd:
pipeline_tool: "GitLab CI + ArgoCD"
deploy_frequency: "每日 3–5 次"
rollback_time_s: 120
experiment_tracking:
tool: "MLflow + Weights & Biases"
reproducibility_rate_pct: 82
model_monitoring:
metrics: ["PSI", "响应时长", "错误率"]
alert_channel: "PagerDuty + 钉钉"
3.4 数据流、控制流与信任链路
三层流动关系决定了技术栈的耦合度与可观测性:
- 数据流(Data Flow):自底向上。基础设施层提供原始算力与存储;数据资产层消费存储生成特征;模型服务层消费特征执行推理;MLOps层消费推理日志驱动实验分析。
典型路径:GPU集群 → 分布式存储 → 特征工程 → 推理引擎 → 模型监控。 - 控制流(Control Flow):自顶向下。MLOps编排实验与部署策略;模型服务层根据部署策略调整路由;数据资产层按需刷新特征;基础设施层响应扩缩容指令。
典型路径:CI/CD管道 → 模型仓库 → A/B测试 → 推理引擎 → GPU集群。 - 信任链路(Trust Chain):贯穿四层。统一身份认证(OIDC)、服务间mTLS加密、数据血缘可追溯、模型签名验签。每层暴露审计日志,汇聚到安全中心。
常见断点:数据流断在特征一致性校验缺失;控制流断在部署策略与路由配置手工操作;信任链路断在服务间明文通信或缺乏模型签名。盘点时必须逐一验证这三个流是否完整。
3.5 选型权衡
技术栈盘点阶段虽不直接做选型,但需识别当前栈与目标方案之间的Gap。下表列出各层常见的权衡点:
| 层次 | 方案A(偏向性能) | 方案B(偏向通用) | 盘点关注点 |
|---|---|---|---|
| AI基础设施 | NVLink + InfiniBand 紧耦合集群 | RoCE + 以太网 松耦合集群 | 当前互连拓扑能否满足目标模型通信模式 |
| 数据资产 | 专用特征平台(Feast/Tecton) | 数据湖+手工特征管道 | 特征一致性与更新延迟是否符合SLA |
| 模型服务 | TensorRT + Triton 高性能推理 | ONNX Runtime + FastAPI 轻量部署 | 目标模型是否已转换为可优化格式 |
| MLOps成熟度 | Kubeflow 全托管ML管道 | GitLab CI + 脚本 轻量自动化 | 现有管道能否支撑目标模型的实验迭代频率 |
3.6 风险点
基于过往30+组织的技术栈盘点经验,以下风险最易被忽略:
高风险预警:
1. GPU 利用率泡沫:集群整体利用率看似 >70%,但实际有效训练时长占比 <40%(大量时间花在数据加载、日志落盘、等待锁)。
2. 特征幽灵:特征仓库中注册了 2000+ 特征,但超过 40% 的特征在过去 90 天内未被任何模型引用。
3. MLOps 成熟度虚高:CI/CD 管道覆盖率 90%,但模型监控覆盖率仅 15%,导致「部署快、退化更快」。
4. 信任链路盲区:80% 的服务间通信使用明文 HTTP,模型文件在存储与传输过程中缺乏完整性校验。
1. GPU 利用率泡沫:集群整体利用率看似 >70%,但实际有效训练时长占比 <40%(大量时间花在数据加载、日志落盘、等待锁)。
2. 特征幽灵:特征仓库中注册了 2000+ 特征,但超过 40% 的特征在过去 90 天内未被任何模型引用。
3. MLOps 成熟度虚高:CI/CD 管道覆盖率 90%,但模型监控覆盖率仅 15%,导致「部署快、退化更快」。
4. 信任链路盲区:80% 的服务间通信使用明文 HTTP,模型文件在存储与传输过程中缺乏完整性校验。
- 盘点遗漏:边缘集群、影子IT、临时实验环境未被纳入,导致容量评估严重偏差。
- 数据口径不一致:不同团队上报的「GPU 利用率」计算方式不同(如显存利用率 vs 计算利用率)。
- MLOps 成熟度自评偏差:团队容易高估自动化水平,需通过事件响应时长和回滚成功率等客观指标校正。
3.7 落地步骤
技术栈盘点建议按以下 5 步 执行,每步产出可验证的交付物:
- 准备盘点清单与工具
基于本章提供的YAML模板,补充组织特有的组件;准备基础设施API访问凭证(Kubernetes API、云厂商CLI、CMDB接口)。 - 自动采集 + 人工交叉验证
对基础设施层和模型服务层优先使用自动化采集;数据资产层和MLOps层需人工访谈团队确认。 - 执行MLOps成熟度自评
使用以下CLI工具一键采集关键指标:
# MLOps 成熟度快速评估命令
mlops-assessment --inventory tech-stack-inventory.yaml \
--output mlops-report.json \
--include-metrics pipeline_success_rate,deploy_frequency,model_monitor_coverage
# 示例输出片段
{
"pipeline_success_rate": 0.94,
"deploy_frequency_per_day": 3.2,
"model_monitor_coverage": 0.15,
"avg_rollback_time_sec": 120,
"risk_flags": ["monitor_coverage_below_threshold"]
}
- 绘制当前架构四层图
参照本章SVG格式,将采集到的组件实例化到四层中,标注版本号、容量、利用率。 - 生成Gap分析报告
将当前栈与目标方案逐层对比,输出兼容项、升级项、替换项三类清单,作为后续章节「技术选型」的输入。
效率建议:第2步与第3步可并行执行。自动采集脚本应复用已有的CMDB或Kubernetes API,避免重复造轮。人工访谈控制在30分钟/团队,聚焦「实际使用方式」而非「文档描述方式」。
3.8 验收标准
技术栈盘点完成需满足以下验收条件,缺一不可:
| 验收项 | 验收标准 | 验证方式 |
|---|---|---|
| 覆盖率 | 四层组件盘点覆盖率 ≥ 95%(按资源数量计) | 自动采集计数 vs CMDB 总数 |
| 准确性 | 随机抽检 10% 组件的版本号与容量,准确率 100% | 人工抽检 + 工具交叉校验 |
| MLOps成熟度 | 至少采集 5 项客观指标(管道成功率、部署频次、监控覆盖率等) | 执行评估命令并人工复核 |
| Gap清单 | 输出四层兼容/升级/替换三分类清单,每层至少 3 条 | 审查报告文档 |
| 可复现 | 盘点脚本与配置文件版本化管理,可一键重跑 | 在干净环境执行脚本 |
验收通过标志:架构师、SRE负责人、算法团队Leader三方签字确认盘点报告,并锁定基线版本。此后任何技术可行性分析均以此基线为参照。