Skip to main content
QUICK REVIEW

[論文レビュー] Escoin: Efficient Sparse Convolutional Neural Network Inference on GPUs

Xuhao Chen|arXiv (Cornell University)|Feb 28, 2018
Advanced Neural Network Applications参考文献 45被引用数 20
ひとこと要約

この論文では、行列乗算への低レベル化を回避することで推論速度を向上させる、GPU向けの直接的でスパースな畳み込み手法であるEscortを提案する。不規則なスパース計算における並列化とデータ局所性を最適化することで、EscortはNVIDIA GPU上でCUSPARSEに対して3.07倍、CUBLASに対して1.60倍の高速化を達成し、ハードウェアやフレームワークの変更なしにスパarsityをパフォーマンス向上に活かすことを実証した。

ABSTRACT

Deep neural networks have achieved remarkable accuracy in many artificial intelligence applications, e.g. computer vision, at the cost of a large number of parameters and high computational complexity. Weight pruning can compress DNN models by removing redundant parameters in the networks, but it brings sparsity in the weight matrix, and therefore makes the computation inefficient on GPUs. Although pruning can remove more than 80% of the weights, it actually hurts inference performance (speed) when running models on GPUs. Two major problems cause this unsatisfactory performance on GPUs. First, lowering convolution onto matrix multiplication reduces data reuse opportunities and wastes memory bandwidth. Second, the sparsity brought by pruning makes the computation irregular, which leads to inefficiency when running on massively parallel GPUs. To overcome these two limitations, we propose Escort, an efficient sparse convolutional neural networks on GPUs. Instead of using the lowering method, we choose to compute the sparse convolutions directly. We then orchestrate the parallelism and locality for the direct sparse convolution kernel, and apply customized optimization techniques to further improve performance. Evaluation on NVIDIA GPUs show that Escort can improve sparse convolution speed by 2.63x and 3.07x, and inference speed by 1.43x and 1.69x, compared to CUBLAS and CUSPARSE respectively.

研究の動機と目的

  • 重み prune によって引き起こされるGPU上でのスパース畳み込みニューラルネットワーク推論の性能低下を是正すること。
  • スパース畳み込みを行列乗算に低レベル化する手法の非効率性、特にメモリ帯域幅の無駄とデータ再利用の低下を是正すること。
  • 最適化された並列化とメモリアクセスパターンを用いて、GPU上のパフォーマンスを向上させること。
  • 現代のGPUアーキテクチャにおいて、スパarsityを性能低下要因ではなく、高速化要因として活用できることを示すこと。
  • モデル学習やpruning、下位層のハードウェアの変更なしに、純ソフトウェアとして実装可能なソリューションを提供すること。

提案手法

  • 行列乗算への低レベル化を回避する直接的なスパース畳み込みカーネルを提案し、不要なデータの複製とメモリ帯域幅の浪費を回避する。
  • スレッドレベルおよびデータレベルの並列化を統合的に制御し、GPUの割り当てを最大化し、メモリ遅延を隠蔽する。
  • メモリアクセスをコalescingし、スレッドブロックを連続するデータセグメントにアクセスできるように配置することで、データ局所性を活用する。
  • スパース重み構造に合わせたカスタムカーネルレイアウトを採用し、不規則なメモリアクセスパターンを最小限に抑える。
  • ループタイリングとレジスタブロッキングを適用し、演算強度を向上させ、グローバルメモリアクセスを削減する。
  • CUDAを用いて実装し、AlexNet、GoogLeNet、ResNetといった標準的なCNNを用いて、Tesla P100およびGTX 1080Ti GPU上で評価した。

実験結果

リサーチクエスチョン

  • RQ1pruned DNNに対して、行列乗算ベースの手法と比較して、直接的なスパース畳み込みがGPU上で優れた性能を発揮できるか?
  • RQ2低レベル化ステップを回避することで、スパース畳み込みにおけるメモリ帯域幅の圧力を軽減し、データ再利用を向上させられるか?
  • RQ3カスタムカーネル設計により、不規則なスパース計算をGPUのデータ並列アーキテクチャに効率的にマッピングできるか?
  • RQ4スパarsityをGPU上で性能低下要因ではなく、高速化要因として活用できる程度はどれほどか?
  • RQ5ハードウェアやハイレベルフレームワークの変更なしに、スパースCNNで顕著な高速化を達成できるか?

主な発見

  • Escortは、NVIDIA GPU上でのスパース推論において、CUBLASに対して平均1.38倍、CUSPARSEに対して平均1.60倍の高速化を達成した。
  • Tesla P100では、CUBLASとCUSPARSEに対して、それぞれ2.63倍および3.07倍のスパース畳み込み速度向上を達成した。
  • GTX 1080Tiでは、AlexNet、GoogLeNet、ResNetの各モデルに対して、CUBLASに対してそれぞれ1.74倍、1.34倍、1.43倍の高速化を達成した。
  • モデル間で一貫した性能向上が得られ、特に畳み込み層のスパarsityが高いAlexNetで最大の高速化が観察された。
  • 他の層を除外しても、Tesla P100上ではCUBLASに対して1.47倍の高速化を維持しており、スパース畳み込みに特化した有効性を裏付けた。
  • モデル学習やpruning、ハードウェアの変更なしに実装可能であり、既存のディープラーニングパイプラインに実用的かつポータブルな最適化であることを確認した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。