As neural network model sizes have dramatically increased, so has the interest in various techniques to reduce their parameter counts and accelerate their execution. An active area of research in this field is sparsity - encouraging zero values in parameters that can then be discarded from storage or computations. While most research focuses on high levels of sparsity, there are challenges in universally maintaining model accuracy as well as achieving significant speedups over modern matrix-math hardware. To make sparsity adoption practical, the NVIDIA Ampere GPU architecture introduces sparsity support in its matrix-math units, Tensor Cores. We present the design and behavior of Sparse Tensor Cores, which exploit a 2:4 (50%) sparsity pattern that leads to twice the math throughput of dense matrix units. We also describe a simple workflow for training networks that both satisfy 2:4 sparsity pattern requirements and maintain accuracy, verifying it on a wide range of common tasks and model architectures. This workflow makes it easy to prepare accurate models for efficient deployment on Sparse Tensor Cores.
翻译:随着神经网络模型规模的急剧增长,对减少参数计数和加速执行的多种技术的兴趣也大增。这一领域的一个积极研究领域是宽度——鼓励从储存或计算中可以丢弃的参数的零值。虽然大多数研究侧重于高度的宽度,但在普遍保持模型准确性以及在现代矩阵-数学硬件上实现显著加速方面存在着挑战。为了使宽度的采用切实可行,NVIDIA A Ampere GPU 结构在其矩阵-数学单元Tensor核心中引入了宽度支持。我们介绍了Sprass Tensor Cores的设计与行为,它利用了2:4(50%)的宽度模式,使密度矩阵单元的数学吞吐量翻倍。我们还描述了一个简单的培训网络工作流程,既满足2:4的宽度模式要求,又保持准确性,在广泛的共同任务和模型结构上加以核实。这一工作流程使得为在斯帕斯卡特核心上高效部署而准备精确模型变得容易。