In plain words: Pruning deletes most of a network's weights, but CPU software rarely runs such networks well. SparseDNN writes fast code for the remaining weights and reorganizes networks, so a pruned language model handles up to 5 times more data per second than dense CPU software.
Abstract · SparseDNN: Fast Sparse Deep Learning Inference on CPUs
The last few years have seen gigantic leaps in algorithms and systems to support efficient deep learning inference. Pruning and quantization algorithms can now consistently compress neural networks by an order of magnitude. For a compressed neural network, a multitude of inference frameworks have been designed to maximize the performance of the target hardware. While we find mature support for quantized neural networks in production frameworks such as OpenVINO and MNN, support for pruned sparse neural networks is still lacking. To tackle this challenge, we present SparseDNN, a sparse deep learning inference engine targeting CPUs. We present both kernel-level optimizations with a sparse code generator to accelerate sparse operators and novel network-level optimizations catering to sparse networks. We show that our sparse code generator can achieve significant speedups over state-of-the-art sparse and dense libraries. On end-to-end benchmarks such as Huggingface pruneBERT, SparseDNN achieves up to 5x throughput improvement over dense inference with state-of-the-art OpenVINO. Open source library at: https://github.com/marsupialtail/sparsednn.
Ziheng Wang
arXiv:2101.07948 · cs.LG · submitted Jan 20, 2021 · updated Jul 21, 2021
abstract · pdf · html
Neural Magic (https://neuralmagic.com/) is also doing very sophisticated sparse convolution (closed source) on CPUs, and they benchmark against NN-512
Neural Magic achieves astonishing performance by exploiting sparsity