[論文レビュー] Accelerating Sparse DNN Models without Hardware-Support via Tile-Wise Sparsity
本論文は、ハードウェアの変更なしに一般のGPU上でスパースDNNの効率的な推論を可能にするソフトウェア専用のプルーニング手法として、タイル単位のスパースネス(TW)を提案する。GEMM演算内でのタイルレベルにおける規則的なスパースパターンを強制することにより、TWはグローバルに不規則なプルーニングを実現しつつ高いモデル精度を維持し、密行列モデルと比較してGPUテンソルコア上で最大1.95倍の高速化を達成する。
Network pruning can reduce the high computation cost of deep neural network (DNN) models. However, to maintain their accuracies, sparse models often carry randomly-distributed weights, leading to irregular computations. Consequently, sparse models cannot achieve meaningful speedup on commodity hardware (e.g., GPU) built for dense matrix computations. As such, prior works usually modify or design completely new sparsity-optimized architectures for exploiting sparsity. We propose an algorithm-software co-designed pruning method that achieves latency speedups on existing dense architectures. Our work builds upon the insight that the matrix multiplication generally breaks the large matrix into multiple smaller tiles for parallel execution. We propose a tiling-friendly "tile-wise" sparsity pattern, which maintains a regular pattern at the tile level for efficient execution but allows for irregular, arbitrary pruning at the global scale to maintain the high accuracy. We implement and evaluate the sparsity pattern on GPU tensor core, achieving a 1.95x speedup over the dense model.
研究の動機と目的
- 任意のスパースパターンに起因する不規則なメモリアクセスが、一般ハードウェア上でのスパースDNNの性能ボトルネックを引き起こすという問題に対処すること。
- アーキテクチャの変更なしに、GPUテンソルコアのような既存の密行列GEMMアクセラレータ上で、プルーニング済みDNNモデルを効率的に加速できることを可能にすること。
- タイリングに適したスパースネスパターンを導入することで、グローバルに不規則なプルーニングを可能にしつつタイルレベルでの規則性を保ちながら、モデル精度と実行効率のバランスを取ること。
- 専用のスパースネス最適化アクセラレータに依存せず、ソフトウェア最適化のみで標準ハードウェア上で顕著な高速化を達成できることを示すこと。
提案手法
- 大規模な行列を小さなタイルに分割し、GEMM計算においてタイルレベルでのスパースネスを強制することで、既存の密行列GEMMカーネルとの互換性を維持する。
- 各タイル内で集約された重要度スコアに基づき、行・列のプルーニングを実行することで、タイルレベルでは規則的な計算パターンを維持しつつ、グローバルには任意のスパースネスを実現する。
- タイルサイズは精度と効率のトレードオフを制御する:小さなタイルでは細粒度のプルーニング(要素単位のスパースネスに近い)が可能、大きなタイルでは構造的で粗いプルーニングが強制される。
- 細粒度の要素単位プルーニング(重みの1.5%)をTWスパースネスの上に重ねるハイブリッドスパースネスパターンを採用し、わずかなオーバーヘッドで精度をさらに向上させる。
- 標準のGEMMカーネルをGPUテンソルコア上で実装し、デフォルトで転置および統合最適化を有効化する。
- GPUの既存の並列処理およびメモリアクセスパターンを活用し、マイクロアーキテクチャや低レベルプログラミングインターフェースの変更を回避する。
実験結果
リサーチクエスチョン
- RQ1ハードウェアの変更なしに、一般のGPU上でスパースDNN推論を高速化できるソフトウェア専用のスパースネスパターンを設計できるか?
- RQ2スパースネスをどのように構造化すれば、既存のGEMMアクセラレータ上で効率的な実行を可能にしつつ高いモデル精度を維持できるか?
- RQ3標準ハードウェア上で精度とパフォーマンスのバランスを最適化するための、タイルサイズとスパースネスパターンの最適なトレードオフは何か?
- RQ4タイル単位と要素単位のスパースネスを組み合わせたハイブリッドスパースネスパターンは、最小限のパフォーマンスコストで精度をさらに向上させられるか?
主な発見
- 提案されたタイル単位(TW)スパースネスパターンは、75%のスパースネスかつ3%未満の精度低下で、BERTおよびNMTモデルにおいてGPUテンソルコア上で密行列モデルと比較して最大1.95倍の高速化を達成した。
- 同じスパースネスおよび精度条件のもとで、BERTおよびNMTの両モデルにおいて、エンドツーエンドの待機時間はそれぞれ1.61倍および1.86倍短縮された。
- TWスパースネスに加えて1.5%の要素単位プルーニングを組み合わせたハイブリッドスパースネスパターンは、不均一なスパースネス分布を示すモデルにおいて、TW単体と比較して顕著にモデル精度を向上させた。
- タイルサイズG=128は、モデル精度と実行効率の両面で良好なバランスを提供し、GEMMハードウェアの効果的利用を可能にした。
- 低レベルプログラミングインターフェースが必要な中規模GEMM演算(例:128×N×128)を公開している限り、TPUのような既存のプラットフォームとも互換性がある。
- 本手法は、BERTやニューラル機械翻訳モデルを含む多様なDNNモデルにおいて高いパフォーマンスを維持し、広範な適用可能性を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。