③ 基于模型在线推理服务资源的弹性扩缩容方法 , 基于模型服务的资源使用率实时监控指标和期望资源计算公式进行动态的扩展或回缩调整 , 既保证模型推理服务的资源需求 , 又减少资源的闲置浪费 。
④ 基于模型自动化的模型筛选方法和策略模板 , 对线上模型服务的更新升级方式进行可视化的配置 , 使过程变得灵活简单 , 且减少人工操作 。
2. 系统架构设计
高可用模型在线推理系统的架构图如下:

文章插图
图1 机器学习模型在线推理系统架构图
该系统包含的各功能模块的设计以及模块之间相互协作关系如下文所述:
(A)模型在线服务设计器:用户需要将训练好的机器学习模型部署为在线服务、对用户请求服务传递的数据进行推理时 , 通过该系统可视化界面进行相关配置 。配置内容包括:
1)服务名称、服务类型(无状态服务、有状态服务)、服务升级策略等;
2)从(B)模型仓库中选择需要部署为在线推理服务的模型及对应的版本;
3)从(C)容器镜像仓库中选择模型在线推理服务运行的容器镜像 , 例如安装好Scikit-learn、Tensorflow、PyTorch、Keras、Caffe、MXNet等基础算法库、依赖包;
4)配置服务运行所需的硬件资源(CPU/GPU/内存/存储等)的需求范围和分布式实例的数量范围;
5)模型在线推理服务的输入/输出参数等等 。
(B)模型仓库:指模型构建人员基于不同的框架针对具体机器学习任务训练好的模型文件及模型元数据信息的管理仓库 , 提供模型的版本管理、模型元数据信息的预览对比、模型的多维度分类、排序、搜索等功能 。可将模型仓库的任意版本模型部署为批量离线服务或实时在线服务或发布到模型交易市场 。
(C)容器镜像仓库:主要提供模型训练、模型推理任务等的容器镜像及镜像管理 , 包括不同硬件平台(CPU/GPU服务器等)上算法模型运行所需的基础算法库、依赖包等软件环境 。在(A)模型在线服务设计器中设计具体模型在线推理任务时选择相应的容器镜像即可 , 无需运维重新搭建运行环境 。
(D)模型微服务引擎:根据用户在(A)模型在线服务设计器中的具体配置 , (E)Kubernetes集群调度器依据服务的计算规格配置 , 利用节点选择器将模型服务调度到指定的目标计算节点上 , 然后从(B)模型仓库中拉取用户配置模型文件和对应的模型元数据信息以及从(C)容器镜像仓库中拉取用户配置的模型推理服务运行的容器镜像到目标节点 , 通过Service WrApper模块将模型算法自动封装为可容器化运行的模型推理服务 , 最后启动引擎对外提供服务 。(D)模型微服务引擎与(E)Kubernetes集群协同配合 。
(E)Kubernetes集群:指基于开源的Kubernetes和自研适用于机器学习场景的调度插件搭建的生产级别的容器编排系统 , 用于对(D)模型微服务引擎中的模型推理服务及其配套的资源进行管理 。
基于容器技术、自研调度编排技术对(F)基础设施中CPU异构集群、GPU异构集群、Ceph/HDFS存储服务等基础资源进行合理的分配和调度 , 为模型服务提供高可用的运行时环境 。通过标签的方式来管理CPU/GPU异构集群中的计算节点 , 即将不同的计算节点划分为不同的可用区或组 。
在部署模型在线服务时 , 使用节点选择器将模型在线服务部署至带有指定标签的目标计算节点上 。为了保证高可用 , 每个标签组合的目标计算节点数大于1 。从而避免一台目标节点宕机后 , 调度器还能找到满足条件的计算节点将宕机节点上的在线服务对应的容器迁移到其它计算节点上 , 从而保证模型在线服务的高可用性 。
(F)基础设施:包括CPU异构集群、GPU异构集群、Ceph/HDFS存储服务等 , 为模型推理服务提供基础的硬件资源 。
(G)模型服务管理:包括模型在线推理服务的服务发布、服务注册、服务发现、服务上下线、服务重启、服务版本管理等 。
(H)压力测试/在线服务:指将部署上线的模型推理服务进行压力测试或开发给需求方提供模型推理服务的功能模块 。压力测试提供json、数据文件、并发请求三种方式对部署的模型推理服务进行长时间或满负荷的运行测试 , 并生成服务的性能、可靠性、稳定性报告;在线服务是指将模型推理服务的API接口、调用方式及反馈状态相关说明暴露出来 , 供内、外网请求服务 。服务请求经由(I)负载均衡器分发到(D)模型微服务引擎中的各个模型服务实例中 。
推荐阅读
- 一篇短文介绍 Defer 是如何工作的
- python 如何使用HttpRunner做接口自动化测试
- 无服务器技术如何实现最佳的DevOps实践
- 如何用DL4J构建起一个人脸识别系统
- 如何看客厅风水是藏风纳气还是一泻千里?
- 客厅风水:客厅地板如何装饰?
- 如何让客厅风水带动家居运气
- 客厅的沙发应当如何摆放?
- 客厅风水:如何布置客厅的财位?
- 黄山毛峰茶的冲泡方法,黄山毛峰如何冲泡
