论文
超越掩码稀疏:SNACK 在 GPU 上实现真实稀疏神经网络
Beyond Masked Sparsity: SNACK Enables Truly Sparse Neural Networks on GPU
摘要
深度神经网络的参数数量持续增长,推高了训练和 GPU 的推理成本。稀疏神经网络和动态稀疏训练 (DST) 有望降低这些成本,但大多数实现依赖于密集张量上的二进制掩码,并且几乎无法恢复理论计算、内存或节能。我们提出 SNACK,一个真正稀疏的 GPU 层,仅存储和计算非零连接。 SNACK 公开了一个简单的 PyTorch API,用于完全在稀疏范式中重组连接和反向传播梯度,并提供 SNACK-COO,这是一个自定义 COO 格式的 SpMM CUDA 内核,具有批处理到流多处理器映射,针对大型模型训练和单流推理的典型小批量、高稀疏性机制进行了调整。在内核级别,SNACK 比屏蔽密集基线 (Dense+Mask) 最高快 7 倍,并且在 95% 的稀疏度下可与 cuSPARSE、Sputnik 和 FlashSparse 竞争。在稀疏度为 90% 的情况下,单个 SNACK 层比 Dense+Mask 层和全密集层分别将训练加速 8 倍和 3.7 倍,推理速度分别提高 4 倍和 2 倍,同时内存的使用量比密集层少 72%,能量也大大减少。 端到端,SNACK 在稀疏度为 99% 的情况下,与 Dense+Mask 相比,SNACK 将 GPT-2 峰值训练内存降低了高达 40%,并且计算图式推理延迟降低了 4.8 倍。
