CE23 - Données, Connaissances, Big data, Contenus multimédias, Intelligence Artificielle

Accélérateurs Approximatifs pour Apprentissage Profond – AdequateDL

Accélérateurs approximatifs pour l'apprentissage profond

AdequateDL explore les améliorations considérables de performances apportés par le calcul approximatif pour les accélérateurs matériels dédiés à l'apprentissage profond (DL) . Nous proposerons un outil pour explorer le compromis entre la précision des résultats et les gains en performance par watt des accélérateurs approximatifs comparés aux plateformes CPU/GPU, tout en gardant les résultats sous une borne définie par l’utilisateur.

Comment les techniques d'approximation peuvent-elles améliorer les performances des accélérateurs matériels pour l'apprentissage profond ?

La charge de calcul requise pour l'exécution de réseaux de neurones convolutionnels (CNNs) les rend souvent hors de portée des systèmes embarqués avec des contraintes énergétiques, et les rendent coûteux même dans les centres de calculs. En relâchant le besoin de résultat exact, le calcul approximatif permet des améliorations substantielles en performance et efficacité énergétique. L’apprentissage profond est très pertinent dans ce contexte, car jouer avec la précision améliorera considérablement les performances, tout en maintenant la qualité des résultats dans une plage limitée par l'utilisateur.<br />Le but de ce projet est d'explorer comment les techniques d'approximation peuvent améliorer les performances et l'efficacité énergétique des accélérateurs matériels pour CNN dans les applications DL. En particulier, nous étudierons comment l'arithmétique à précision réduite pour la virgule flottante et la virgule fixe, les représentations des nombres, et même les transformations au niveau algorithmique, peuvent améliorer l'efficacité des calculs de CNN tout en maintenant les phases de classification et d'apprentissage à une précision élevée. L'objectif est d'aller plus loin que les études actuelles dans lesquelles seules les entrées et les sorties des couches du réseau neuronal sont quantifiées avec une faible précision. L'ambition d'AdequateDL est d'explorer cette nouvelle façon d'obtenir des améliorations de plusieurs ordres de grandeur dans les performances et l'efficacité énergétique et donc d'influencer la conception des futurs systèmes informatiques dédiés aux applications d'apprentissage profond, tant sur les marchés embarqués que pour le cloud.

Un environnement d'exploration de précision qui rassemble l'expertise de l'INRIA, du CEA LIST et du LIRMM est en cours d'élaboration. Cet outil, basé sur N2D2 (Neural Network Design & Deployment), explore l'impact des approximations et de la réduction de la précision sur l’entrainement et l’inférence des CNN. Le backend de N2D2 sera également adapté et utilisé pour générer du code C++ ou OpenCL permettant une synthèse de haut niveau (HLS) des accélérateurs matériels approximés. Le code généré prendra comme entrée une bibliothèque d'opérateurs à précision réduite utilisant l’arithmétique à virgule flottante et à virgule fixe et sera également optimisé par des techniques de réduction de précision et des transformations au niveau du code source. En outre, AdequateDL exploitera également des méthodes de quantification de poids pendant la phase d'apprentissage afin d'apporter la plus faible perte de qualité de l’inférence pour une réduction de précision donnée. Enfin, la solution sera synthétisée et exécutée sur une plate-forme matérielle cible afin de démontrer les gains de performance et d'énergie des accélérateurs générés automatiquement.
L'outil développé sera validé par un prototype d'accélérateur FPGA pour CNN. L'exploration de précision par le calcul approximatif contrôlé sera le principal objectif pour accroître l'efficacité énergétique. Des comparaisons avec d'autres plateformes telles que les GPU embarqués et l'implémentation FPGA existante des CNN seront effectuées.

Une bibliothèque d'opérateurs à virgule flottante (FlP) à précision réduite a été conçue et a démontré l'intérêt en termes de compromis entre précision et coût de ces opérateurs à virgule flottante en précision réduite. La bibliothèque ctfloat a été publiée en open source. Les premières expériences ont porté sur l'utilisation des opérateurs FlP personnalisés dans le cadre de l'outil N2D2.
Nous avons également étudié l'opportunité du partage de poids (WS). En particulier, nous nous sommes concentrés sur la manière dont le WS peut être exploité pour réduire l'empreinte mémoire des CNN, sur la meilleure granularité (c'est-à-dire au niveau du réseau, des couches, des canaux ou des noyaux) pour l'appliquer et enfin, sur le développement d'un outil permettant d’explorer l’espace de conception pour obtenir des CNN approximé. Grâce aux mesures de sensibilités proposées, nous avons pu mettre en œuvre cette exploration à objectifs multiples pour identifier les compromis entre compression et précision.
Nous avons également intégré un module dans N2D2 pour la quantification post-entrainement. Cette méthode s'appuie sur un ensemble de points représentatifs pour calculer une approximation de l’intervalle des sorties pour chaque couche du réseau. De plus, de nouvelles fonctionnalités (quantification des poids, des activations et des seuils) ont été entièrement intégrées dans le dépôt open-source de N2D2. N2D2 a également été amélioré de façon à offrir la possibilité de générer un code C/HLS pour un DNN quantifié. Ce code ouvre la voie à l'estimation automatique du coût d'une topologie DNN quantifiée sur un FPGA.

Nous travaillerons sur l’intégration des opérateurs en virgule flottante à précision réduite au module de quantification récemment développé dans N2D2. Nous avons récemment commencé à explorer l'accélération de l’entrainement des DNN en précision réduite dans le cadre d’une thèse de doctorat financé par le projet qui a débuté en octobre 2020. Nous explorons des représentations de nombres ad hoc basés sur la virgule flottante et leur adaptation au cours des différentes époques de l’entrainement.
Notre méthode d'exploration a permis de réduire à quelques centaines le nombre d'opérations nécessaires pour les CNN par rapport à la version d’origine. Nous espérons pouvoir l'appliquer à des modèles plus importants, tels que ResNet/MobileNet, ciblant des jeux de données plus larges comme ImageNet. Nous étudierons l'utilisation de méthodes heuristiques pour éviter l'étape coûteuse de l’évaluation de la perte de précision et examinerons en particulier la possibilité d'utiliser l'inertie du clustering comme indicateur de la perte de précision. Nous prévoyons également d'étendre le processus de compression pour inclure une étape d'élagage. Nous prévoyons enfin d'évaluer les avantages d'un back-end performant, en explorant le framework FINN de Xilinx pour mettre en œuvre un accélérateur de réseau neuronal quantifié sur cible FPGA.
Autour de N2D2 nous travaillerons sur l’intégration de nouveaux modules permettant de quantifier les paramètres durant la phase d’apprentissage. Ces modules supplémentaires ont pour but de limiter fortement la perte induite par le passage de réseaux de l’état de l’art en précision réduite. Afin d’évaluer la robustesse et le passage à l'échelle des modules, nous évaluerons les performances pour des réseaux plus larges. Une évaluation sur une tâche de segmentation, de type fully-convolutionnel sur la base cityscapes devrait permettre d’évaluer la robustesse de la méthode sur une application industrielle du domaine de l’ADAS.

1. E. Dupuis, D. Novo, I. O’Connor and A. Bosio, «On the Automatic Exploration of Weight Sharing for Deep Neural Network Compression,« IEEE/ACM Design, Automation & Test in Europe Conference (DATE), 2020, pp. 1319-1322.
2. E. Dupuis, D. Novo, I. O’Connor and A. Bosio, «Sensitivity Analysis and Compression Opportunities in DNNs Using Weight Sharing,« 23rd International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), 2020, pp. 1-6.
3. Alberto Bosio, “Security in an Approximated World”, Tutorial HIPEAC 2020.
4. Alberto Bosio, “Making AI Applications Robust, Secure and Efficient: AxC to the Rescue”, Tutorial HIPEAC 2021.
5. Alberto Bosio, Olivier Sentieys, Daniel Menard, “A Comprehensive Analysis of Approximate Computing Techniques: From Component- to Application-Level«, Tutorial DATE 2019.
6. E. Dupuis, D. Novo, I. O’Connor and A. Bosio, « Fast Exploration of Weight Sharing Opportunities for CNN Compression,« Workshop on System-level Design Methods for Deep Learning on Heterogeneous Architectures (SLOHA 2021) in conjunction with DATE 2021.
7. V. Ha, T. Yuki, and O. Sentieys. “Towards Generic and Scalable Word-Length Optimization”. 23rd IEEE/ACM Design, Automation and Test in Europe (DATE), Mar. 9, 2020, pp. 1–6.
8. V. Ha and O. Sentieys. “Leveraging Bayesian Optimization to Speed Up Automatic Precision Tuning”. 24th IEEE/ACM Design, Automation and Test in Europe (DATE), 2021.

Un chapitre de livre commun intitulé «Approximations in Deep Learning« est en cours d'écriture. Il devrait être publié à l'été 2021 par Springer.

Plusieurs logiciels ont été publiés en open source.

Les réseaux de neurones convolutionnels pour l'apprentissage profond reçoivent actuellement beaucoup d'attention de la part des industriels et des universitaires. Cependant, la puissance de calcul nécessaire à l’exécution de réseaux de neurones est souvent hors de portée des dispositifs embarqués de faible puissance et génère un coût important lorsque ceux-ci sont exécutés par des datacenters. Dans ce contexte, le calcul approximatif améliore considérablement les performances et l'efficacité énergétique, tout en conservant une qualité de résultats suffisante. AdequateDL explorera comment les approximations peuvent améliorer les performances de l'accélérateur matériel dans les applications basées sur l’apprentissage profond. Les résultats comprennent un cadre pour l'exploration de la précision et la démonstration de gains de performance de plusieurs ordres de grandeur grâce aux accélérateurs matériels adéquats proposés par rapport aux plates-formes de calcul CPU / GPU classiques.

Coordination du projet

Olivier Sentieys (Centre de Recherche Inria Rennes - Bretagne Atlantique)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

LIST Laboratoire d'Intégration des Systèmes et des Technologies
Inria Rennes - Bretagne Atlantqiue Centre de Recherche Inria Rennes - Bretagne Atlantique
UM-LIRMM Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier
INL INSTITUT DES NANOTECHNOLOGIES DE LYON

Aide de l'ANR 559 126 euros
Début et durée du projet scientifique : janvier 2019 - 42 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter