[論文レビュー] Hardware Accelerator for Multi-Head Attention and Position-Wise Feed-Forward in the Transformer
本稿では、Transformerモデルの計算負荷が最も高い2つのコンponent、マルチヘッドアテンション(MHA)と位置ごとのフィードフォワードネットワーク(FFN)のための、FPGAベースのハードウェアアクセラレータを初めて提示する。行列分割、再構成可能なサカリッドアレイ、およびレイヤー正規化やソフトマックスといった非線形関数の最適化を活用することで、XCVU13P FPGA上で200MHz、16.7Wの消費電力で動作する設計により、GPU実装と比較してMHAで14.6倍、FFNで3.4倍の高速化を達成した。
Designing hardware accelerators for deep neural networks (DNNs) has been much desired. Nonetheless, most of these existing accelerators are built for either convolutional neural networks (CNNs) or recurrent neural networks (RNNs). Recently, the Transformer model is replacing the RNN in the natural language processing (NLP) area. However, because of intensive matrix computations and complicated data flow being involved, the hardware design for the Transformer model has never been reported. In this paper, we propose the first hardware accelerator for two key components, i.e., the multi-head attention (MHA) ResBlock and the position-wise feed-forward network (FFN) ResBlock, which are the two most complex layers in the Transformer. Firstly, an efficient method is introduced to partition the huge matrices in the Transformer, allowing the two ResBlocks to share most of the hardware resources. Secondly, the computation flow is well designed to ensure the high hardware utilization of the systolic array, which is the biggest module in our design. Thirdly, complicated nonlinear functions are highly optimized to further reduce the hardware complexity and also the latency of the entire system. Our design is coded using hardware description language (HDL) and evaluated on a Xilinx FPGA. Compared with the implementation on GPU with the same setting, the proposed design demonstrates a speed-up of 14.6x in the MHA ResBlock, and 3.4x in the FFN ResBlock, respectively. Therefore, this work lays a good foundation for building efficient hardware accelerators for multiple Transformer networks.
研究の動機と目的
- 現代のNLPを支配するが、計算およびメモリ要件が非常に高いTransformerモデルのための専用ハードウェアアクセラレータの不足に対処すること。
- モバイルおよび組み込みシステムにおけるTransformerモデルの効率的な推論を可能にするために、遅延と消費電力を低減すること。
- 最も複雑な2つのレイヤー、MHA ResBlockとFFN ResBlockを効率的に加速できる再構成可能なハードウェアアーキテクチャを設計すること。
- 大きな行列の分割とサカリッドアレイのハードウェア再利用により、MHAとFFN間のリソース共有を最適化すること。
- レイヤー正規化やスケーリング済みマスク付きソフトマックスといった重要な非線形演算の遅延を最小限に抑えるために、早期計算とハードウェアに適した近似を実施すること。
提案手法
- MHAおよびFFNにおける大きな行列に対して行列分割を適用し、両コンponent間でサカリッドアレイを共有可能にする。
- 再構成可能なサカリッドアレイをコア計算ユニットとして採用し、ハードウェア利用率を最大化するように注意深く設計されたデータフローを採用する。
- スケーリング済みマスク付きソフトマックスを、固定小数点演算とlog-sum-expのテクニックを用いて最適化し、複雑さと遅延を低減する。
- 平均の事前計算と代数的恒等式を用いて分散をより少ないサイクルで計算することで、レイヤー正規化を高速化する:$var(G,i) = E(G,i)^2 - \frac{1}{d_{model}}\sum_{k=1}^{d_{model}} G(i,k)^2$。
- レイヤー正規化における$x \hat{~{}} (-0.5)$演算を高速化するため、ルックアップテーブルを用いることでクリティカルパス遅延を短縮する。
- 全設計をHDLで実装し、Xilinx xcvu13p-fhga2104-3-e FPGAに8ビット整数量子化を適用して合成した。
実験結果
リサーチクエスチョン
- RQ11つのハードウェアアクセラレータが、Transformerアーキテクチャのマルチヘッドアテンションと位置ごとのフィードフォワードブロックの両方を効率的に処理できるか?
- RQ2行列分割とサカリッドアレイ再利用を活用することで、面積と消費電力を最小限に抑えつつ、高いスループットを維持できるか?
- RQ3ソフトマックスやレイヤー正規化といった非線形関数の遅延を低減するために、どのような最適化が必要か?
- RQ4Transformer推論において、FPGAベースのアクセラレーションはGPU推論に比べて、遅延およびエネルギー効率の点でどの程度優れているか?
- RQ58ビット整数への量子化後でも、ハードウェア最適化されたアテンションおよびフィードフォワードレイヤーの実装が、モデルの精度を維持できるか?
主な発見
- 提案されたアクセラレータは、NVIDIA V100 GPU実装と比較して、MHA ResBlockで14.6倍の高速化を達成した。
- 同じGPUベースライン(バッチサイズ = 1、シーケンス長 = 64)下で、FFN ResBlockは3.4倍の高速化を達成した。
- FPGA設計は200MHzで動作し、チップ内総消費電力は16.7W(動的消費電力13.3W、静的消費電力3.4W)であった。
- MHAとFFNの間での再構成を可能にする、注意深く設計された計算フローにより、サカリッドアレイの利用率が最大化された。
- 平均の事前計算と代数的恒等式を用いた分散計算により、レイヤー正規化モジュールは遅延を低減し、クリティカルパスを最小限に抑えた。
- 8ビット整数量子化を用いたTransformerベースモデルは、IWSLT 2016ドイツ語-英語翻訳タスクでBLEUスコア23.57を達成し、精度損失が最小限であることが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。