【美国华人网综合报道】在人工智能深度神经网络(DNNs)方面, GPU被认为比大多数CPU的性能更好,因为它们有更多的执行单元 。但是 莱斯大学的计算机科学家提出的一种新算法,使CPU的速度比一些领先的GPU快15倍。 通常使用蛮力方法解决最复杂的计算难题,比如要么向它们扔更多的硬件,要么发明特殊用途的硬件来解决这个任务。毫无疑问, DNN是当今计算密集型工作之一 ,因此如果程序员想要获得最大的性能, 他们就会使用GPU来完成他们的工作。这在很大程度上是因为使用计算GPU更容易实现高性能,因为大多数算法都是基于矩阵乘法的。 赖斯布朗工程学院的计算机科学助理教授Anshumali Shrivastava和他的同事提出了一种算法,可以极大地提高DNN在现代AVX512和avx512_bf16支持的CPU上的速度。 Shrivastava在接受TechXplore采访时表示:"公司每周花费数百万美元来培训和微调他们的人工智能工作负载。"整个行业都专注于一种改进,即更快的矩阵乘法。每个人都在寻找专门的硬件和架构来推动矩阵乘法。人们现在甚至在讨论为特定类型的深度学习提供专门的硬件和软件堆栈。比起使用昂贵的算法并投入整个系统优化,我想说的是,‘让我们重新审视这个算法。’" 为了证明他们的观点,科学家们使用了 SLIDE(亚线性深度学习引擎) ,这是一个基于c++ openmp的引擎,它结合了智能随机散列算法和适度的CPU多核并行,并针对支持AVX512和AVX512-bfloat16的处理器进行了大量优化。 该引擎采用 局部敏感哈希(LSH)方法 ,在每次更新过程中自适应地识别神经元,从而优化了计算性能要求。即使没有修改,它在训练一个2亿参数的神经网络时,在时间方面,也可以比在Nvidia V100 GPU上优化的TensorFlow更快。 "基于哈希表的加速性能已经超过了GPU,但CPU也在进化,"研究合著者Shabnam Daghaghi说。 为了加快散列速度,研究人员对算法进行了向量化,以便英特尔的AVX512和AVX512_BF16引擎能够更好地处理它。他们还实现了一些内存优化。 " 我们利用[AVX512和AVX512_BF16] CPU创新技术进一步推动了SLIDE的发展 ,这表明,如果你不执着于矩阵乘法,你可以利用现代CPU的强大功能,比最好的专业硬件快4到15倍。" 他们在Amazon-670K,维基解密- 325k和Text8数据集上获得的结果,在优化的SLIDE引擎下确实非常有希望。英特尔的Cooper Lake处理器在亚马逊670k上的性能比英伟达的Tesla V100高出约7.8倍,在维基解密的325k上高出约5.2倍,在Text8上高出约15.5倍。事实上,即使是优化过的Cascade Lake (CLX)处理器也比英伟达的Tesla V100快2.55-11.6倍。 毫无疑问, 针对支持AVX512和avx512_bf16的CPU进行优化的DNN算法非常有意义,因为处理器在客户端设备,数据中心服务器和HPC机器中普遍使用 。为此,充分利用他们的所有的功能是非常重要的。 但是,当谈到绝对性能时,可能会有一些困难,所以让我们来推测一下。英伟达的A100比研究人员使用的英伟达Tesla V100的速度快3-6倍。不幸的是,我们没有任何A100数字与亚马逊- 670k,维基解密- 325k,和Text8数据集。也许,A100在使用优化算法时无法击败英特尔的Cooper Lake,但是这些支持avx512_bf16的CPU并不能像A100那样被广泛使用。那么,问题是,英伟达的A100处理器与英特尔的Cascade Lake和Ice Lake处理器相比有什么优势呢? 欢迎到FuninUSA论坛讨论