核心概念
SNPは、マルチヘッド自己注意(MSA)モジュールの注意スコアを保持しつつ、ニューロンレベルで効果的に圧縮・高速化することができる。
要約
本論文では、ビジョントランスフォーマー(ViT)の高計算コストと大メモリ使用量を解決するため、新しいグラフ認識型のニューロンレベルの畳み込み手法「Structured Neuron-level Pruning (SNP)」を提案している。
SNPは以下の2つの基準に基づいて畳み込みを行う:
- 注意スコアの保持:
- クエリ層とキー層の間の重要度の低い結合を選択的に畳み込むことで、注意スコアの全体的な特性を維持する。
- 特異値分解(SVD)を用いて、注意スコアの主要成分との相関が低い結合を特定し、畳み込む。
- ヘッド間の冗長性の除去:
- 値層の結合の類似度を測定し、冗長な結合を畳み込むことで、ヘッド間の冗長性を削減する。
さらに、SNPは畳み込む際に、グラフィカルに接続された層の同一のフィルタインデックスを一括して削除することで、様々なデバイスでの高速化を実現している。
提案手法のSNPは、DeiTやEfficientFormerなどのトランスフォーマーモデルを大幅に圧縮・高速化できることを示している。例えば、DeiT-Smallをデバイス上で3.1倍高速化しつつ、DeiT-Tinyよりも21.94%高速で1.12%高精度を達成している。また、SNPはヘッド畳み込みなどの従来手法と組み合わせることで、DeiT-Baseを80%圧縮しつつ、RTX3090で3.85倍、Jetson Nanoで4.93倍の高速化を実現している。
統計
DeiT-Smallのパラメータ数を22.1Mから10.0Mに、FLOPSを4.6Gから2.0Gに削減
DeiT-Baseのパラメータ数を86.6Mから31.6Mに、FLOPSを17.6Gから6.4Gに削減
DeiT-Tinyをラズベリーパイ4Bで1.70倍、ジェットソンNanoで1.54倍高速化
DeiT-Smallをラズベリーパイ4Bで2.01倍、ジェットソンNanoで2.18倍高速化
DeiT-Baseをラズベリーパイ4Bで2.44倍、ジェットソンNanoで2.21倍高速化
引用
"SNPは、マルチヘッド自己注意(MSA)モジュールの注意スコアを保持しつつ、ニューロンレベルで効果的に圧縮・高速化することができる。"
"SNPは、DeiTやEfficientFormerなどのトランスフォーマーモデルを大幅に圧縮・高速化できることを示している。"
"SNPはヘッド畳み込みなどの従来手法と組み合わせることで、DeiT-Baseを80%圧縮しつつ、RTX3090で3.85倍、ジェットソンNanoで4.93倍の高速化を実現している。"