中文

PopSparse:在 IPU 上加速分块稀疏矩阵乘法

机器学习 2023-04-06 v2

摘要

利用稀疏性降低运行大规模神经网络的计算成本在深度学习社区引起了极大关注。尽管在保持可接受任务性能的同时减少 FLOP 和参数量方面已取得诸多成功,但实现实际的速度提升通常要困难得多,尤其是在使用低精度数值格式的 NVIDIA GPU 等通用加速器(GPA)上。在本工作中,我们介绍了 PopSparse,这是一个通过利用 IPU 独特的硬件特性以及数据中定义的任何分块结构,在 Graphcore IPU 上实现快速稀疏操作的库。我们针对两种不同类型的稀疏性:静态稀疏,即稀疏模式在编译时固定;以及动态稀疏,即每次运行模型时都可能改变。我们给出了在 IPU 上针对这两种模式的矩阵乘法的基准测试结果,涵盖了多种块大小、矩阵大小和密度。结果表明,在较大矩阵大小和块大小下的一系列稀疏度水平上,PopSparse 实现比 IPU 上的稠密矩阵乘法更快。此外,静态稀疏通常优于动态稀疏。虽然先前在 GPA 上的工作仅在高稀疏度(通常 99% 及以上)时显示出加速,本工作表明我们的静态稀疏实现在较低稀疏度(约 90%)下以 FP16 精度优于等效的稠密计算。IPU 代码可在 ipu.dev/sparsity-benchmarks 查看和运行,GPU 代码将很快提供。

关键词

引用

@article{arxiv.2303.16999,
  title  = {PopSparse: Accelerated block sparse matrix multiplication on IPU},
  author = {Zhiyi Li and Douglas Orr and Valeriu Ohan and Godfrey Da costa and Tom Murray and Adam Sanders and Deniz Beker and Dominic Masters},
  journal= {arXiv preprint arXiv:2303.16999},
  year   = {2023}
}