[論文レビュー] ESE: Efficient Speech Recognition Engine with Sparse LSTM on FPGA
本稿では、負荷バランスに配慮したプルーニングと量子化を用いてモデルサイズを20倍に削減しながら精度損失を最小限に抑えるFPGAベースの音声認識アクセラレータESEを提案する。ESEは圧縮されたスパースLSTMモデルで282 GOPSを達成し、CPUに比べて推論速度が43倍、エネルギー効率が40倍向上する。最適化されたスケジューリングとハードウェアに配慮したスパース計算により、FPGA上でリアルタイムでエネルギー効率の高い音声認識が実現される。
Long Short-Term Memory (LSTM) is widely used in speech recognition. In order to achieve higher prediction accuracy, machine learning scientists have built larger and larger models. Such large model is both computation intensive and memory intensive. Deploying such bulky model results in high power consumption and leads to high total cost of ownership (TCO) of a data center. In order to speedup the prediction and make it energy efficient, we first propose a load-balance-aware pruning method that can compress the LSTM model size by 20x (10x from pruning and 2x from quantization) with negligible loss of the prediction accuracy. The pruned model is friendly for parallel processing. Next, we propose scheduler that encodes and partitions the compressed model to each PE for parallelism, and schedule the complicated LSTM data flow. Finally, we design the hardware architecture, named Efficient Speech Recognition Engine (ESE) that works directly on the compressed model. Implemented on Xilinx XCKU060 FPGA running at 200MHz, ESE has a performance of 282 GOPS working directly on the compressed LSTM network, corresponding to 2.52 TOPS on the uncompressed one, and processes a full LSTM for speech recognition with a power dissipation of 41 Watts. Evaluated on the LSTM for speech recognition benchmark, ESE is 43x and 3x faster than Core i7 5930k CPU and Pascal Titan X GPU implementations. It achieves 40x and 11.5x higher energy efficiency compared with the CPU and GPU respectively.
研究の動機と目的
- 音声認識システムにおける大規模LSTMモデルの高い計算およびメモリ要件に対処する。
- 予測精度を損なわず、モデルサイズとメモリ帯域幅要件を低減する。
- FPGA上で圧縮されスパースなLSTMモデルの効率的推論を実現する、ハードウェア・ソフトウェア共同最適化アクセラレータを設計する。
- リアルタイム音声認識ワークロードにおいて、高いハードウェア利用率とエネルギー効率を達成する。
- 低遅延かつ高スループットで、複数の音声ストリームを同時に処理可能にする。
提案手法
- 精度を維持したまま10倍のモデル圧縮を達成する負荷バランスに配慮したプルーニング手法を提案し、その後2倍の重み量子化を実施する。
- モデルサイズとメモリフットプリントを削減する自動的で動的精度量子化フローを構築する。
- 複雑なLSTMデータフローを複数のプロセッシングエレメント(PE)にマッピングするスケジューラを設計し、計算とメモリアクセスをオーバーラップする。
- 不規則なスパarsityパターンを効果的に活用する、スパースなLSTM重みと活性化をネイティブに処理できるハードウェアアーキテクチャ(ESE)を実装する。
- スパース重み行列の効率的な保存とアクセスを実現する相対インデックスを用いた圧縮スパースカラム(CSC)フォーマットを採用する。
- PE間で計算とストレージを分割し、ワークロードをバランスさせ、FPGA上での並列処理を最大化する。
実験結果
リサーチクエスチョン
- RQ1リソース制限のあるハードウェアに展開する際、LSTMモデルを予測精度を損なわず効果的に圧縮する方法は何か?
- RQ2FPGA上で複雑なデータ依存関係を有する再帰的ニューラルネットワークリアルタイムワークロードを効率的に実行するためのスケジューリング戦略は何か?
- RQ3再帰的ネットワーク(例:LSTM)におけるスパarsityを効果的に活用できるハードウェアアーキテクチャはどのように設計できるか?
- RQ4CPUやGPUと比較して、FPGAベースのアクセラレータがスパースLSTM推論において達成可能な性能とエネルギー効率はどの程度か?
- RQ5ハードウェア・ソフトウェア共同最適化は、リアルタイム音声認識において推論速度とエネルギー効率を顕著に向上させることができるか?
主な発見
- Xilinx XCKU060 FPGAを200 MHzで使用したESEは、スパースLSTMモデルで282 GOPSを達成し、元の密度型モデルでは2.52 TOPSに相当する。
- モデル圧縮技術により、10倍(プルーニングによる)と2倍(量子化による)の合計20倍の圧縮が実現され、精度損失は無視できるほど小さい。
- ESEはCore i7-5930K CPUに比べて43倍高速かつ40倍エネルギー効率が高く、Pascal Titan X GPUに比べても3倍高速かつ11.5倍エネルギー効率が優れている。
- 負荷バランスに配慮したプルーニングにより、ハードウェア利用率が向上し、PEのアイドルサイクルが削減され、スループットが向上する。
- スケジューラは計算とメモリアクセスを効果的にオーバーラップし、LSTMネットワークの再帰的データフローにおける遅延を最小限に抑えることに成功した。
- ESEは複数の音声ストリームの同時処理をサポートし、FPGA上でスケーラビリティとリアルタイム性能を示した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。