[論文レビュー] FlexSA: Flexible Systolic Array Architecture for Efficient Pruned DNN Model Training
FlexSAは、さまざまなテンソルサイズに対応するための動的再構成を可能にする再構成可能サブセット・シスチルアレイアーキテクチャを提案する。このアーキテクチャは、さまざまな運用モードをサポートすることで、剪定されたDNNモデルのトレーニングを効率的に行う。コア間のデータ再利用を可能にし、コンpilationヒューリスティックによるタイリング最適化により、従来の大規模シスチルアレイと比較して、計算効率を37%向上させ、エネルギー消費を28%削減した。
Modern deep learning models have high memory and computation cost. To make them fast and memory-cost efficient, structured model pruning is commonly used. We find that pruning a model using a common training accelerator with large systolic arrays is extremely performance-inefficient. To make a systolic array efficient for pruning and training, we propose FlexSA, a flexible systolic array architecture. FlexSA dynamically reconfigures the systolic array structure and offers multiple sub-systolic operating modes, which are designed for energy- and memory bandwidth-efficient processing of tensors with different sizes and shapes. We also present a compilation heuristic for tiling matrix-multiplication-and-accumulation operations in a training workload to best utilize the resources of FlexSA. Based on our evaluation, FlexSA with the proposed compilation heuristic improves compute resource utilization of pruning and training modern CNN models by 37% compared to a conventional training accelerator with a large systolic array. FlexSA also improves on-chip data reuse by 1.7X saving 28% energy compared to naive systolic array splitting.
研究の動機と目的
- 剪定されたDNNモデルのトレーニングにおける大規模シスチルアレイの計算ユニット利用効率の低さを是正する。
- 構造的プルーニングにおける大コア再利用と小コア利用の間のパフォーマンスとエネルギーのトレードオフを克服する。
- プルーニング中に変動するGEMM次元に応じて、動的再構成が可能なシスチルアレイを設計する。
- 最適なリソース利用を実現するため、GEMM次元に基づいてFlexSAの運用モードを知的に選択するコンパイルヒューリスティックを開発する。
- オンチップデータ再利用を損なわず、面積オーバーヘッドを著しく増加させることなく、高いエネルギー効率と計算効率を達成する。
提案手法
- FlexSAは、入出力データパスと制御論理を共有する4つのサブシスチルアレイを統合し、動的再構成が可能な4つの異なる運用モードを提供する。
- コア間のシスチルデータフロー(例:垂直、水平、フルウェーブ)をサポートすることで、データ再利用を向上させ、不要なデータ移動を削減する。
- コンパイル時におけるGEMMタイリングヒューリスティックは、コア間再利用が高いための運用モードを優先し、無駄なPEの停止を最小限に抑え、リソース利用を最適化する。
- コンパイラは、データをオンチップバッファにロードし、選択されたモードに応じて出力をグローバルメモリまたはDRAMに格納するようにスケジューリングする。
- 単純な4コアシスチルアレイと比較して、わずか1%の面積オーバーヘッドにとどまり、効率的なハードウェア統合を可能にする。
- 運用モードはテンソル次元に基づいて選択され、PE利用効率とデータ再利用のバランスを最適化し、エネルギー消費を最小限に抑える。
実験結果
リサーチクエスチョン
- RQ1構造的DNNプルーニング中に生じる動的なテンソルサイズに対応するため、ランタイムでのシスチルアレイの再構成はどのように実現できるか?
- RQ2プルーニング中において、1つの大規模シスチルアレイと複数の小さな動的再構成可能なアレイの間で、パフォーマンスとエネルギーのトレードオフはどのようなものか?
- RQ3コア間のデータ再利用を効果的に活用することで、小サイズタイルのGEMM演算においても高いオンチップデータ再利用を維持しながら、PE利用効率を向上させられるか?
- RQ4GEMM次元に基づいてFlexSA運用モードを知的に選択するコンパイルヒューリスティックは、リソース利用効率をどの程度向上させられるか?
- RQ5提案されたFlexSAアーキテクチャは、大コアおよび多数の小コアシスチルアレイ設計と比較して、エネルギー効率および計算効率においてどのように差をつけるか?
主な発見
- FlexSAは、現代のCNNモデルのプルーニングおよびトレーニングにおいて、従来の大規模シスチルアレイアクセラレータと比較して、計算リソース利用効率を37%向上させた。
- アーキテクチャは、単純な小コア分割と比較して、オンチップデータ再利用を1.7倍に向上させ、不要なデータ移動を顕著に削減した。
- コア間データ送信が増加したにもかかわらず、単純なシスチルアレイ分割と比較して、エネルギー消費を28%削減した。
- FlexSAコンパイラは、プルーニング中において89%以上のケースでコア間シスチルデータフローを活用し、再利用を損なわず高い利用効率を確保した。
- ResNet50およびInception v4では、1G1Fおよび4G1F構成において、コア間運用モードがそれぞれ94%および99%の演算を占めており、高い再利用効率を示した。
- エンドツーエンドのトレーニングパフォーマンスは、1G1Fで24%、4G1Fで29%向上し、多数の小コア設計と比較して10%低い動的エネルギーを実現した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。