2023 · 20 citations · 18 references
EngineeringComputer EngineeringComputer ScienceComputer VisionField-programmable Gate ArraysMachine VisionAccelerator ArchitectureFpga ArchitectureHardware AccelerationLow-power Fpga DesignMemory Subsystem DesignReconfigurable AcceleratorsAcceleratorsImage Processing AcceleratorsMemory BandwidthMemory Bandwidth OptimizationMemory Traffic ReductionObject ClassificationProcessing Element DesignProgrammable Accelerators
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 Memory Efficient FPGA accelerator for ViT inference that minimizes memory traffic. We propose a 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 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.22x and 17.89x overall improvement in memory bandwidth, and a 2.16 x 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 x (1.03x) over a GPU (FPGA) baseline. ME-ViT enables up to 5 ME-PE instantiations on a Xilinx Alveo U200, achieving a 5.10 x improvement in throughput over the state-of-the art FPGA baseline, and a 5.85 x (1.51 x) improvement in power efficiency over the GPU (FPGA) baseline.
18
DROPS (Schloss Dagstuhl – Leibniz Center for Informatics) · 2023 · 76.3K citations · Full text
Gaussian Error Linear Units (GELUs)
Dan Hendrycks, Kevin Gimpel · arXiv (Cornell University) · 2016 · 3.2K citations · Full text
FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
Tri Dao, Daniel Y. Fu, Stefano Ermon et al. · arXiv (Cornell University) · 2022 · 459 citations · Full text