金山云和英特尔是如何做深度学习框架优化的?
时间:2022-04-04 17:21:01 | 来源:行业动态
时间:2022-04-04 17:21:01 来源:行业动态
我们知道TensorFlow是目前在AI领域使用最为广泛的深度学习开源框架,可以很好地支持AI应用较为普遍的计算机视觉、语音识别、自然语言处理等纷纷做负载。Google在Tensorflow官方网站上原生Tensorflow并没有调用MKL/MKL-DNN 来加速在CPU上的运行,因此原生Tensorflow在英特尔至强处理器上运行时性能不够理想。英特尔与Google紧密合作,将基于MKL-DNN的优化代码集成到Tensorflow中,并发布到了Tensorflow官网。
用户下载针对英特尔平台优化过的Tensorflow可以很好地利用英特尔至强处理器的AVX-512指令集加速,相对于原生的Tensorflow性能有了很大提升。
Caffe也是一个使用十分广泛的开源框架,主要是针对计算机视觉方面的应用做了针对性的开发,尤其是在国内的很多安防类企业,目前来看使用的范围还是比较广泛。
相比Tensorflow,Caffe并没有版权方面的限制,英特尔在开源网站github上面有专属的分支(https://github.com/intel/caffe),针对英特尔的x86 CPU 架构做了许多有针对性的优化,比官方版本的BVLC caffe在性能上有了大幅度的提升,在一些典型的CNN拓扑上,提升幅度达到数十倍。另外英特尔积极响应客户的需求,针对目前国内许多安防类型的企业有很多的工作负载仍然运行在Windows上,也进行了在Windows上的性能优化。
从第一代至强可扩展处理器开始,英特尔至强处理器提供了全新的AVX-512指令集,该指令可以同时处理16个单精浮点数,比上一代至强处理器处理单精浮点数的能力提升2倍,这个特性在处理人工智能这种高密度计算的工作负载时展现了前所未有的优势。
AI 算法的开发基本上都是基于一些开源框架进行的,如TensorFlow, Caffe, MxNet等。为了能够将底层的硬件计算力全部释放,英特尔针对这些开源框架做了大量的优化工作,其中非常关键的一点是通过调用英特尔数学核心库(MKL/MKL-DNN)很好的利用到了英特尔处理器的AVX-512指令集。