Model Quantization and Hardware Acceleration for Vision Transformers: A Comprehensive Survey
<|reference_start|>Model Quantization and Hardware Acceleration for Vision Transformers: A Comprehensive Survey: Vision Transformers (ViTs) have recently garnered considerable attention, emerging as a promising alternative to convolutional neural networks (CNNs) in several vision-related applications. However, their large model sizes and high computational and memory demands hinder deployment, especially on resource-constrained devices. This underscores the necessity of algorithm-hardware co-design specific to ViTs, aiming to optimize their performance by tailoring both the algorithmic structure and the underlying hardware accelerator to each other's strengths. Model quantization, by converting high-precision numbers to lower-precision, reduces the computational demands and memory needs of ViTs, allowing the creation of hardware specifically optimized for these quantized algorithms, boosting efficiency. This article provides a comprehensive survey of ViTs quantization and its hardware acceleration. We first delve into the unique architectural attributes of ViTs and their runtime characteristics. Subsequently, we examine the fundamental principles of model quantization, followed by a comparative analysis of the state-of-the-art quantization techniques for ViTs. Additionally, we explore the hardware acceleration of quantized ViTs, highlighting the importance of hardware-friendly algorithm design. In conclusion, this article will discuss ongoing challenges and future research paths. We consistently maintain the related open-source materials at https://github.com/DD-DuDa/awesome-vit-quantization-acceleration.<|reference_end|>
@article{du2024model,
    title={Model Quantization and Hardware Acceleration for Vision Transformers: A
  Comprehensive Survey},
    author={Dayou Du, Gu Gong, Xiaowen Chu},
    journal={arXiv preprint arXiv:2405.00314},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.00314},
    primaryClass={cs.LG cs.AI cs.AR cs.CV cs.PF}
}