CDS 作为业界知名的云服务提供商,在保证已有的优势情况下依然坚持创新升级。它在 K8S 容器平台导入OpenVINO™ Model Server,以充分利用至强® 可扩展平台的算力,来打造更高效、便捷的 AI 云服务。这一方案已经过实战验证,能够更好地兼顾高性能与低成本,表现出色。
随着公有云逐渐成为人工智能(Artificial Intelligence,以下简称 AI)在各行业落地部署的重要载体,AIaaS(AI as a Service,以下简称为 “AI 云服务”)方案的整体工作效能正获得越来越多的关注。作为业界知名的云服务提供商,北京首都在线科技股份有限公司(以下简称 “首都在线”)旗下的云服务品牌——CDS 首云也正结合自身既有的优势,着手开发性能更优、扩展性更强、部署更便捷且总体拥有成本(Total Cost of Ownership, 以下简称 TCO)更低的 AI 云服务方案。
作为 AI 能力输出的关键环节,AI 模型的部署和推理效率会对方案的整体性能表现产生直接影响,但以往常见的、与某个单一 AI 框架相配套的模型部署工具一方面难以在多样化的应用场景中对不同深度学习框架提供支持,另一方面,也很难根据基础设施架构的差异,更为充分地对推理实施优化。基于这一观察,CDS 首云与英特尔一起,在其高性能 K8S 容器平台上导入了OpenVINO™ Model Server,来为 AI 模型的快速部署及推理效率的提升提供助力。
目前这一全新方案已在 CDS 首云内部的 AI 应用场景,如不良内容检测中进行了初步部署和验证,实践结果表明:基于 OpenVINO™ Model Server 的新方案不仅在用户并发接入能力上远优于传统 AI 模型部署工具,同时在检测时延等关键性能指标上也有更为出色的表现。
把更多、更为先进的 AI 技术与模型更快地导入核心业务,是众多行业企业实施智能化转型、推进商业模式创新、保持核心竞争力的重要秘诀。而借助基于公有云的 AI 云服务来为业务系统提供更直接、快速的 AI 技术或模型能力支持,相比于自己动手构建 AI 应用基础设施以及部署和优化 AI 模型的做法,不仅可以避开不同企业在 AI 技术和人才积累上参差不齐的问题,还可让他们享受到公有云服务既有的部署效率更高、应用更便捷、扩展更灵活等优势。有鉴于此,越来越多的公有云服务提供商都开始积极投入到 AI 云服务领域,并加大了对多样化、差异化和细分化服务的研发力度。
以互联网及移动互联网应用中的不良图像、视频内容的实时检测为例:及时清理不良内容是维护良好网络秩序、推动互联网良性发展的重要手段之一,尤其对于涉及大量视频、图像内容的应用而言,如不能及时清除其中的不良内容,就可能引发用户投诉、产品下架等严重后果。为避免这种情况出现,相关应用的提供商此前多是依赖人工审查的检测方式来排除隐患,但在内容呈爆发式增长后,这种检测方式早已力不从心,无法达成快速检测的目标。因此从事在线存储、电商、在线教育和游戏的企业,如今都越来越依赖 AI 的手段,来对自身产品中可能出现的不良内容进行更及时、高效和精准的检测。而且,它们在选择第三方的公有云服务时,也开始越来越倾向于那些能提供强大 AI 云服务能力的云服务提供商。
作为业界知名的云服务提供商,CDS 首云多年来已在游戏、视频、电商、教育等领域打下了扎实的用户基础,输出了高水平的弹性计算、全球网络等云网一体化产品和服务,同时,它也及时捕捉到了用户们对于 AI 云服务的迫切需求,开始携手英特尔等合作伙伴,基于高性能的 K8S 容器平台,并导入在 AI 模型部署效率、兼容性和性能优化方面更具综合优势的 OpenVINO™ Model Server,为用户打造更加高效、便捷和完善的 AI 云服务能力。
借力 OpenVINO™ Model Server,CDS 首云全新 AI 云服务方案获得的应用优势:
OpenVINO™ Model Server可面向英特尔® 架构的基础设施实施优化,从而容纳更多 AI 业务的接入,与 TensorFlow Serving 服务框架相比,并发接入能力提升了 2.4 倍[1];
通过与K8S的良好集成,OpenVINO™ Model Server 可在 CDS 首云高性能容器平台上为 AI 云服务方案提供更优的性能支撑。在不良视频内容检测场景中,所有并发接入任务的检测时延均低于 30 毫秒[2],满足了实时检测的要求;
OpenVINO™ Model Server 能为多种深度学习框架提供良好支持,从而让 CDS 首云的用户摆脱单一框架的限制。它对 gRPC 和 REST 等标准 API(Application Programming Interface,应用程序接口)的支持,也进一步提升了 AI 云服务方案的可用性。
构建高效 AI 云服务:从 “画龙” 到 “点睛”
与其他致力于提供平台级或应用级能力的云服务类似,AI 云服务或者说所有面向 AI 应用优化、强化的云服务,都不能仅仅限于提供面向 AI 应用加速的硬件基础设施,它一定要在其上部署能够高效分配、调度底层基础设施资源的云平台,以及能在这一云平台上为 AI 应用和模型提供完备运行环境的中间件或框架,云平台和 AI 运行环境的搭配越合理、协作越高效,AI 云服务的整体表现就越出色。
CDS 首云打造 AI 云服务方案的过程,就秉承了这一原则,其架构如图一所示,在基础设施架构层,由英特尔提供的一系列先进计算、存储与网络产品,为其输出了强大的数据处理、存储与传输能力;其上的 K8S 虚拟化层,则负责为底层架构提供节点管理和扩展服务,在将基础设施层的能力物尽其用的同时,也让方案拥有良好的可扩展性;最后,方案提供的 AI 服务将通过容器,为上层的多样化应用场景输出 AI 能力。
图一:CDS 首云 AI 云服务方案架构
基于这一架构,CDS 首云的 AI 云服务能力既能通过解决方案的形式,为选择云平台或裸金属平台的用户提供附加本地服务能力,也能以服务 API 的形式,为用户提供远程 AI 能力输出。以不良内容检测为例来解读,就是用户既可在选择 CDS 首云云平台或裸金属平台构建在线教育、在线游戏等应用系统的同时加载该 AI 解决方案,也可将自有系统与 CDS 首云提供的 API 对接,来获得实时在线内容检测能力。
如果说这一 AI 云服务方案的构建过程如同 “画龙”,那么导入 OpenVINO™ Model Server,就是其 “点睛” 之笔了。这一软件工具是 OpenVINO™ 工具套件的重要组件,如果说整个 OpenVINO™ 工具套件的作用是帮助用户实现模型优化和加速,以达到降本增效的目的,那么 OpenVINO™ Model Server 的使命就是基于和利用英特尔® 架构基础设施提供的算力,来帮助 CDS 首云新方案大幅简化模型部署流程,从而能更高效、便捷地将 AI 模型部署到生产环境,并有效提升推理性能。
OpenVINO™ Model Server 之所以能扮演如此重要的角色,根源就在于它具备独特的架构设计和工作模式,如图二所示,它对外提供了 gRPC 和 REST 两种标准的网络 API 接口,供用户在不同场景下调用,不论用户是在本地,还是在远程启动 AI 工作任务,这些任务都将被接入到部署在容器内的 OpenVINO™ Model Server 服务。随后,服务中的系统调度器会把工作任务分配给某一 OpenVINO™ 推理引擎,推理引擎一方面会根据不同的英特尔® 架构基础设施组件,如第二代英特尔® 至强® 可扩展处理器、英特尔® 服务器 GPU、英特尔® FPGA(Field Programmable Gate Array,现场可编程门阵列)等调用相对应的设备优化插件;另一方面则会把经过模型优化器(由 OpenVINO™ 工具套件提供)优化转换的中间表示文件(Intermediate Representation,IR)与设备优化插件相结合,从而在容器中提供高性能推理服务,并使用户模型在不同的英特尔® 架构硬件基础设施上都能发挥出更高效能。
图二:OpenVINO™ Model Server 架构
上述架构设计及工作流程,让 OpenVINO™ Model Server 具备了以下四大 AI 云服务部署和应用优势:
可面向英特尔® 架构内不同类别硬件基础设施实施性能优化,如图三所示,这一优势可以让用户完成模型训练后,即可将模型部署于不同场景中实施快速推理,有效降低部署和运维成本;
通过与 K8S 良好的集成,OpenVINO™ Model Server 能通过镜像方式便捷地实现模型快速部署、维护和扩展,并具有更优的横向可扩展性,便于为用户提供密集型计算托管服务;
对常见的主流深度学习框架均有良好支持,可帮助用户在设计、部署 AI 方案时摆脱框架束缚,根据需求引入最优框架,增强 AI 服务能力;
统一网络 API 访问能力可允许最终用户基于 CDS 首云的云平台或裸金属平台部署本地化的 AI 能力,也可以采用远端网络调用该能力。对 gRPC 和 REST 等不同 API 接口模式的支持,也使方案的可用性大为增强。
图三:基于 OpenVINO™ Model Server 镜像实施快速部署
实战考验:助不良内容检测兼顾高性能和低成本
在全新 AI 云服务方案成形后,CDS 首云立即启动了有针对性的实践验证工作,并优先选择内部应用需求较为迫切的不良内容检测场景作为 “实验田”。正如前文所述,随着 AI 技术的飞速发展,基于深度学习方法的图像分割、图像识别应用已被广泛地运用于各类场景中,并已被证明在识别精度、识别准确率等方面并不逊于人工方式,又在工作效率和工作持久性等方面有着人工方式无法比拟的优势。不良内容检测就是这些技术的重要应用场景之一,由于 CDS 首云此前一直在提供云存储服务,因此对其存储的数据进行不良内容的排查也是必要的操作。
面对这样一个内部 “刚需” 所在,CDS 首云早就凭借深厚的技术积累及多方位的技术选型,通过自研的深度学习解决方案构建了高效、完整和可扩展的不良图像、视频内容检测服务。其工作流程如图四所示,在模型训练阶段,训练服务器会把用户上传或采集到的需要检测的图像,或分解后的视频帧通过样本标注、模型训练、验证优化等过程,进行反复迭代,最终得到可用的 AI 检测模型。在模型推理阶段,推理服务器则会根据检测场景的不同,选择合适的检测模型实施推理过程,最终得到所需的结果。
图四:CDS 首云 AI 不良内容检测流程
从以上流程可知,通过训练得出的 AI 模型,是整个检测服务能否成功检测出不良内容的 “大脑”,而依据模型对海量图像、视频内容实施检测的推理过程,则是该服务输出高效生产力的关键环节。此前,CDS 首云主要采用 TensorFlow Serving 服务框架等开源工具,来将深度学习模型部署到生产环境进行推理,但这一过程中,用户经常会面临以下几个方面的挑战: 首先是模型在训练和推理的不同过程中,不论采用什么工具,性能和精度都可能存在差异,如果不进行适当调优,就无法更为充分地发挥出工作效能;其次是针对应用场景的变化,用户可能需要选择不同的深度学习框架,如 TensorFlow、PyTorch、Kaldi 等,而 TensorFlow Serving 等模型部署工具通常只与某个单一框架绑定,限制了方案的可用性和可扩展性。
尤为重要的是,AI 模型在不同架构硬件基础设施上构建的生产环境中,推理性能会有明显的差异,而方案使用者如果要针对每一种硬件环境进行重复且繁琐的配置和调试,势必会消耗大量时间,且会对工作效率造成负面影响。
所有这些问题,在 CDS 首云打造的全新 AI 云服务方案中均得到了妥善的解决。得益于 OpenVINO™ Model Server 的部署和应用优势,新方案不仅能让用户获得高可用、易维护且一键部署 AI 应用的能力,在推理性能上也得到了明显的提升,同时还可帮助用户降低 TCO。
为验证引入 OpenVINO™ Model Server 后 AI 云服务的实际表现,CDS 首云基于高性能 K8S 平台,对其在不良内容检测场景中的应用进行了实战检验,验证方案的设计如表一所示:
表一:OpenVINO™ Model Server 验证测试设计
测试基于常见的实时视频不良内容检测展开,采用 MobileNetV2 模型(BS=1),并将 TensorFlow Serving 服务框架作为此次验证测试的对比组。测试结果如图五所示,使用 OpenVINO™ Model Server 的方案在所支持的用户并发数量上远超对比组,相比采用 TensorFlow Serving 的方案提升了 2.4 倍,同时每个并发客户端的延时也控制在了 30 毫秒以内,这对于以每秒 30 帧速度播放的视频内容而言,意味着整个检测流程能够跟上视频播放的速度,达到了实时检测的效果[3]。
图三:CDS 首云针对不良视频内容检测场景的验证测试结果
未来展望
CDS 首云全新 AI 云服务方案的构建成形,及该方案在其内部不良内容检测场景中的 “初试啼声”,都只是它进一步发展壮大的前奏,成为 CDS 首云为用户提供定制化、个性化 AI 云服务的基石才是该方案的终极目标。OpenVINO™ Model Server 为该方案带来的应用优势,也会在其全面走向公有云市场时转化成为它的竞争优势,有这一软件工具助力的 AI 云服务在部署上更便捷、在扩展上更灵活以及性能表现更出色,也有望成为用户们的共识。
接下来,除要在更多应用场景中进一步优化新方案的效能外,CDS 首云还计划与英特尔一道,探索将基于 OpenVINO™ Model Server 的 AI 云服务与边缘计算融合的解决方案,这类方案可将 AI 云服务的应用范围进一步扩展到安防、自动检测、门禁系统等应用场景中,为用户提供更具多样化、差异化优势的云服务能力。
1、2、3解释说明:
数据源自 CDS 首云基于自身数据和模型所做的内部测试,如欲了解更多详情,请咨询 CDS 首云,测试配置:测试组:处理器:单路英特尔® 至强® 金牌 6240Y 处理器,18 核心 / 36 线程,超线程 开启,睿频关闭;内存:6 * 16GB 2666MHz DDR4;存储:2 * 英特尔® S4510 480GB;BIOS:2.48;操作系统:CentOS Linux Release 7.8.2003(Core);Kernel 版本:3.10.0-1127.19.1.el7.x86_64; OpenVINOTM Model Server 版本:21.1;对比组:处理器:单路英特尔® 至强® 金牌 6240Y 处理器,18 核心 / 36 线程,超线程开启,睿频关闭;内存:6 * 16GB 2666MHz DDR4;存储:2* 英特尔® S4510 480GB;BIOS:2.48;操作系统:CentOS Linux Release 7.8.2003(Core);Kernel 版本:3.10.0-1127.19.1.el7.x86_64;TensorFlow Serving 版本:2.3.0。