PEANO-ViT: Power-Efficient Approximations of Non-Linearities in Vision Transformers
<|reference_start|>PEANO-ViT: Power-Efficient Approximations of Non-Linearities in Vision Transformers: The deployment of Vision Transformers (ViTs) on hardware platforms, specially Field-Programmable Gate Arrays (FPGAs), presents many challenges, which are mainly due to the substantial computational and power requirements of their non-linear functions, notably layer normalization, softmax, and Gaussian Error Linear Unit (GELU). These critical functions pose significant obstacles to efficient hardware implementation due to their complex mathematical operations and the inherent resource count and architectural limitations of FPGAs. PEANO-ViT offers a novel approach to streamlining the implementation of the layer normalization layer by introducing a division-free technique that simultaneously approximates the division and square root function. Additionally, PEANO-ViT provides a multi-scale division strategy to eliminate division operations in the softmax layer, aided by a Pade-based approximation for the exponential function. Finally, PEANO-ViT introduces a piece-wise linear approximation for the GELU function, carefully designed to bypass the computationally intensive operations associated with GELU. In our comprehensive evaluations, PEANO-ViT exhibits minimal accuracy degradation (<= 0.5% for DeiT-B) while significantly enhancing power efficiency, achieving improvements of 1.91x, 1.39x, 8.01x for layer normalization, softmax, and GELU, respectively. This improvement is achieved through substantial reductions in DSP, LUT, and register counts for these non-linear operations. Consequently, PEANO-ViT enables efficient deployment of Vision Transformers on resource- and power-constrained FPGA platforms.<|reference_end|>
@article{sadeghi2024peano-vit:,
    title={PEANO-ViT: Power-Efficient Approximations of Non-Linearities in Vision
  Transformers},
    author={Mohammad Erfan Sadeghi, Arash Fayyazi, Seyedarmin Azizi, Massoud
  Pedram},
    journal={arXiv preprint arXiv:2406.14854},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.14854},
    primaryClass={cs.CV cs.AI eess.IV}
}