安防,是目前人工智能企业营收最多的行业之一。
在高清监控摄像头数量与AI渗透率不断递增的情况下,由摄像头采集的图像、视频流数据,需要更强大的计算引擎对其进行传输、存储、训练和分析。
在现阶段的各类安防项目中,依靠智能DVR和NVR显然无法满足这些要求;而稳定性和安全性都欠佳的X86服务器,由于基于PC机体系结构,也很难在安防企业级服务器市场有惊艳表现。
那么人工智能时代下的安防行业,到底需要什么样的服务器? 针对一系列问题,雷锋网人工智能开发者与学术社区“AI研习社”,特地设立《AI安防行业到底需要什么样的服务器?》主题问答,发起讨论。
我们也邀请了浪潮商用机器OpenPOWER产品营销部总监张琪针对用户们的问题进行解答,浪潮商用机器作为业内少有的可提供安防视频分析软硬件服务器一体机的企业,对AI安防需求有着深刻的理解。与此同时,以“海、大、宇”为代表的传统安防公司、以“CV四小龙”为代表的AI公司、的众多专家,也从自己的角度对用户提出的诸多问题进行回答,雷锋网AI研习社节选了4大主题的9个问题,予以呈现:
一、AI安防服务器的需求
1.现阶段大部分安防公司使用的什么样的服务器,既能满足安防企业现有的需求,同时也能应对好未来的AI算力需求?
李迪:
作为安防公司技术高管,之前X86服务器一直都是我们采购的首选。
当下的问题是,各科成绩都达标的 X86服务器,在很多业务要嵌入AI时,遇到蛮多棘手的问题。
从安防用户实际使用角度考量,目前X86服务器应用在安防行业主要存在三大问题:
CPU负责逻辑运算的单元并不多,在多任务处理时效率低下。面对海量视频信息,传统X86服务器单纯以CPU为核心的数据中心部署已经不能很好地满足并行灵活计算、多变环境的计算需求,很难在安防企业级服务器市场有惊艳的表现。
以前的视频数据只需存在后台,做少量分析即可,也就是说存储足够大就行;今天,很多客户都希望我们能够实时处理这些海量视频信息并反馈结果,而这就意味着系统需要同时做解码、做视频结构化、做识别、搜索等等,X86明显就不够用了。
换句话说,X86可以类比手机里的功能机,它能够满足单一的通信处理需求,而AI融入的安防市场,更需要一台强大的智能手机,配备更强大的性能以适配游戏、图片处理等个性需求。
越来越多新应用的出现,传统的X86计算架构会遇到很多瓶颈,包括数据瓶颈(处理器的计算单元以多快的速度获取和交换数据)、计算瓶颈(单位空间内能集成多少计算能力)、延迟瓶颈、通信瓶颈。
就像设计时速30码的道路难承载均速100码的车辆通行一样,很短时间内就可造成道路拥堵甚至瘫痪。
今天来看,面对大计算、智能化场景,什么样的服务器+软件解决方案,能够最先解决算力问题,又能够更好降低功耗与成本,这就是好产品。
胡晓:
1.未来城市大脑级的安防网,对检索、比对、实时三维建模的运算能力要求极高
2.人车结构化数据增多,安全性会越来越重要
3.需要更大效能的传输,未来实现图像特征编码能力
4.前端越来越智能,后端存储需求可能会下降
总体而言,服务器需适应这四大问题。
二、为什么客户方需要服务器公司提供的软硬件一体解决方案?
1. 服务器厂商打造的安防AI软硬件一体机端到端解决方案,相比于AI公司开发的方案,有哪些优势,有哪些难点需要攻破?
李志鹏:
现在基于人工智能的生态则有个特点,主要是在于生态的多样性和不成熟。从数据清理开始,导入算法,通过框架建模,形成一个人工智能的应用,传统客户没办法直接使用人工智能应用,整合复杂性更高。
所以服务器公司给客户提供端到端软硬件解决方案,在现阶段是符合商业规律的,单机销售模式目前还挺难走通。只能说这种模式比单机更有优势,但相比AI公司,真不好说。
钟林:
AI公司的优势在应用层的算法性能方面,服务器公司的优势在整体成本层。各有优劣,所以具体看场景吧,复杂场景动态人脸找AI公司,其他简单的场景找服务器公司。
包翰霁:
其实做一体机方案的服务器公司比较少,以浪潮商用机器的视频分析方案为例,他们的方案因为提供的是一整套软硬件产品,尤其是算力模块和软件包、图像定制化开源框架,所以适用的场景更加宽泛,受限的环境条件要更小,包括光照条件差,监控设备的老旧和摄像头清晰度不够的问题,浪潮的方案都能蛮好地适应这些问题。能够最大程度上利用好客户现有的设备。
难点在于浪潮在人脸识别的单点场景上和CV四兽比起来性能上还有差距,不过我上次听浪潮的思路是,寻找合适的AI独角兽合作,互相补足,一起打造好的方案。
2. 安防行业人脸比对嫌疑人检测服务等,后端都是有大量的数据在支撑,并且这些数据在快速增长。这些客户都在用分布式存储来承载这些数据。所以分布式存储要求有很好的弹性扩展性和高并发响应能力,这就对集群内的单节点存储容量,存储读写速度和集群内节点间通信速度都有较高要求。那么现在AI安防项目需要什么样的存储服务器呢?分布式存储解决方案可以解决安防中的哪些痛点?
孙钟前:
我们部署过分布式存储方案来管理海量非结构化数据,目前来看,它的确可以很好地应对包括云、大数据、智能分析等诸多安防实际场景。”
之前行业中较为常见的存储方案大概包括DAS、NAS、SAN(IP SAN&FC SAN)等,眼下,以上几种方案在实际应用过程中已经遭遇一些发展瓶颈。
譬如NAS本身的系统瓶颈,存在单点故障以及性能问题,网络协议还会带来额外的IO开销,很难满足安防AI对大规模数据高存取速率的需求。
再譬如SAN一般是将块设备提供给不同服务器使用,但服务器之间要共享数据仍然需要上层软件来控制。虽然一些基于SAN的共享文件系统,如Veritas、CXFS等软件利用元数据服务器控制数据访问,但元数据服务器本身也是潜在的瓶颈。
就安防行业来说,相比此前较为常见的传统存储方案,基于GPFS的分布式存储服务器解决方案在大规模集群应用中优势明显,未来应用前景会越来越广阔。
张琪:
安防行业以前对数据存储的主要需求就是数据安全,查询快速,容量大。在安防智能化之后,对存储服务器的新增需求就是强大的算力和高吞吐量。
分布式存储的多节点备份和高并发正好可以解决安防领域的数据安全和查询速度的需求;分布式存储的弹性扩展可以让客户按照需求灵活扩容,同时以比集中式存储更经济的容灾备份方案进行基础设施投资,可以避免客户一次性投资过大;安防智能化之后,分布式的高IO扩展性正好能够满足更强的算力需求。
三、各大重要安防场景,需要什么样的视频监控解决方案?
1.在车站、机场这类人流较多的封闭场景中,通过识别非人脸特征(穿搭、外形等信息),进行目标对象检索与跟踪,往往比人脸来的更有效。一款优秀的非人脸信息结构化系统,需具备哪些条件? 非人脸结构化系统在哪些场景中比人脸识别更实用?市场上有哪些优质的解决方案?
谢鹏宇:
视频结构化的应用场景与人脸识别的应用场景是互补的,在开放式空间区域中,很难基于卡口架设人脸识别摄像头,而且人群相互之间的遮挡严重,无法根据人脸识别技术进行识别、定位、追踪及数据整合。而非人像的视频结构化系统可以在广角度下捕捉全屏中的目标,通过整体特征对目标进行追踪,在公安、机场、高铁、交通领域都具有广阔的应用前景。
张琪:
一款优秀的非人脸信息结构化系统需要对各个厂商的视频设备和监控系统有优秀的兼容性和深入的理解。同时也需要优秀的对视频进行结构化处理的能力。
在光照条件差,视频设备的清晰度不够,目标距离较远,成像较小,以及在广域监控的场景下。非人脸结构化系统都比人脸系统有更好的应用。人脸系统在这些较差的条件下很难获取到有质量的人脸信息。
市面上目前只有浪潮商用机器在专注于这一场景提供解决方案。
2.交通大脑车辆调度和红绿灯管控,要解决哪些核心难题?
张琪:
智能交通在车辆调度和红绿灯管控方面需要解决的高峰实时调控的问题。如何通过实时路况实时调整,解决高峰拥堵的问题。方案通过检测每天各个时段的车辆通行密度,进而绘制整个城市的车辆通行密度图。然后制定新的红绿灯变化规则,调节拥堵路段的通行密度,达到调节拥堵的效果。
谢鹏宇:
系统做车辆调度之前有个比较大的难题,就是对异常事件的检测。除了识别人、车、物以外,还必须要感知事件,平时车流都是正常通行,这样的数据是大量的,而异常数据一般是稀少的,所以基于时空异常的检测,比如车与人相撞、车与车相撞、车与路相撞,人与人相撞等少见问题,其实挺难训练出一个高识别率的模型的。
3.上述场景中,有哪些优质的定制化深度学习开源框架,可以让数据训练和建模更加便捷?
曹国胜:
选择深度学习开源框架?可参考下面这些考量标准:
1、与现有编程平台、技能整合的难易程度
2、和相关机器学习、数据处理生态整合的紧密程度
3、通过此平台做深度学习之外,还能做什么?
4、对数据量、硬件的要求和支持
5、深度学习平台的成熟程度
机器学习平台在功能侧重上是不一样的,把他们分成四大类:
1.第一类是以 Caffe、Pytorch、MXNet、CNTK 为主的深度学习功能性平台。这类平台提供了非常完备的基本模块,可以让开发人员快速创建深度神经网络模型并且开始训练,可以解决现今深度学习中的大多数问题。但是这些模块很少将底层运算功能直接暴露给用户。
2.第二类是以 Keras 为主的深度学习抽象化平台。Keras 本身并不具有底层运算协调的能力,Keras 依托于 TensorFlow 或者 Theano 进行底层运算,而 Keras 自身提供神经网络模块抽象化和训练中的流程优化。可以让用户享受快速建模的同时,具有很方便的二次开发能力,加入自身喜欢的模块。
3.第三类是 TensorFlow。TensorFlow 吸取了已有平台的长处,既能让用户触碰底层数据,又具有现成的神经网络模块,可以让用户非常快速的实现建模。TensorFlow 是非常优秀的跨界平台。
4.第四类是 Theano,Theano 是深度学习界最早的平台软件,专注底层基本的运算。
单纯就安防图像而言,Caffe目测是最好的选择。
张琪:
通常大家都使用Tensorflow,Caffe,Pytorch这些深度学习开源框架,浪潮商用机器针对市场上主流的框架进行优化,使之更适用于安防视频分析场景,这款框架叫Power AI,浪潮商用机器也特别推出了两个免费的功能模块:LMS(Large module support)深度学习大模型支持:用于解决超大模型训练的问题,比如高清卫星图片等;DDL(Distributed Deep Learning)分布式深度学习模块:通过更优化的算法引擎和预设的场景算法去提高训练效率。
4. 为了让系统适配更多的行业场景,为了给更多第三方开发者提供AI开发平台,AI安防行业需要一个什么样的开放平台,并能提升服务器处理的视频流路数?
张琪:
AI安防需要能广泛兼容各种视频设备和视频格式的平台。以达到充分利旧,保护投资和最大化场景应用的效果。浪潮商用机器的创新应用优选平台不但可以处理200路视频影像,更重要的是可以兼容目前客户购买的各种类型的监控设备。
陈明:
海康最近提出的AI开放平台重点谈到了这么三点:一是它能够基于很少量数据,快速生成满足场景化需求的AI算法;第二是算法训练、编译、优化全部自动实现,对零算法基础的客户提供一站式服务;最后它基于海康威视的硬件基础,开放了具有强大感知能力的智能产品。
这三个基本条件在任何一个视觉行业都是通用的。
曹国盛:
换个角度讲,对于很多大公司来说,开放平台是没有办法的办法,开放就意味着损失,别人从哪个角度都可以随意切入进来;如果不开放,想走数据运营的话,就意味着没有更多人参与,自己一家是无法搞定的。双刃剑。
赵非明:
开放平台还有种模式,以华为为例,他们做安防的思路比较简单,生态合作、分层解耦,通过上层的影响力,提供一整套的解决方案,自己能够提供的就自己做,自己做不了就推荐合作伙伴去做。
这种打法能在很短时间内威胁到海康的核心利益。分层解耦的提出,就意味着系统不需要统一,用户在每一层都可以选择最好的厂商,然后做开放性的接口开发,谁都可以参与项目竞争。
高度成熟的市场一定是用户导向的,一定是越来越开放。
未来的行业格局,一定是分层的,各个层面都有专业的公司,各个细分领域会出现巨头,但不会出现类似海康这样的安防全产业链巨头。
四、什么性能水平的服务器可支撑AI安防项目的顺利落地
1.安防场景中需要处理大量图像,而图像占极大的内存带宽,严重阻碍了信息传输,如何通过新一代的信息传输技术降低带宽延迟,提高数据处理效率?
张琪:
浪潮商用机器的服务器产品中,OpenPOWER平台支持PCIE4.0以及NVlink2.0,相对于X86平台拥有数倍的带宽以及更低的延时。在处理多路并发视频信息和及时分析上拥有更好的性能表现。
曹国盛:
一般来说,GPU是专为并行计算而设计的专用协处理器,通常其内部都集成了数千个高速运算核心。由于GPU通常都可以直接搭配高带宽存储器协同工作,因此比使用一般RAM的CPU运算速度快出一个数量级。
目前虽然一些企业和机构的数据库已经使用了GPU,但普遍存在一个设计缺陷:其数据库管理方案都是将数据库存储在CPU一侧,当接到用户的数据请求时,将数据搬移到GPU一侧进行处理,然后再把处理结果移回至CPU进行存储。也就是说,GPU并非真正的系统核心。这种机制决定了即使通过GPU加快数据处理速度,但把处理结果搬回CPU的过程仍然浪费了大量时间。
如果没有像传统系统那样将数据全部存储在CPU一侧,而是将GPU作为真正的核心,利用高速缓存机制将尽量多的数据直接存储在多内核协同工作的GPU一侧,这样做的结果就可避免数据搬移过程中耗费的时间,提升了运算效率。
虽然已有相应的解决方案去加快GPU与CPU之间的信息流通,但仍旧存在延时等问题。
目前比较前沿的加速CPU与GPU信息交方案是IBM与NVIDIA联合研制的NVlink信息交换通道。楼上浪潮商用机器的张琪大牛也谈到过NVlink,我从使用者角度再来谈谈NVlink。
GPU和CPU间的数据传输速度都是一项技术瓶颈,因为GPU的显存能够快速而少量的读写数据,而CPU使用内存读写则大量而慢速,因此,CPU的传输带宽大于GPU。NVlink通过调整相应架构,使得GPU和CPU间的传输速度获得巨大的提升。
其实IBM早在几年前便注意到了这种趋势,随后它们与NVIDIA合作,去加快新数据中心工作负载的处理速度。经过四年的研发,POWER8服务器联合了NVIDIA的Tesla P100 GPU和NVlink互联技术,实现了更高的数据性能分析和深度学习能力提升。早期IBM和NVIDIA技术如此紧密的结合使得数据流动速度比使用PCIE快了5倍。
NVlink除了可实现GPU-CPU节点内部的高速互联,同时还能在GPU-GPU甚至CPU-CPU之间形成高速互联。
如果服务计算量大的客户,一般采用的是GPU集群,这个时候集群中GPU与GPU之间的高速互联就非常关键。当然,数据库也并非完全在GPU中处理,也有一小部分会放在CPU中,具体会根据客户的成本以及数据量等问题来灵活安排。
为了让GPU集群以及CPU-GPU之间通信顺畅,近几年,在技术合作上,以IBM和浪潮商用机器为代表的Power系列的产品会为客户的GPU数据库提供GPU-GPU以及GPU-CPU的NVlink通道机器Minsky。在市场方面,Power会向客户银行推广包含GPU数据库的一体机。
这类客户分两种,一种是对方只要打包好的、直接能够使用的产品,他们只需知道这个引擎如何使用即可,另外一种客户则要是想要自己买机器、做数据库、做算法,自己搭建人工智能引擎。
过去IBM和现在的浪潮商用机器主要服务于前者,以一体机的形态把相关的人工智能技术以及GPU数据库进行整合,从而做成企业级直接使用的、没有很多指令集、直接连接的产品。
2. 服务器联动多路前端智能摄像机,需要不断提取大量的人车特征,并传输至后台进行结构化分析和对象识别,后方的服务器如何保证在极短的时间内对高并发的各类算法和智能分析作出准确回应?
张琪:
主要依靠处理器的多核多线程的高并发性,以及处理器和GPU的高带宽性。发挥强大的算力和高吞吐能力去运行算法模型,处理海量数据。