Design of multi-FPGAs platform in the cloud for neural network applications
Conception d’une plate-forme multi-FPGAs dans le cloud pour les applications de réseaux de neurones
Résumé
The rapid innovation of neural network algorithms has led to neural network architectures with more calculations and deeper structures. However, the neural network deployment on traditional devices such as CPU/GPU faces energy consumption challenges. In this case, Field Programmable Gate Array (FPGA) has become an alternative to realizing neural networks because of its efficient energy and reconfigurability. However, the deployment of neural network engineers on FPGAs requires specific hardware design tools and solid hardware knowledge to complete the design to the final implementation. The objective of the thesis is to provide an FPGA-based Cloud computing infrastructure dedicated to machine learning engineers to perform different CNN models on various FPGA platforms without hardware acknowledges. The infrastructure offers multiple CNN hardware IPs, which have a high-throughput structure through pipelines, or save hardware resource consumption, or have a structure that strikes a balance between the two. These IPs are designed to generate different CNN hardware architectures on FPGAs according to the requirements of machine learning engineers. The infrastructure also involves several mathematical models, which estimate the resource usage of the two IPs developed. This estimation can help allocate FPGA resources well in the cloud. Finally, a quantization tool is designed to compress the network size with any bit width for the implementation on the FPGA. In order to complete the functionality of the infrastructure, several use cases are also developed to achieve the multiple usages of the neural network applications. This thesis also provides an overview of the life cycle for this infrastructure to conduct an in-deep analysis of how the infrastructure works for different machine learning engineers in various use cases. The proposed infrastructure can analyze the user needs of other use cases, deploy the CNN hardware architecture on
L’évolution rapide des réseaux de neurones a conduit à des architectures de réseaux nécessitant des capacités de calculs importantes avec des structures de réseau de plus en plus profondes. Le déploiement des réseaux de neurones sur des composants CPU/GPU fait face aux défis de la consommation énergétique. Pour faire face à ce problème de consommation énergétique, l’utilisation de circuits reconfigurables, comme les FPGA (Field Programmable Gate Array) est devenu une alternative de plus en plus envisagée. Cependant, le déploiement de réseaux sur des FPGA nécessite des outils de conception matérielle spécifiques et une solide expertise matérielle pour mener à bien leur conception jusqu’à l’implémentation finale sur FPGA. L’objectif de la thèse est de fournir une infrastructure de cloud computing basée sur des FPGAs dédiés aux ingénieurs en Machine Learning pour exécuter différents modèles de CNN (Convolutional Neural Network) sur diverses plateformes FPGA sans connaissance matérielle. L’infrastructure offre plusieurs IPs de CNN matériels, qui ont soit une structure haut débit via des mises en œuvre de pipeline, soit optimisent les ressources matérielles, ou ont une structure apportant un compromis entre les ressources et le temps de calcul. Ces IP sont conçus pour générer différentes architectures matérielles de CNN sur des FPGAs en fonction des exigences des ingénieurs en Machine Learning. L’infrastructure intègre également des modèles mathématiques, qui estiment les ressources nécessaires des IPs en fonction de leurs paramètres et sans passer par l’étape de synthèse (qui est très couteuse en temps). Cette estimation peut aider à allouer aux mieux les ressources FPGAs dans le cloud et choisir le ou les FPGAs appropriés. Enfin, un outil de quantification est conçu pour compresser la taille du réseau en diminuant la taille des données des CNN sur FPGA. Afin de compléter la fonctionnalité de l’infrastructure, plusieurs cas d’utilisation sont également développés pour couvrir tous les cas d’usages des applications associées aux réseaux de neurones. Cette thèse présente également le cycle de vie de cette infrastructure afin de mener une analyse approfondie du fonctionnement de l’infrastructure pour différents ingénieurs en Machine Learning dans divers cas d’utilisation. L’infrastructure proposée peut analyser les besoins des utilisateurs pour d’autres cas d’utilisation que l’inférence, déployer l’architecture matérielle du CNN sur le FPGA approprié et mettre en œuvre des techniques d’optimisations si nécessaire.
Origine | Version validée par le jury (STAR) |
---|