English

ME-ViT: A Single-Load Memory-Efficient FPGA Accelerator for Vision Transformers

Image and Video Processing 2024-02-16 v1

Abstract

Vision Transformers (ViTs) have emerged as a state-of-the-art solution for object classification tasks. However, their computational demands and high parameter count make them unsuitable for real-time inference, prompting the need for efficient hardware implementations. Existing hardware accelerators for ViTs suffer from frequent off-chip memory access, restricting the achievable throughput by memory bandwidth. In devices with a high compute-to-communication ratio (e.g., edge FPGAs with limited bandwidth), off-chip memory access imposes a severe bottleneck on overall throughput. This work proposes ME-ViT, a novel \underline{M}emory \underline{E}fficient FPGA accelerator for \underline{ViT} inference that minimizes memory traffic. We propose a \textit{single-load policy} in designing ME-ViT: model parameters are only loaded once, intermediate results are stored on-chip, and all operations are implemented in a single processing element. To achieve this goal, we design a memory-efficient processing element (ME-PE), which processes multiple key operations of ViT inference on the same architecture through the reuse of \textit{multi-purpose buffers}. We also integrate the Softmax and LayerNorm functions into the ME-PE, minimizing stalls between matrix multiplications. We evaluate ME-ViT on systolic array sizes of 32 and 16, achieving up to a 9.22×\times and 17.89×\times overall improvement in memory bandwidth, and a 2.16×\times improvement in throughput per DSP for both designs over state-of-the-art ViT accelerators on FPGA. ME-ViT achieves a power efficiency improvement of up to 4.00×\times (1.03×\times) over a GPU (FPGA) baseline. ME-ViT enables up to 5 ME-PE instantiations on a Xilinx Alveo U200, achieving a 5.10×\times improvement in throughput over the state-of-the art FPGA baseline, and a 5.85×\times (1.51×\times) improvement in power efficiency over the GPU (FPGA) baseline.

Keywords

Cite

@article{arxiv.2402.09709,
  title  = {ME-ViT: A Single-Load Memory-Efficient FPGA Accelerator for Vision Transformers},
  author = {Kyle Marino and Pengmiao Zhang and Viktor Prasanna},
  journal= {arXiv preprint arXiv:2402.09709},
  year   = {2024}
}
R2 v1 2026-06-28T14:49:14.554Z