Mémoire de maîtrise (2023)
Document en libre accès dans PolyPublie |
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (1MB) |
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: | 04 oct. 2024 15:00 |
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