<  Retour au portail Polytechnique Montréal

Efficient Look-Up Table Implementation of Neural Networks with Binary Activation Through Layerwise Pruning

Amirali Ebrahimi

Mémoire de maîtrise (2023)

[img] Accès restreint: Personnel autorisé jusqu'au 4 octobre 2024
Conditions d'utilisation: Tous droits réservés
Afficher le résumé
Cacher le résumé

Résumé

RÉSUMÉ Les réseaux de neurones artificiels ont gagné en popularité dans divers domaines. Cependant, en raison de leurs besoins élevés en mémoire et en ressources de traitement, la sélection de plates-formes de traitement appropriées pour leur mise en œuvre est cruciale. En raison de la puissance de traitement et du stockage limités des appareils mobiles et embarqués, des mesures spéciales doivent être prises lors de la mise en œuvre de réseaux de neurones sur ces appareils. Des techniques de compression de modèle telles que la quantification et l’élagage peuvent être utilisées pour réduire les coûts associés à la mise en œuvre. Cette recherche présente un nouvel algorithme qui peut associer un réseau de neurones avec des activations binaires à des LUT, en particulier des LUT de FPGA, avec un impact minimal sur la précision. En intégrant le concept d’élagage à des considérations architecturales, l’algorithme proposé élague le réseau couché par couché jusqu’à ce que le nombre souhaité d’entrées LUT, défini par le concepteur, soit atteint. Nous introduisons également une nouvelle métrique de défaut d’élagage qui considère l’effet de la suppression d’une connexion sur la précision du modèle. Nos couches binaires co-éqales proposées sont ensuite utilisées pour remplacer les couches par leur version élaguée basée sur la LUT, qui peut ensuite être utilisée pour recycler le modèle et récupérer une partie de sa précision. Pour remplir les entrées manquantes des LUTs générées, nous utilisons une variante de l’algorithme de le plus proches voisins base sur la distance de Hamming. De plus, nous fournissons un script Python capable de générer du code en langage de description matérielle pour chaque LUT, qui peut ensuite être associé à des LUT physiques du FPGA. Les résultats montrent que lorsque le nombre de LUT, le débit et la consommation d’énergie sont pris en compte, un réseau entièrement connecté à quatre couches élagué sur l’ensemble de données MNIST est 7.95× plus petit, 1.66× plus rapide et 5.66× moins énergivore. Que le réseau de base, avec seulement une baisse de précision de 0,47%. Les résultats empiriques suggèrent que l’approche proposée peut permettre la mise en œuvre efficace de réseaux de neurones avec des activations binaires sur des dispositifs FPGA, ce qui est crucial pour diverses applications avec des ressources limitées.

Abstract

ABSTRACT Artificial Neural Networks have gained significant popularity across different domains. To implement these networks successfully, it is essential to choose suitable processing platforms that can meet their high memory and processing demands. This is especially crucial for mobile and embedded devices, which often have limited processing power and storage. Model compression techniques such as quantization and pruning can be employed to reduce the costs associated with implementation. This research presents a new algorithm that can map a neural network with binary activations to LUTs, specifically FPGA LUTs, with minimal impact on accuracy. By integrating the pruning concept with architectural considerations, the proposed algorithm prunes the network layer by layer until the desired number of LUT inputs, defined by the designer, is reached. We also introduce a novel pruning fault metric that considers the effect of removing a connection on model accuracy. Our proposed Binary Layer Coequal layers are then used to replace layers with their LUT-based pruned version, which can then be used to retrain the model and recover some of its accuracy. To fill in missing entries of the generated LUTs, we use a variant of the K-Nearest-neighbours algorithm based on the Hamming distance. Furthermore, we provide a Python script that can generate Hardware Description Language code for each LUT, which can then be mapped onto the physical LUTs on the FPGA. The results show that when the number of LUTs, throughput, and power consumption are considered, a pruned four-layer fully connected network on the MNIST dataset is 7.95× smaller, 1.66× faster, and 5.66× more power efficient than the baseline, with only a 0.47% accuracy drop. The empirical results suggest that the proposed approach can enable the efficient implementation of neural networks with binary activations on FPGA devices, which is crucial for various applications with constrained resources.

Département: Département de génie électrique
Programme: Génie électrique
Directeurs ou directrices: Jean Pierre David et J. M. Pierre Langlois
URL de PolyPublie: https://publications.polymtl.ca/53415/
Université/École: Polytechnique Montréal
Date du dépôt: 04 oct. 2023 14:42
Dernière modification: 13 avr. 2024 06:01
Citer en APA 7: Ebrahimi, A. (2023). Efficient Look-Up Table Implementation of Neural Networks with Binary Activation Through Layerwise Pruning [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/53415/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document