Apprentissage automatique dynamique s'adaptant aux ressources disponibles – RADYAL
Apprentissage automatique dynamique s'adaptant aux ressources disponibles
Nous proposons dans ce projet une approche interdisciplinaire originale qui permet de reconfigurer des réseaux de neurones profonds de manière dynamique pendant l’exécution, tout en prenant en compte les conditions externes, en suivant une approche basée sur les boucles de rétroaction et la théorie du contrôle.
Accélerateurs SW et HW de réseaux de neurones profonds et leur configuration et contrôle «run-time«
Au niveau logiciel (SW), pour un modèle DNN donné, différentes variantes avec des niveaux de précision incrémentaux peuvent être obtenues en réglant les paramètres selon différentes dimensions : (i) précision ou quantification des données (augmentation/diminution de la largeur de bits des activations et/ou des poids), (ii) degré de sparsification (par exemple, élagage, décomposition tensorielle), (iii) profondeur du NN (nombre et type de couches de réseau à exécuter). En fonction du niveau de précision choisi pour le SW, la précision moyenne de la sortie changera, de même que la consommation d'énergie et le temps.<br />La principale observation est que, pour certaines entrées particulièrement « faciles », l'utilisation de calculs de haute précision gourmands en énergie est « superflue ». Inversement, pour les entrées « difficiles », les calculs de faible précision et économes en énergie ne suffisent pas. Par conséquent, la possibilité de modifier dynamiquement la précision du SW est essentielle pour permettre des calculs NN précis et économes en énergie. Parallèlement, au niveau du matériel, l'accélérateur DNN doit être configurable en cours d'exécution pour répondre aux exigences de traitement du logiciel. Les différents degrés des stratégies matérielles existantes ont un impact sur la consommation d'énergie et la durée d'exécution. Par exemple, la modification des stratégies de mappage des opérations (par exemple, entrée stationnaire, poids stationnaire, sortie stationnaire, rangée stationnaire), le nombre d'éléments de traitement actifs dans un accélérateur (par exemple, 16x16 ou 8x8 réseau systolique), la précision de leurs données (par exemple, 8 bits, 4 bits), la prise en charge de la sparsification (par exemple, élagage par le poids, élagage par l'élément, élagage structuré, élagage dynamique, activation de la sparsification).<br />Nous voulons explorer les différentes possibilités de configuration au niveau du logiciel et du matériel - indépendamment et conjointement - afin de pouvoir construire un modèle de substitution léger de l'impact des configurations sur les attributs du système. Ce modèle permettra une approche orientée vers la théorie du contrôle afin de combiner les configurations du logiciel et du matériel pour obtenir des sorties DNN précises tout en garantissant le calcul le plus efficace possible, compte tenu des conditions d'exécution.
La méthodologie de recherche de RADYAL est organisée en trois groupes de travail (WP). Tout d'abord, des explorations de l'espace de conception seront menées indépendamment dans les WP1 et WP2, afin de fournir des configurations SW et HW
et des variables de contrôle pour le contrôleur d'exécution. Dans une deuxième phase, les résultats obtenus seront combinés dans une exploration de l'espace de conception HW/SW (qui impliquera tous les WP) pour ouvrir la voie à des stratégies de contrôle d'exécution optimales. Ainsi, des stratégies de contrôle pour la précision dynamique HW/SW, en relation avec l'état du système et les conditions de terrain, seront proposées dans le WP3. Enfin, une application de vision par ordinateur sera utilisée pour présenter l'ensemble de l'approche
(Résultats scientifiques à venir.)
–
–
La recherche en apprentissage automatique et en réseaux de neurones profonds a fait des avancées considérables ces dernières décennies. Les modèles de l’état de l’art demandent une énorme quantité de données pour leur entraînement et contiennent un nombre gigantesque de paramètres ce qui mène à un très grand besoin de ressources en termes de puissance de calcul, mémoire et donc en énergie. Ces dernières années, cela a conduit à des approches réduisant ces besoins, où, pendant ou après l’apprentissage, des parties du modèle sont enlevées (élagage) ou stockées en précision plus faible (quantification) ou des modèles de substitution sont entraînés (knowledge distillation) où la meilleure configuration est cherchée en testant différent paramètres (Neural Architecture Search, NAS). De plus, de nombreuses optimisations matérielles ont été proposées pour accélérer l’inférence de réseaux de neurones sur différentes architectures.
En général, ces accélérateurs sont spécifiques à un type de matériel et optimisés pour satisfaire un critère statique de performance. Or, pour de nombreuses applications, les besoins de performance d’un réseau de neurones déployé sur une plateforme donnée ne sont pas statiques mais évoluent de manière dynamique au fur et á mesure que les conditions d’opération et que l’environnement changent. Par conséquent, nous proposons dans ce projet une approche interdisciplinaire originale qui permet de reconfigurer des réseaux de neurones profonds de manière dynamique pendant l’exécution, tout en prenant en compte les conditions externes, en suivant une approche basée sur les boucles de rétroaction et la théorie du contrôle.
Coordination du projet
Stefan Duffner (UMR 5205 - LABORATOIRE D'INFORMATIQUE EN IMAGE ET SYSTEMES D'INFORMATION)
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.
Partenariat
LIRIS UMR 5205 - LABORATOIRE D'INFORMATIQUE EN IMAGE ET SYSTEMES D'INFORMATION
GIPSA-lab Grenoble Images Paroles Signal Automatique
Centre Inria de l'Université de Rennes Centre Inria de l’Université de Rennes
Aide de l'ANR 608 687 euros
Début et durée du projet scientifique :
septembre 2023
- 42 Mois