[論文レビュー] High Performance Convolution Using Sparsity and Patterns for Inference in Deep Convolutional Neural Networks
本稿では、活性化マップのスパarsityと局所パターンを活用してメモリ使用量を削減し、計算を高速化する、深層CNN推論のための2つの新しい畳み込みアルゴリズム、CPOおよびCPSを提案する。非ゼロ要素を圧縮し、スパース行列-ベクトル乗算を用いてゼロチャンネルをスキップすることで、im2colと比較して最大63%の高速化と26倍の圧縮比を達成。エンドツーエンドでレイヤー全体で平均9%の時間短縮と10倍の圧縮率を実現。
Deploying deep Convolutional Neural Networks (CNNs) is impacted by their memory footprint and speed requirements, which mainly come from convolution. Widely-used convolution algorithms, im2col and MEC, produce a lowered matrix from an activation map by redundantly storing the map's elements included at horizontal and/or vertical kernel overlappings without considering the sparsity of the map. Using the sparsity of the map, this paper proposes two new convolution algorithms dubbed Compressed Pattern Overlap (CPO) and Compressed Pattern Sets (CPS) that simultaneously decrease the memory footprint and increase the inference speed while preserving the accuracy. CPO recognizes non-zero elements (NZEs) at horizontal and vertical overlappings in the activation maps. CPS further improves the memory savings of CPO by compressing the index positions of neighboring NZEs. In both algorithms, channels/regions of the activation maps with all zeros are skipped. Then, CPO/CPS performs convolution via Sparse Matrix-Vector Multiplication (SpMv) done on their sparse representations. Experimental results conducted on CPUs show that average per-layer time savings reach up to 63% and Compression Ratio (CR) up to 26x with respect to im2col. In some layers, our average per layer CPO/CPS time savings are better by 28% and CR is better by 9.2x than the parallel implementation of MEC. For a given CNN's inference, we offline select for each convolution layer the best convolutional algorithm in terms of time between either CPO or CPS and im2col. Our algorithms were selected up to 56% of the non-pointwise convolutional layers. Our offline selections yield CNN inference time savings up to 9% and CR up to 10x.
研究の動機と目的
- リソース制約のあるデバイスにおいて、特に深刻な高メモリ・高計算コストを示す深層CNNにおける畳み込み処理の課題に対処すること。
- im2col や MEC といった標準的な低レベル変換ベースの手法が、ゼロと重複する非ゼロ要素を無駄に保存する非効率性を克服すること。
- ReLU活性化特徴マップのスパarsityと非ゼロ要素の局所的パターンを活用し、メモリと時間の両面で効率的な畳み込みアルゴリズムを設計すること。
- 各レイヤーに対して最適な畳み込み手法を動的に選択するハイブリッド選択戦略を開発し、推論速度と圧縮率を最大化すること。
提案手法
- 水平および垂直方向のカーネルオーバーラップにおける活性化マップ内の非ゼロ要素(NZEs)を特定し、圧縮スパース形式に格納する「圧縮パターンオーバーラップ(CPO)」を提案する。
- 隣接するNZEsのインデックスパターンを符号化することで、CPOをさらに圧縮し、ストレージオーヘッドを削減する「圧縮パターンセット(CPS)」を導入する。
- すべての値がゼロのチャンネルや領域をスキップするためのスキップフラグを組み込み、不要な計算とストレージを排除する。
- 圧縮表現上でスパース行列-ベクトル乗算(SpMv)を実行し、非ゼロ寄与分にのみ注目して畳み込みを実行する。
- 小規模な画像セット上でim2col、CPO、CPSをベンチマークし、エンドツーエンド推論において各レイヤーで最も速いアルゴリズムを選択するオフラインハイブリッド選択手法を実装する。
- 特にカーネル幅 $K_w = 1$ の特殊ケースに最適化された変更済みエンコーダーと畳み込みカーネルを用い、実装を簡略化しながらもパフォーマンスを維持する。
実験結果
リサーチクエスチョン
- RQ1ReLU活性化特徴マップにおけるスパarsityと局所的パターンを活用することで、CNN推論におけるメモリ容量の削減と畳み込みの高速化が可能か?
- RQ2im2col や MEC といった標準的手法と比較して、CPOおよびCPSはメモリ圧縮率と推論速度においてどのように異なるか?
- RQ3各レイヤーで最適なアルゴリズムを選択するハイブリッド選択戦略は、エンドツーエンド推論パフォーマンスに顕著な改善をもたらすか?
- RQ4非ゼロ要素のスパarsityと空間的クラスタリングは、標準的なスパース表現を上回るさらなる圧縮を可能にするか?
- RQ5実際のCNNにパターン認識圧縮を適用する際の、圧縮比と推論速度の実用的トレードオフはどの程度か?
主な発見
- CPOおよびCPSは、CPUベースの推論において、im2colと比較して最大63%のレイヤー単位の時間短縮と26倍の圧縮比を達成した。
- 一部のレイヤーでは、並列処理されたMEC実装と比較して、時間で28%の高速化、圧縮比で9.2倍の改善を示した。
- エンドツーエンド推論において、ハイブリッド選択手法により、合計推論時間の最大9%の短縮と、レイヤー間で平均10倍の圧縮比を達成した。
- テストされたモデルにおいて、CPO/CPSは非ポイントワイズ畳み込みレイヤーの最大56%で選択されたことから、広範な適用可能性が示された。
- 画像間で活性化マップの密度が安定していることから、実行時オーバーヘッドなしにオフラインでのアルゴリズム選択が有効に機能することが分かった。
- すべての値がゼロのチャンネルに対するスキップフラグの使用と、隣接するNZEsのパターンベースの圧縮により、冗長なストレージと計算が顕著に削減された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。