Core Concepts
畳み込みニューラルネットワークの効率性を高めるには、モデルの効率性と計算効率性を両立させることが重要である。
Abstract
本論文では、畳み込みニューラルネットワーク(convnet)の効率性について分析している。
まず、モデルの効率性、計算効率性、理想的な潜時、実際の潜時の関係を明らかにし、それらの関係を「効率ギャップ」プロットで可視化している。このプロットを使って、EfficientNetやConvNeXtなどの既存モデルの問題点を指摘している。
次に、並列カーネルの性能モデルである「ウォーターライン」分析を提案し、convnetの各層の演算強度を明らかにしている。この分析により、畳み込み層の変形バージョンほど演算強度が低下し、メモリ帯域幅が性能の bottleneck になることを示している。
そして、メモリ効率の高い「ブロック融合」カーネルを開発し、ConvFirstNetモデルを提案している。ブロック融合カーネルは、畳み込み層とその他の層を一つのカーネルにまとめることで、メモリ転送を削減し、計算効率を高めている。
実験の結果、ConvFirstNetはモデルの効率性とともに計算効率性も高く、既存モデルと比べて大幅に高速な推論が可能であることを示している。
Stats
畳み込み演算量(MAC)が少ないほど、モデルの効率性は高い。
演算強度が低いほど、計算効率性は低下する。
ConvFirstNetのブロック融合カーネルは、既存モデルと比べて47%~55%の計算効率を達成している。
Quotes
「正確さに膨大なコストがかかるのは受け入れられない。アルゴリズムはその計算要件も最小限に抑えなければならない。」
「計算効率と演算量は両立できないという一般的な見方に反して、両者は単純な式で関連付けられる。」