Viscovery公司已经成立8年,在2010年投入影像和视频分析。目前,行业内对流量变现这个需求非常强烈,无论是过去做移动端或者云端以及现在IoT在线视频。如今视频网站生存不易,数据量非常大,它们透过CDN、透过很多基础设施提供服务,但是怎么样让视频的投资报酬率可以回收呢。Viscovery所提供一个视频分析工具重点在于可以帮助他们在广告或者电商上做好分析功能,这就是目前的主要业务。
“借助基于英特尔全新一代至强融核处理器的高性能计算能力,Viscovery首次尝试构建CPU-Only的全新架构的视频深度学习平台,在视频流识别的能效上比传统方案提升明显。”Viscovery CEO黄俊杰这样评价KNL。借助软硬件的协同整合,Viscovery能更全面、高效的服务视频与直播平台需求,将深度学习广泛应用在商业环境之中。
Omni-Path平台让视频深度学习性能提升近百倍
Viscovery对于视频处理的需求非常强烈,但一直以来都受限于服务器性能不足,只能暂时使用其他的产品替代方案来处理。受限于网络系统、内存空间的不足,过去在做大规模运算的时候存在瓶颈,使得深度网络学习的层面没有办法增加。此次英特尔推出Omni-Path这个架构之后改变了整个应用环境,它可以节省大量的处理时间。举例来讲,过去Viscovery要花一个月的处理时间,而现在两天或者三天就可以完成了,对于客户来说更具有时效性。
Viscovery CEO 黄俊杰
此次英特尔KNL新产品的推出,也充分解决了高性能计算客户应用中的几个主要瓶颈。上一代产品没有办法针对大量的矩阵数据做有效处理,所以新的KNL处理器支持AVX512指令集。它是一个指令同时可以处理32个数据,对于深度学习确实有很大的加速效果。另外,过去受限于其他替代方案内存大小的限制、能够训练的网络的大小的限制,同时并行化、规模化的时候,4台、8台机器的时候效能没有办法线性成长。英特尔新的Omni-Path的平台比过去以太网快了10倍到100倍,同时它的响应时间也快了也非常多,有效地突破了Viscovery做分散式群体深度学习运算的瓶颈。
CPU与KNL均分负载,拒绝资源闲置
易用性方面,陈彦呈表示:Viscovery一开始就与英特尔有很密切的合作。首先,在GPU运算的时候所有代码都必须重新写,相比执行新KNL用英特尔自己的编译器就可以针对AVX的指令集做优化,自动变成用AVX512指令集,所以并行化部分,对于最终用户来说更容易一些。
Viscovery首席科学家 陈彦呈博士
此外,代码编译好之后,传统上针对GPU加速的代码是没办法在CPU上面执行的,所以传统的深度学习解决方案常常是GPU满载但是CPU闲置的状态,而现在英特尔KNL可以做协处理器的形式,在一个主CPU旁边插很多KNL,同一个代码不需要重新编译就可以直接分散在不同的运算节点上做运算,这一点对Viscovery也很有吸引力。
另外,在执行层面上,现在买100台GPU的机器可能只能快30倍,但是KNL通过Omni-Path的架构能够实现线性增长,100台可以快80、90倍以上。
基于以上这些优势,KNL比较适合Viscovery的主要应用。所以一台GPU机器能够用三天完成的话,基本符合需求。但是如果真需要在一两小时内就要把顾客新的东西“训练”好,目前用英特尔KNL+Omni-Path的架构确实有它的优势。
X86架构KNL更具兼容性优势
对于KNL来说,大家可以发现“协处理器”的“协”去掉了,这是它很大的优势,在过去KNC叫Knights Corner,这个卡的形态和GPU类似,这种形态最大的问题就是需要既写一部分CPU代码也写一部分KNC代码或者GPU代码。
但这方面有很大问题,GPU、KNC运行的时候很多情况下CPU是闲置的,仅仅偶尔跑一下。对于KNL来说,做成x86兼容和至强一样,无论任何情况下都可以跑至强的代码,第一步是可以用起来,无论什么时候都不会闲置。无论是跑一个生命科学代码或者其他代码都可以。最傻瓜的方式是拿一个可执行文件,只要至强可以跑的都可以跑。
其次,如果花一两天更新工具里的重新编译选项,稍微设置一下,就可以获得不小的提升,轻松超过双路的E5 2697 v4的处理器。相比之下KNL的节点功耗只是双路至强节点的60%到70%,但是性能往往比它快40%到50%,这样一看性能功耗比就是两倍了。如果还想利用好KNL的优势,比如高达 500 GB/秒的可持续高内存带宽,那个内存非常有用,它对访存I/O密集型应用有很大的提升,包括机器学习。
大家知道高性能计算有一个测试的基准Linpack,它纯粹是考虑计算,不考虑I/O、缓存。现在通常会用HPCG来衡量HPC或者超级计算真实应用的效果。这种标准最后得出KNL更适合于真实应用场景,但是能够发现它是AVX512也需要一些编程,但要比CUDA容易很多,所用的时间也更少。并且英特尔的工具可以很容易的帮助用户发现软件里的热点,在什么地方可以扩展用AVX512,什么地方可以用很高性能的内存,这种情况下更易于开发。
GPU加速卡很久以前就早已被业界所熟悉,多年来的高性能计算机都通过其来进行“加速”,但应用编译需要耗费大量的人力、物力和时间成本,因此对于商业项目来说应用范围并不广泛。而当英特尔此次推出KNL以及Omni-Path架构之后这一情景得到了彻底改变,x86架构的东西兼容性没得说,高内存带宽带来提升也是巨大的,对于大规模密集型计算应用来说KNL确实堪称首选。
本文作者:云中子
来源:51CTO