计算机科学>机器学习
标题: CPU上基于变换的语言模型的高效稀疏推理软件加速器
摘要: 近年来,基于Transformer的语言模型已经成为自然语言处理任务的标准方法。 然而,工业应用中严格的吞吐量和延迟要求限制了它们的采用。 为了缓解这种差距,正在使用诸如结构化修剪之类的模型压缩技术来提高推理效率。 然而,大多数现有的神经网络推理运行时缺乏对结构化稀疏性的足够支持。 在本文中,我们为基于Transformer的语言模型提出了一个高效的稀疏深度学习推理软件栈,其中权重用恒定块大小修剪。 我们的稀疏软件加速器利用Intel Deep Learning Boost最大限度地提高CPU上稀疏矩阵密集矩阵乘法(通常缩写为SpMM)的性能。 我们的SpMM内核在5个代表性稀疏率(70%、75%、80%、85%、90%)下,在广泛的GEMM形状上比现有的稀疏库(oneMKL、TVM和LIBXSMM)性能好几个数量级。 此外,我们的SpMM内核比oneDNN的稠密GEMM内核显示出5倍的加速比,oneDNN是一个优化良好的稠密库,广泛用于工业。 我们将稀疏加速器应用于广泛使用的基于Transformer的语言模型,包括Bert-Mini、DistilBERT、Bert-Base和Bert-Large。在代理生产延迟约束下,我们的稀疏推理软件在亚马逊Web服务上的Xeon上的相同配置下,比Neural Magic的Deepsparse速度快1.5倍。 我们还将我们的解决方案与ONNX Runtime和PyTorch这两种基于框架的推理解决方案进行了比较,并展示了在延迟限制下,ONNX Runtime的加速率高达37倍,Xeon的PyTorch的加速率高达345倍。 所有源代码都可以在Github上公开获得: 此https URL .