2. Serving架构总览:模型上线全流程与核心组件
信用评分模型从训练完成到真正服务于业务决策,需要经过一条完整的工程化链路。本章从宏观视角梳理模型上线的全流程,并拆解Serving系统的三大核心组件,帮助你在后续章节中建立清晰的架构认知。
2.1 模型上线全流程:训练 → 打包 → 部署 → 监控
一个信用评分模型从离线训练到在线服务,通常经历四个阶段。每个阶段都有明确的输入输出和质检标准。
关键认知: 模型上线不是一次性的“发布动作”,而是一个持续迭代的工程闭环。打包和部署环节的自动化程度,直接影响模型迭代速度和线上稳定性。
下表总结了每个阶段的核心任务、产出物和常见工具:
| 阶段 | 核心任务 | 关键产出物 | 常用工具/框架 |
|---|---|---|---|
| ① 模型训练 | 特征工程、算法选择、超参调优、交叉验证 | 模型文件(.pkl / .joblib / .onnx) | XGBoost、LightGBM、Scikit-learn |
| ② 模型打包 | 模型序列化、依赖锁定、版本标记、镜像构建 | Docker镜像 / 模型包(.tar.gz) | Docker、MLflow、BentoML |
| ③ 模型部署 | 容器编排、灰度发布、A/B测试、流量切换 | API端点(REST/gRPC) | Kubernetes、Kserve、Seldon Core |
| ④ 模型监控 | 性能指标采集、数据漂移检测、告警通知 | 监控看板、告警规则 | Prometheus、Grafana、Evidently AI |
实战建议: 在信用评分场景中,模型打包阶段最容易忽略的是特征逻辑的固化。训练时的特征工程代码必须与Serving时的特征计算代码保持完全一致,否则会导致线上评分偏差。建议将特征工程代码也打包进模型镜像中。
2.2 Serving系统核心组件
一个生产级的信用评分Serving系统,通常由三个核心组件构成:API网关、模型引擎和特征存储。它们各司其职,共同支撑高并发、低延迟的评分服务。
2.2.1 API网关:系统的入口守卫
API网关是评分服务对外的统一入口,负责处理所有外部请求的接入和预处理。在信用评分场景中,API网关承担以下职责:
- 请求路由:根据请求路径或Header将流量分发到不同版本的模型服务(如v1.0、v2.0)。
- 限流与熔断:防止突发流量冲垮后端服务,保护模型引擎的稳定性。
- 鉴权与审计:验证调用方身份,记录每次评分请求的调用日志,满足合规要求。
- 协议转换:将外部HTTP/REST请求转换为内部gRPC调用,提升通信效率。
常见陷阱: 信用评分场景中,API网关的超时设置需要特别谨慎。评分请求通常要求在200ms内返回,网关的超时时间应设置为后端推理时间的1.5倍左右,避免因网络抖动导致大量超时重试。
2.2.2 模型引擎:推理的核心
模型引擎是Serving系统的计算核心,负责加载训练好的模型并执行推理。在信用评分场景中,模型引擎需要满足以下要求:
- 多模型管理:支持同时加载多个版本的评分卡模型,用于A/B测试或灰度发布。
- 高性能推理:利用批处理(batching)和模型优化(如ONNX Runtime)提升吞吐量。
- 特征预处理:在推理前执行与训练时一致的特征变换逻辑(如WOE编码、分箱映射)。
- 健康检查:提供就绪探针(readiness probe)和存活探针(liveness probe),便于Kubernetes管理。
2.2.3 特征存储:实时特征的基石
特征存储是Serving系统中的数据中间层,用于统一管理离线训练特征和在线推理特征。信用评分模型依赖大量实时特征(如近30天逾期次数、近7天查询次数),这些特征需要从多个数据源实时计算并缓存。
| 特性 | 离线特征存储 | 在线特征存储 |
|---|---|---|
| 数据源 | Hive / 数据仓库 | Kafka / 实时流 |
| 存储介质 | Parquet / ORC文件 | Redis / Cassandra |
| 访问模式 | 批量扫描 | 点查(Key-Value) |
| 一致性要求 | 最终一致性 | 强一致性(同一用户) |
| 典型工具 | Feast、Hopsworks | Feast Online Store、Redis |
实战建议: 特征存储是Serving系统中最容易出问题的组件。常见问题包括:离线特征与在线特征计算逻辑不一致、特征延迟导致评分偏差、特征缺失时的默认值处理。建议在特征存储层加入特征血缘追踪和一致性校验。
2.3 组件间的协作流程
一次完整的信用评分请求,三个核心组件按以下顺序协作:
- 请求到达API网关:网关校验Token、解析请求参数,提取用户ID和请求的模型版本。
- 网关转发至模型引擎:网关将标准化后的请求(含用户ID)发送给模型引擎的推理接口。
- 模型引擎查询特征存储:模型引擎根据用户ID从特征存储中拉取该用户的实时特征向量。
- 模型引擎执行推理:将特征向量输入加载好的模型,计算信用评分和风险等级。
- 返回评分结果:模型引擎将评分结果返回给API网关,网关封装后响应给调用方。
性能目标: 在信用评分场景中,端到端延迟通常要求 < 200ms(P99)。其中特征存储查询占40-60ms,模型推理占20-50ms,网关处理占10-20ms,剩余为网络开销。每个组件都需要针对延迟目标进行优化。