Membres
Mots-clés
Apprentissage automatique adaptatif, Réseaux de neurones profonds, Configuration dynamique à l’exécution, Optimisation énergétique des systèmes embarqués, Co-conception matériel/logiciel, Théorie du contrôle et boucles de rétroaction
RADYAL : Apprentissage automatique dynamique s'adaptant aux ressources disponibles
Coordinateur
- Stefan DUFFNER (UMR 5205 - L.I.R.I.S)
Calendrier
- Octobre 2023 - Mars 2028 (54 mois)
Site Web du projet
Résumé
Ce projet propose 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.
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 :
- précision ou quantification des données (augmentation/diminution de la largeur de bits des activations et/ou des poids),
- degré de sparsification (par exemple, élagage, décomposition tensorielle),
- 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.
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, 16×16 ou 8×8 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).
Ce projet ambitionne d’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.