Annonce

Les commentaires sont clos.

[Stage M2] Rob-Perroquet : optimisation des modèles d’IA pour une interaction Homme-Robot temps-réel

7 December 2023


Catégorie : Stagiaire


Nancy Grand Est France

Informatique

Mathématiques

Apprentissage automatique, Interface homme-robot, Reconnaissance vocale, Robot, Parallélisme, Optimisation de programmes
 
05/01/2024
 
 
Description

Actuellement, la présence des interfaces de dialogue dans notre vie quotidienne ne cesse de s’accroître, offrant une variété de services allant du divertissement à l’éducation ou encore à la santé. Ces applications sont souvent intégrées dans nos appareils mobiles tels que les smartphones, et sont de ce fait devenues indispensables. Toutefois, en raison des limitations des ressources des dispositifs mobiles et des exigences élevées des applications, ces dernières sont souvent déployées sur des serveurs distants puissants, soulevant ainsi des préoccupations concernant la confidentialité des données. Ainsi, l’optimisation des interfaces de communication homme-machine (IHM) pour les exécuter localement sur les dispositifs mobiles, dont les robots, ou on-premise, en bord de réseau, constitue un défi majeur.

Tiago++ (https ://pal-robotics.com/robots/tiago) est un robot mobile de manipulation capable d’interactions avec son environnement et ses utilisateurs. C’est ce deuxième aspect auquel nous nous intéressons dans le cadre de cette offre de stage. En effet, pour collecter et répondre aux requêtes utilisateur, Tiago++ embarque des microphones, hauts-parleurs et écrans. La reconnaissance vocale constitue un des moyens de communication avec le robot mais reste consommatrice en temps de calcul. Pour faire face à ce problème, nous souhaitons d’une part ajuster les modèles de reconnaissance vocale et d’autre part optimiser les algorithmes sous-jacents pour obtenir des résultats en temps réel.

Les modèles d’apprentissage profond de type Transformer [1] ont émergé comme les références incontestables en matière de performances, couvrant divers domaines, notamment le traitement du langage naturel, la vision par ordinateur et le traitement de la parole. Néanmoins, ces modèles sont caractérisés par leur gigantesque taille. Cette envergure exige une infrastructure GPU substantielle pour leur apprentissage, entraînant une consommation d’énergie considérable. En revanche, l’application de ces modèles sur des dispositifs embarqués tels qu’un robot compagnon se heurte à des défis majeurs dus aux limitations en puissance de calcul, en capacité de stockage et en autonomie de batterie. Pour pallier à ces contraintes, il est impératif de réduire la taille de ces modèles et/ou le temps de calcul. Pour cela nous nous proposons de faire appel aux techniques de compression de modèles et de parallélisation de code. L’objectif de ce stage est de développer une interface vocale Homme-robot autonome. Idéalement, la mission aboutira sur une application de robot perroquet. L’utilisateur pourra énoncer une requête à l’oral et le logiciel se chargera de la répéter via un système de synthèse vocale intégré.

 

Missions

Les techniques de compression les plus utilisées sont la quantisation [2], le partage des paramètres [3], la factorisation des matrices [4], l’élagage [5] ou encore la distillation des modèles [6]. On 2 distingue deux formes d’élagage : l’élagage non structuré, qui supprime les paramètres individuels, et l’élagage structuré, qui élimine des blocs entiers de paramètres. L’objectif de ce stage est de combiner ces deux méthodes d’élagage dans le but d’optimiser la compression du modèle. L’élaboration de notre modèle de reconnaissance vocale est essentiellement basée sur une succession d’opérations matricielles. De fait, le temps de réponse de l’application est dominé par ces traitements. Pour atteindre les exigences du temps réel, l’exploitation efficace de processeurs parallèles ou massivement parallèles, p. ex. CPU ou GPU est indispensable. De plus, l’étape de compression préalablement évoquée génère des matrices creuses. Nous nous proposons de paralléliser les opérations appliquées à ces matrices pour exploiter au mieux les processeurs à disposition [7]. En outre, il faudra décider d’exécuter le programme sur Tiago++, via son processeur embarqué, ou sur une plateforme dédiée située à la périphérie du réseau.

Voici en synthèse les étapes de la réalisation des missions :

— Étudier les méthodes existantes de compression.

— Implémenter les méthodes de compression proposées.

— Évaluer l’impact des méthodes de compression sur la qualité de la reconnaissance vocale.

— Identifier les opportunités d’optimisation du code source existant.

— Optimiser le code avec les contraintes induites par la compression des modèles (parallélisation, déchargement).

Si les résultats obtenus le permettent, le travail réalisé sera valorisé par la publication d’un article scientifique. La réussite de la mission pourra déboucher sur une offre de thèse.

 

Compétences requises

Ce stage est ouvert aux élèves de M2 informatique ou en préparation d’un diplôme équivalent. Le comité de sélection sera particulièrement sensible aux profils suivants : — Bon niveau en programmation. — Bonne connaissance des techniques d’apprentissage automatique. — Intérêt pour les performances du calcul et le parallélisme. — La connaissance de l’une des bibliothèques Pytorch ou Tensorflow est un plus.

 

Durée & Contact

Le stage d’une durée de 6 mois se déroulera dans les locaux de CESI École d’Ingénieurs à Nancy. Votre dossier de candidature contiendra un CV complet, les relevés de notes post-bac avec classements et une ou plusieurs lettres de recommandation. Il sera transmis avant le 05/01/2024 à Leila BEN LETAIFA (lbenletaifa@cesi.fr) et Jean-François DOLLINGER (jfdollinger@cesi.fr), enseignants chercheurs au laboratoire LINEACT CESI.

 

Références

[1] Ashish Vaswani et al. « Attention Is All You Need ». In 31st Conference on Neural Information Processing Systems NIPS. 2017.

[2] Leila Ben Letaifa et Jean-Luc Rouas. « Transformer Model Compression for End-to-End Speech Recognition on Mobile Devices ». In 30 th European Signal Processing Conference, EUSIPCO. 2022.

[3] Zhiyun Lu, Vikas Sindhwani et Tara Sainath. « Learning Compact Recurrent Neural Networks ». In IEEE International Conference on Acoustics, Speech and Signal Processing ICASSP. 2016.

[4] Matan Ben Noach et Yoav Goldberg. « Compressing Pre-trained Language Models by Matrix Decomposition ». In International Joint Conference on Natural Language Processing. 2020.

[5] Leila Ben Letaifa et Jean-Luc Rouas. « Variable Scale Pruning for Transformer Model Compression in End-to-End Speech Recognition ». In Algorithms.Special Issue "Recent Advances in Machine Learning Algorithms" (2023).

[6] Ho-Gyeong Kim et al. « Knowledge Distillation Using Output Errors for Self-attention End-toend Models ». In IEEE International Conference on Acoustics, Speech and Signal Processing ICASSP. 2019.

[7] Changwan Hong et al. « Adaptive sparse tiling for sparse matrix multiplication ». In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming