EfficientViT: Transformador de Visão Eficiente em Memória com Atenção em Grupo em Cascata
EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention
May 11, 2023
Autores: Xinyu Liu, Houwen Peng, Ningxin Zheng, Yuqing Yang, Han Hu, Yixuan Yuan
cs.AI
Resumo
Os transformadores de visão têm demonstrado grande sucesso devido às suas altas capacidades de modelagem. No entanto, seu desempenho notável é acompanhado por custos computacionais elevados, o que os torna inadequados para aplicações em tempo real. Neste artigo, propomos uma família de transformadores de visão de alta velocidade chamada EfficientViT. Descobrimos que a velocidade dos modelos de transformadores existentes é comumente limitada por operações ineficientes em termos de memória, especialmente o redimensionamento de tensores e as funções elementares no MHSA (Multi-Head Self-Attention). Portanto, projetamos um novo bloco de construção com um layout sanduíche, ou seja, usando um único MHSA limitado por memória entre camadas FFN (Feed-Forward Network) eficientes, o que melhora a eficiência da memória enquanto aprimora a comunicação entre canais. Além disso, descobrimos que os mapas de atenção compartilham alta similaridade entre as cabeças, levando a redundância computacional. Para resolver isso, apresentamos um módulo de atenção em grupo em cascata que alimenta as cabeças de atenção com diferentes divisões da característica completa, o que não apenas economiza custo computacional, mas também melhora a diversidade da atenção. Experimentos abrangentes demonstram que o EfficientViT supera os modelos eficientes existentes, alcançando um bom equilíbrio entre velocidade e precisão. Por exemplo, nosso EfficientViT-M5 supera o MobileNetV3-Large em 1,9% em precisão, enquanto obtém 40,4% e 45,2% maior taxa de transferência na GPU Nvidia V100 e na CPU Intel Xeon, respectivamente. Comparado ao recente modelo eficiente MobileViT-XXS, o EfficientViT-M2 alcança 1,8% de precisão superior, enquanto executa 5,8x/3,7x mais rápido na GPU/CPU, e 7,4x mais rápido quando convertido para o formato ONNX. O código e os modelos estão disponíveis em https://github.com/microsoft/Cream/tree/main/EfficientViT.
English
Vision transformers have shown great success due to their high model
capabilities. However, their remarkable performance is accompanied by heavy
computation costs, which makes them unsuitable for real-time applications. In
this paper, we propose a family of high-speed vision transformers named
EfficientViT. We find that the speed of existing transformer models is commonly
bounded by memory inefficient operations, especially the tensor reshaping and
element-wise functions in MHSA. Therefore, we design a new building block with
a sandwich layout, i.e., using a single memory-bound MHSA between efficient FFN
layers, which improves memory efficiency while enhancing channel communication.
Moreover, we discover that the attention maps share high similarities across
heads, leading to computational redundancy. To address this, we present a
cascaded group attention module feeding attention heads with different splits
of the full feature, which not only saves computation cost but also improves
attention diversity. Comprehensive experiments demonstrate EfficientViT
outperforms existing efficient models, striking a good trade-off between speed
and accuracy. For instance, our EfficientViT-M5 surpasses MobileNetV3-Large by
1.9% in accuracy, while getting 40.4% and 45.2% higher throughput on Nvidia
V100 GPU and Intel Xeon CPU, respectively. Compared to the recent efficient
model MobileViT-XXS, EfficientViT-M2 achieves 1.8% superior accuracy, while
running 5.8x/3.7x faster on the GPU/CPU, and 7.4x faster when converted to ONNX
format. Code and models are available at
https://github.com/microsoft/Cream/tree/main/EfficientViT.