AI中台的提出
中台战略的兴起
自从中台战略被提出并得到成功实施后,业界反响强烈,国内各家企业纷纷启动了自己的中台化进程。尤其是对于在战略中处于核心地位的数据中台建设,各方都有自己的解读和心得。在数据时代,企业中的大量业务都运行于大数据之上,数据的响应能力、处理能力决定了业务效率,所以中台战略中最主要的、也是实施的起点,仍然是数据中台。数据中台实现了组织内数据标准的统一,并打破数据壁垒,构建统一数据实体,对外提供统一的数据服务。通过这三个“统一”实现了组织内的数据资产中心,为前台业务提供了自动化、自助化的敏捷数据能力输出。
从数据中台到AI中台
数据中台能通过通用的智能数据模型充分支持当前业务背景下多样的智能需求吗?答案是比较困难,原因在于业务智能化过程的复杂性。
数据中台本身具备以数据为核心、算法固定、有一定的自动性等特征,包括了流式计算能力、批量计算能力、数据可视化技术等功能。
而通常智能分析任务包括了标注、回归、分类、聚类、推荐、视觉、语音、自然语言理解等,每个算法模型的实现又包括了数据预处理、特征分析、建模、训练、部署等多个环节,实际中的应用更是有可能包括多个模型。每一项能力都需要耗费大量的人力物力和时间来进行开发,而且由内而外的能力扩展与数据本身的相关性是由强至弱的,也就是说随着能力层次的不断扩充。
而数据中台以数据为核心,其智能化能力若想支持到以上所有环节,工作量绝对不小,并且会偏离数据中台的原有目标,因此让数据中台承担全部的智能化业务支持是不合适的。
AI中台解决的痛点
AI中台致力于解决目前智能应用研发过程中存在的响应缓慢、效率低下问题,包括但不限于:
1) “烟囱式”开发,项目成本高、不易集成,过程重复,缺乏能力沉淀;
2) 研发环节繁多,缺少优化、协同、自动化辅助,业务响应缓慢;
3) 模型研发缺乏标准指导,服务接口混乱,难以维护管理;
4) 缺少统一的数据访问渠道,数据获取难、标准不一致,重复的数据预处理与特征工程;
5) 缺少统一的模型运行、监控平台,以及更新、维护机制;
6) 基础资源分散管理,未得到充分利用,造成浪费。
AI中台的技术架构
AI中台主要成分包括业务理解、模型学习、数据处理和运行监控四个步骤及中台管理模块:
1) 业务理解,根据业务需求设计实施方案,服务编排,通用方案模板管理;
2) 数据处理,包括数据获取和数据准备与分析;
3) 模型学习包括特征工程、模型训练和模型评估,以及可复用模型库、算法库管理;
4) 运行监控包括模型自动部署运行、性能监控和对外服务接口管理;
5) 中台管理模块进行角色、权限统一控制和资源管控。
AI中台总体架构
核心技术模块
硬件资源管理
计算资源可包含不同类别的计算硬件,如CPU、GPU、FPGA、ASIC等,提供适合与应用场景的运算资源(如高效节能的处理器)。存储资源包括不限于缓存、主存、辅存等各级存储。网络资源包括但不限于异构单元间、计算节点间或集群间的互联网络。异构资源可以不同形态,如服务器、一体机、边缘计算节点、计算集群和云基础设施等方式提供。异构资源池支持资源的动态调度、按需(数据规模、算法模型、实时性要求等)分配,满足计算任务的资源需求。资源池能够灵活集成各类计算单元并发挥其各自特性,构建异构计算节点,节点内实现多粒度并行和任务调度,节点间实现协同调度,基于网络提供系统扩展并优化互联性能,支撑部署大规模AI计算框架和相关算法。
数据管理
数据的全生命周期管理,包含收集、预处理、分析、可视化及访问过程。数据管理包括各类数据源(结构化、半结构化、非结构化数据)的接入,中间数据的管理、最终数据的管理、元数据的管理、数据质量管理、数据的标注,并提供统一的数据管理工具等。
- 各类数据源,包括结构化数据(例如传统关系型数据库),半结构化数据,非结构化数据(例如图片、音频、视频等)的标注;
- 引入和解析常见文件和数据格式(例如 parquet、carbondata 等);
- 数据生命周期管理,可以对中间数据及产出数据进行增删改查及数据检索等操作;
- 数据访问及权限控制;
- 数据 IDE 工具,支持数据可视化;
- 元数据管理方法(例如数据元信息生成、增删改查、元数据分类、血缘管理等);
- 数据预处理手段(例如数据的聚合、过滤、排序等);
- 常见的多媒体文件格式的元数据信息获取与管理。
模型训练与推理
机器学习引擎基于各类机器学习算法(例如统计机器学习、深度学习、强化学习、迁移学习等)进行模型训练与推理。机器学习引擎支持开源的计算框架、算法库,兼容开源的主流接口,可根据商用的要求在企业版本中增强或优化。
机器学习算法库为算法提供安全可靠的管理功能,包括算法的注册、存储、下载、评价、优化以及用户鉴权、多版本管理、升级维护、运行监控等。 按算法需求,机器学习引擎提供特征数据的选择、提取、构建等功能。
模型训练与推理的要求包括训练和推理与机器学习算法库两方面。
训练与推理的要求包括:
1) 主流开源计算框架(例如 Tensorflow, Caffe, PyTorch);
2) 统计机器学习算法:监督学习算法(例如逻辑回归,支持向量机,梯度提升决策树)、非监督学习算法(例如聚类算法,关联规则学习);
3) 多类型的深度学习算法 (例如卷积神经网络,递归神经网络等);
4) 主流深度学习框架模型镜像的发布管理、版本管理,以及服务实例、资源的动态伸缩调度;
5) 根据算法需求,支持特征的选择、提取和构建。
机器学习算法库的要求包括:
1) 算法的统一注册和管理;
2) 算法训练的日志及中间结果分析功能;
3) 建模方式(例如拖拽式 DAG 图、 Notebook 等);
4) 集成提供标准接口(例如 REST);
5) 算法的分布式训练,提供高性能运算能力;
6) 算法参数调节功能,提供推荐参数帮助用户进行调参
模型库
模型库提供对机器学习模型开发和存储管理能力。 模型管理包括预置常用的AI模型,以及支持模型导入、导出、更新、发布、迁移、版本控制等功能。模型开发通过可视化辅助开发工具、多模型融合开发、模型二次训练等方式支持模型的开发与部署。
模型库提供适用于应用场景的模型功能,包括:
-
- 模型的导入导出、更新、 版本管理、权限控制等基础功能;
- 预置常用 AI 模型,集成典型机器学习模型,支持根据输入数据的重新训练,提升模型在应用场景下的效果;
- 工作流应支持多模型的融合开发;
- 提供可视化开发和管理界面;
- 基于多租户的权限控制,实现模型的安全管控;
- 提供模型封装和发布的能力,通过统一的接口提供模型服务的调用。
算法服务
算法服务是AI应用访问、利用机器学习能力和资源的主要方式。为满足应用场景的需求,系统提供各类通用算法服务(例如视频、图像、语音、自然语言处理等)。系统提供统一算法服务框架,进行服务管理、服务运行状态监控、服务上线等,并提供一致性的服务接口,供各领域上层应用调用。
算法服务包括以下几个方面:
-
- 多类型算法服务(例如图像、视频、语音、 自然语言处理等);
- 在不影响现有算法服务能力的前提下,部署新的算法服务;
- 算法服务的增删启停、服务版本管理、服务历史记录、服务当前状态的查询等;
- 一种或多种离线服务(例如模型自学习服务、批量推理服务等);
- 一种或多种在线实时服务(例如实时推理服务等);
- 多用户同时使用算法服务;
- 配置用户权限,控制用户所能调用的算法服务;
- 同一算法服务的多实例部署;
- 应支持不同算法服务并发调用,各服务独立运行;
- 在多用户、 高并发情况下的流量负载均衡,保证服务稳定运行;
- 通用简便的服务上线流程,提供统一服务框架;
- 统一、易用的算法服务接口框架
支撑技术模块
运维管理
运维管理提供系统所需的基本运维(例如安装部署、扩展、监控、告警、健康检查、问题及故障定位、升级和补丁、备份恢复、操作审计等)及管理功能(例如资源管理、权限管理、用户管理、日志管理、配置管理、安全管理等)。
运维管理包括:
- 多用户管理,多用户的权限管理(例如增删改查), 及常用的认证系统;
- 多租户管理,租户间的应用隔离、数据隔离、 资源隔离、运行隔离;
- 安装与升级能力,分发安装包、数据或模型参数文件,进行安装、升级、扩展和回滚;
- 备份与恢复能力,安装包、数据或模型参数文件的备份,以供故障后的系统恢复;
- 运行环境的监控能力,包括底层资源的统一监控(例如 CPU 利用率、系统负载等);
- 日志管理,可以根据日志进行故障定位及排查;
- 针对监控指标及日志的告警能力;
- 主要监控指标的可视化展示功能。
业务理解模块
业务理解包括方案模板管理、方案设计、服务编排、服务共享。业务理解的功能包括以下几个方面:
1)业务需求产生后,从数据处理模块获取数据分析和参考,采集数据样本提供可视化支持;
2)是否具备可复用的方案模板?“是”即直接复用方案,只需改变数据;“否”即进行方案设计;
3)分解方案到各个服务中,并对服务进行合理有效的编排,同时考虑服务可供复用;
4)输出三个方面的内容:向数据处理模块输出数据获取要求;向运维模块输出产品封装指导;向模型训练模块输出模型训练任务。
分布式计算调度
分布式计算调度分为任务调度和资源调度。任务调度是根据应用特性和运算需求将应用负载分解成任务,并配置任务执行的顺序和优先级。资源调度依据应用对资源的需求,将合适的异构资源分配给特定任务,满足任务对运算性能和时间的要求。多任务应共享资源以优化资源使用率。
分布式计算调度在对计算、存储、网络等异构资源的统一纳管的基础上,系统根据资源标签将任务优化调度,以容器形式支持任务的大规模部署。