[論文レビュー] Measuring scheduling efficiency of RNNs for NLP applications
本稿では、CPU上でのRNN推論におけるスケジューリング非効率性を測る指標として、データ再利用効率(DRE)を導入し、現在のRNNスケジューリングが作業セットサイズよりも30–50倍もメモリトラフィックを発生させることを明らかにした。G行列をG1とG2に分割することでデータ再利用を向上させる手法を提案し、LMのような大規模モデルでは最大2.9倍、GNMTでは1.65倍のメモリ帯域幅削減を達成。これにより、モバイルSoCにおけるエネルギー効率が顕著に向上した。
Recurrent neural networks (RNNs) have shown state of the art results for speech recognition, natural language processing, image captioning and video summarizing applications. Many of these applications run on low-power platforms, so their energy efficiency is extremely important. We observed that cache-oblivious RNN scheduling during inference typically results in 30-50x more data transferred on and off the CPU than the application's working set size. This can potentially impact its energy efficiency. This paper presents a new metric called Data Reuse Efficiency to gauge the RNN scheduling efficiency of a platform and shows the factors that influence the DRE value. Additionally, this paper discusses an optimization to improve reuse in RNNs and highlights the positive impact of this optimization on the total amount of memory read from or written to the memory controller (and, hence, the DRE value) during the execution of an RNN application for a mobile SoC.
研究の動機と目的
- CPU上での現在のRNNスケジューリングの非効率性、特に過剰なメモリ帯域幅使用を定量化すること。
- キャッシュに依存しないスケジューリングが、RNN推論において作業セットサイズよりも30–50倍も多くのデータ移動を引き起こすことを特定すること。
- G行列をG1とG2に分割する新しい最適化手法を提案し、データ再利用を向上させ、メモリトラフィックを削減すること。
- モバイルSoCに類似したキャッシュを想定した解析的モデルを用いて、最適化されたスケジューラーがメモリシステム効率に与える影響を評価すること。
- 低消費電力プラットフォームにおけるRNNワークロードのスケジューリング効率を評価するための新指標としてDREを確立すること。
提案手法
- スケジューリング効率を測る指標として、データ再利用効率(DRE)を提案:DRE = 作業セットサイズ / 総メモリトラフィック(読み込み + 書き込み)
- Haswellプラットフォームのパフォーマンスカウンターを用い、320のLSTMベンチマーク(さまざまな設定を想定)のメモリ帯域幅使用量と作業セットサイズを測定した。
- G行列の分割最適化を導入:連結された重み行列GをG1とG2に分解し、時間ステップ間でG1を繰り返し再利用可能にする。
- 行列-ベクトル乗算にキャッシュブロッキング技術を適用し、12 MBのLRUキャッシュ内でデータ再利用を最大化。モバイルSoCを模擬した環境を想定した。
- スケジューリングアルゴリズムに基づくメモリアクセスパターンを生成する解析的モデルを構築。キャッシュミスと書き戻しをシミュレートした。
- 4つの実世界のNLPワークロード(GNMT、DeepSpeech1、LM、byteNER)に対して、最適化されたスケジュール(Schedule A+)を、標準的なTensorFlow/MKLスケジューリング(Schedule A)と比較して評価した。
実験結果
リサーチクエスチョン
- RQ1現在のRNNスケジューリング方式では、実際の作業セットサイズよりもどれほど多くのデータが転送されているのか?
- RQ2CPU上でのRNN推論における高いメモリ帯域幅使用の要因は何なのか?
- RQ3G行列を2つの部分に分割することで、データ再利用が向上し、メモリトラフィックが削減できるか?
- RQ4G行列の分割最適化は、多様なNLPワークロードにおいてメモリ帯域幅の削減にどの程度効果を発揮するのか?
- RQ5新しいDRE指標は、RNN推論における実世界のスケジューリング非効率性をどの程度正確に反映しているのか?
主な発見
- CPU上での現在のRNNスケジューリングは、作業セットサイズよりも30–50倍も多くのデータ移動を生じさせ、深刻なスケジューリング非効率性を示している。
- G行列の分割最適化により、言語モデル(LM)ベンチマークでは最大2.9倍のメモリトラフィック削減が達成された。特に、G1行列が小さい大規模なレイヤーで顕著な恩恵が得られた。
- GNMTでは、最適化が適用可能なエンコーダーレイヤーにおいて、DREが1.45~1.65倍向上した。
- byteNER(9.4 MBの小規模モデル)では、キャッシュに収まるため、Schedule AとA+の性能が類似しており、キャッシュフレンドリーな小規模モデルでは最適化の恩恵が限定的であることが示された。
- 解析的モデルにより、最適化されたスケジューラーが、特にG行列サイズが大きい大規模モデルにおいて、キャッシュミスとメモリトラフィックを顕著に削減することが確認された。
- DRE指標は、スケジューリング非効率性を的確に特定し、アーキテクチャ的最適化がメモリ帯域幅消費に与える影響を定量的に評価するのに成功した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。