ニューラルネットワークは計算集約型とメモリ集約型の両方であるため、ハードウェアリソースが限られている組み込みシステムに展開することは困難です。この制限に対処するために、プルーニング、トレーニング量子化、ハフマンコーディングの3段階のパイプラインである「ディープコンプレッション」を導入します。これらは連携して、精度に影響を与えずにニューラルネットワークのストレージ要件を35倍から49倍削減します。この方法では、最初に重要な接続のみを学習してネットワークを整理します。次に、ウェイトを量子化してウェイトシェアリングを実施し、最後にハフマンコーディングを適用します。最初の2つのステップの後、残りの接続と量子化された重心を微調整するためにネットワークを再トレーニングします。プルーニングにより、接続数が9倍から13倍に減少します。その後、量子化により、各接続を表すビット数が32から5に削減されます。ImageNetデータセットでは、AlexNetに必要なストレージが正確性を損なうことなく240MBから6.9MBに35倍削減されました。この方法では、VGG-16のサイズを552MBから11.3MBに49倍縮小しましたが、精度は低下しませんでした。これにより、モデルをオフチップDRAMメモリではなくオンチップSRAMキャッシュに収めることができます。また、この圧縮方法は、アプリケーションのサイズとダウンロードの帯域幅が制限されているモバイルアプリケーションでの複雑なニューラルネットワークの使用を促進します。 CPU、GPU、モバイルGPUでベンチマークされた圧縮ネットワークは、レイヤーワイズで3倍から4倍高速化し、エネルギー効率が3倍から7倍向上しています。
Neural networks are both computationally intensive and memory intensive, making them difficult to deploy on embedded systems with limited hardware resources. To address this limitation, we introduce "deep compression", a three stage pipeline: pruning, trained quantization and Huffman coding, that work together to reduce the storage requirement of neural networks by 35x to 49x without affecting their accuracy. Our method first prunes the network by learning only the important connections. Next, we quantize the weights to enforce weight sharing, finally, we apply Huffman coding. After the first two steps we retrain the network to fine tune the remaining connections and the quantized centroids. Pruning, reduces the number of connections by 9x to 13x; Quantization then reduces the number of bits that represent each connection from 32 to 5. On the ImageNet dataset, our method reduced the storage required by AlexNet by 35x, from 240MB to 6.9MB, without loss of accuracy. Our method reduced the size of VGG-16 by 49x from 552MB to 11.3MB, again with no loss of accuracy. This allows fitting the model into on-chip SRAM cache rather than off-chip DRAM memory. Our compression method also facilitates the use of complex neural networks in mobile applications where application size and download bandwidth are constrained. Benchmarked on CPU, GPU and mobile GPU, compressed network has 3x to 4x layerwise speedup and 3x to 7x better energy efficiency.