通过单一构建模块实现高性能深度学习
机器学习
2019-06-19 v2 分布式、并行与集群计算
机器学习
摘要
深度学习(DL)是机器学习中最显著的分支之一。由于 DL 工作负载的巨大计算开销,工业界与学术界已开发出针对每种工作负载/架构高度专门化的核的 DL 库,导致了众多复杂代码库的出现:它们追求性能却难以维护且无法泛化。在本文中,我们引入批归约 GEMM 核,并展示最流行的 DL 算法如何以该核作为基本构建模块来表述。因此,DL 库的开发退化为围绕这一唯一优化核的循环(可能自动)调优。通过利用我们的新核,我们仅用 3K 行高层代码便实现了循环神经网络、卷积神经网络和多层感知机的训练与推理原语。我们的原语在多节点 CPU 集群上优于供应商优化库,并且我们还提供了面向 GPU 的概念验证 CNN 核。最后,我们证明了在张量编译器中使用批归约 GEMM 核能产出高性能 CNN 原语,进一步增强了本方法的可行性。
引用
@article{arxiv.1906.06440,
title = {High-Performance Deep Learning via a Single Building Block},
author = {Evangelos Georganas and Kunal Banerjee and Dhiraj Kalamkar and Sasikanth Avancha and Anand Venkat and Michael Anderson and Greg Henry and Hans Pabst and Alexander Heinecke},
journal= {arXiv preprint arXiv:1906.06440},
year = {2019}
}