# A Runtime-Adaptive Transformer Neural Network Accelerator on FPGAs

**Authors:** Ehsan Kabir, Austin R. J. Downey, Jason D. Bakos, David Andrews, Miaoqing Huang  
**arXiv:** [2411.18148](https://arxiv.org/abs/2411.18148)  
**Date:** 2024-11-27  
**Summary page:** https://www.summarizepaper.com/fr/paper/2411.18148v1/

## Key points

- Les réseaux neuronaux transformateurs (TNN) sont des modèles de pointe dans le domaine du traitement du langage naturel (NLP), de la traduction automatique et de la vision par ordinateur (CV).
- Contrairement aux approches traditionnelles utilisant des couches récurrentes ou convolutionnelles, les TNN ne nécessitent pas ces types de couches.
- Les TNN ont des exigences élevées en termes de puissance de calcul et de mémoire, ce qui peut poser problème sur des appareils à ressources limitées tels que les FPGA.
- Chaque modèle de transformateur peut avoir un temps de traitement différent selon l'application, nécessitant souvent la création d'accélérateurs personnalisés avec des paramètres spécifiques.
- ADAPTOR est un accélérateur adaptable en temps réel pour les calculs matriciels denses dans les encodeurs et décodeurs de transformateurs sur FPGA, optimisant l'utilisation des éléments de traitement et de la mémoire intégrée pour améliorer le parallélisme et réduire la latence.
- ADAPTOR utilise un carrelage efficace des matrices pour distribuer les ressources sur les plates-formes FPGA et est entièrement quantifié pour une efficacité computationnelle et une portabilité optimales.
- Les évaluations montrent que ADAPTOR est plus économe en énergie que le GPU NVIDIA K80 et le CPU i7-8700K respectivement, tout en obtenant un gain de vitesse significatif par rapport à certains accélérateurs basés sur FPGA dernier cri.

## Summary

Les réseaux neuronaux transformateurs (TNN) sont des modèles de pointe dans le domaine du traitement du langage naturel (NLP), de la traduction automatique et de la vision par ordinateur (CV). Contrairement aux approches traditionnelles utilisant des couches récurrentes ou convolutionnelles, les TNN ne nécessitent pas ces types de couches. Cependant, ils ont des exigences élevées en termes de puissance de calcul et de mémoire, ce qui peut poser problème sur des appareils à ressources limitées tels que les FPGA. De plus, chaque modèle de transformateur peut avoir un temps de traitement différent selon l'application, ce qui nécessite souvent la création d'accélérateurs personnalisés avec des paramètres spécifiques. Cela peut être complexe et chronophage. Bien qu'il existe déjà certains accélérateurs personnalisés pour les TNN, ils manquent souvent d'adaptabilité en temps réel et s'appuient sur des matrices clairsemées pour réduire la latence. Cependant, cela rend la conception matérielle encore plus complexe car elle doit prendre en compte les motifs clairsemés spécifiques à chaque application. C'est pourquoi nous présentons ADAPTOR : un accélérateur adaptable en temps réel pour les calculs matriciels denses dans les encodeurs et décodeurs de transformateurs sur FPGA. ADAPTOR optimise l'utilisation des éléments de traitement et de la mémoire intégrée afin d'améliorer le parallélisme et réduire la latence. Il utilise également un carrelage efficace des matrices pour distribuer les ressources sur les plates-formes FPGA et est entièrement quantifié pour une efficacité computationnelle et une portabilité optimales. Nos évaluations ont été réalisées sur des cartes de centre de données Xilinx Alveo U55C ainsi que sur des plateformes embarquées telles que VC707 et ZCU102. Les résultats montrent que notre conception est 1,2 fois plus économe en énergie que le GPU NVIDIA K80 et 2,87 fois plus économe que le CPU i7-8700K respectivement. De plus, elle obtient un gain de vitesse compris entre 1,7 et 2,25 fois par rapport à certains accélérateurs basés sur FPGA dernier cri. En conclusion, ADAPTOR représente une avancée significative dans l'accélération des calculs matriciels denses pour les transformateurs neuronaux grâce à son adaptabilité en temps réel, son utilisation optimale des ressources matérielles et sa performance supérieure par rapport aux solutions existantes sur FPGA.
