Intel刚刚收购的Vertex.AI,到底有什么黑科技?
一个新技术时代的来临,巨头往往是睡不着觉的,他们焦虑的表现,就是“买买买”。
前天,有外媒报道英特尔收购了一家深度学习平台公司Vertex.AI,纳入其Artificial Intelligence Products Group (AIPG)部门。
Nervana、Mobileye、Altera 、Movidius这些被英特尔收购的大名鼎鼎的公司现在都属于该部门。
52CV君当然无意于分析该桩收购对英特尔的业务带来什么价值,只想知道Vertex.AI到底有什么黑科技?
Vertex.AI成立于2015年,公司的产品只有一个:PlaidML,而且看不出这个有什么“钱景”,谁都可以免费用它,因为它是开源的!
PlaidML到底是什么?
PlaidML是一个深度学习平台,它的目标是使深度学习无处不在。
它到底有多厉害,看看官方怎么说(chui)。
(以下内容引自PlaidML 工程的README.md,谷歌原文翻译,除了部分字体加粗,未经任何修改)
“PlaidML是在任何设备上学习和部署深度学习的最简单、最快速的方法,尤其是那些运行macOS或Windows的设备:
最快:PlaidML通常比流行平台(如TensorFlow CPU)快10倍(或更多),因为它支持所有GPU,独立于品牌和型号。
PlaidML加速了对AMD,Intel,NVIDIA,ARM和嵌入式GPU的深度学习。
最简单:PlaidML安装简单,支持多个前端(目前Keras和ONNX)
免费:PlaidML是完全开源的,不依赖于具有专有和限制性许可的任何供应商库。”
Word天!这速度,是不是吹的太过了。。。。除了支持Nvidia还支持AMD、Intel、ARM的GPU,都能做的很好吗?还不使用任何第三方库,连cuDNN也不用。
不过我相信,掏钱的英特尔当然不会是傻子。
仔细看了下PlaidML到底做什么,原来它就是在部署模型时帮你自动生成并优化各种GPU的Kernel代码。
Vertex.AI的官网上给出了一些对比的例子。
5月19日他们给出了一个张量计算编译优化的例子,对比(shanghai)的对象是Tensor Comprehensions和TVM。
原文在这里:
http://vertex.ai/blog/compiler-comparison
直接上图:
PlaidML无可争议赢得所有单项和整体的冠军,目测在某些运算的确有10倍+的加速!
对比单项技能当然不够,跑整体网络才有说服力。
他们又把PlaidML和TVM使用几个知名网络在NVIDIA和AMD显卡上都进行了测试,编译目标是OpenCL。
0代表不支持。
虽然没有10倍,但也有3到7倍的速度差距!
(为什么没能达到第一个对比实验中这么猛的结果,52CV君认为因为跑整体网络涉及到内存计算、数据传输等各种开销,而PlaidML优化的重点是GPU端的计算,内存和传输可能成为了瓶颈,这其实也是大部分CV程序拖后腿最严重的部分)
最后竟然又在Nvidia家的显卡上跟cuDNN比了下:
在mobilenet网络上加速异常明显,几乎达到2倍的加速比,resnet50和xception次之,也有1.3~1.5倍左右,在inception_v3上略有加速,在imdb_lstm上随着batch size不同互有胜负,在vgg16上不敌cuDNN(同上,猜测可能是模型太大,内存、传输成为瓶颈)。
最后这一次比较,没有取得全胜的战绩,不过也是难能可贵了!毕竟Nvidia+CuDNN是同一家公司的软硬件一体化解决方案!
而且对于移动端部署大家最关心的mobilenet取得了两倍的加速,这真是喜出望外了!
重点来啦!
PlaidML开源主页:
https://github.com/plaidml/plaidml
你的AMD、Intel包括ARM的显卡现在都能用来加速深度学习算法的部署了,赶紧把上面的灰擦掉~