Vers la compréhension automatique de la parole bout-en-bout à moindre effort (Towards automatic end-to-end speech understanding with less effort) (2022)

Abstract: Les approches de compréhension automatique de la parole ont récemment bénéficié de l’apport de modèles préappris par autosupervision sur de gros corpus de parole. Pour le français, le projet LeBenchmark a rendu disponibles de tels modèles et a permis des évolutions impressionnantes sur plusieurs tâches dont la compréhension automatique de la parole. Ces avancées ont un coût non négligeable en ce qui concerne le temps de calcul et la consommation énergétique. Dans cet article, nous comparons plusieurs stratégies d’apprentissage visant à réduire le coût énergétique tout en conservant des performances compétitives. Les expériences sont effectuées sur le corpus MEDIA, et montrent qu’il est possible de réduire significativement le coût d’apprentissage tout en conservant des performances à l’état de l’art.

## introduction la compréhension automatique de la parole (slu de spoken language understanding) vise à extraire une représentation sémantique à partir d'un signal audio contenant un énoncé en langage naturel @xcite . les approches classiques utilisées pour extraire la sémantique de la parole ont consisté à mettre en cascade un module de reconnaissance automatique de la parole avec un système de compréhension du langage naturel @xcite @xcite @xcite . les réseaux de neurones ont permis l'avancement des systèmes bout-en-bout pour la slu @xcite @xcite @xcite , qui sont préférés aux systèmes en cascade, notamment pour leur capacité à réduire l'effet d'erreur en cascade et à exploiter des composantes acoustiques pour déduire certaines informations sémantiques @xcite . bien que des approches ont proposé un apprentissage de bout en bout du modèle @xcite @xcite , de nombreux travaux ont appliqué un apprentissage graduel du modèle sur des tâches de plus en plus spécifiques. partant de l'hypothèse qu'un modèle de slu doit nécessairement apprendre une représentation de la parole, @xcite et @xcite proposent une approche où le modèle est progressivement entraîné à reconnaître la transcription puis à en extraire la sémantique. on peut également citer @xcite et @xcite qui apprennent, en première étape, un classificateur de domaine auquel se rapporte l'intention, avant d'optimiser le modèle pour classifier les intentions et les attributs sémantiques d'un énoncé. un changement récent dans les approches de slu de bout en bout est l'utilisation de modèles appris par auto-supervision (ssl de self-supervised learning) sur de très gros corpus de parole, tels que wav2vec ou hubert @xcite @xcite . dans @xcite , un modèle wav2vec préappris est utilisé comme encodeur de la parole tandis que le benchmark superb @xcite propose une tâche de slot-filling et de classification d'intention parmi les tâches d'évaluation des modèles de la parole préappris. en 2021, de tels modèles ont été mis à disposition de la communauté française @xcite , permettant une amélioration impressionnante des performances sur des tâches telles que la slu. si l'on peut se féliciter que les avancés de la recherche ont permis d'améliorer les performances obtenues sur les tâches visées, ces avancées ont un coût non négligeable en ce qui concerne le temps de calcul et la consommation énergétique @xcite . même des modèles ssl monolingues @xcite demandent près de deux semaines d'apprentissage sur 64 gpus. on peut arguer que ce coût reste contenu par le fait que ces modèles sont entraînés une fois et utilisés ensuite pour beaucoup d'applications différentes. cependant, ces modèles ne constituent souvent qu'un encodeur et doivent être adaptés sur les tâches en aval pour améliorer les performances des systèmes. cette pratique multiplie davantage les phases d'apprentissage et conduit par conséquent à des consommations de ressources importantes. dans cet article nous nous intéressons à réduire le coût nécessaire pour obtenir des performances compétitives sur des tâches de slu en utilisant les modèles ssl déployés par @xcite . dans cet article, nous proposons une étude visant à trouver un meilleur compromis entre les performances et le coût énergétique. pour cela, nous étudions des stratégies d'apprentissage différentes de celles utilisées par @xcite que nous couplons à une stratégie d'apprentissage par transfert avec des modèles appris pour d'autres tâches @xcite , et à une phase d'affinage d'un modèle ssl français directement sur la tâche slu, au lieu de la tâche asr comme proposé dans @xcite . bien que cette dernière soit relativement coûteuse par rapport à l'apprentissage des modèles en aval pour la slu, elle reste moins lourde que les approches similaires proposées récemment pour la même tâche @xcite , tout en permettant d'obtenir des performances comparables. encodeur h0 x1 x2 x3 . . . xn lstm e lstm e lstm e lstm e h e 1 h e 2 h e 3 h e n . . . decodeur h d 4 lstm d [s 3 ; h d 3 ] att(x) att(y) e(y 1 ) e(y 2 ) e(y 3 ) . . . s 4 y4 figure 1 -schéma de notre architecture neuronale pour la slu slu. sur cette dernière, le modèle w2v2-fr-7k a montré les meilleurs résultats, c'est pourquoi nous l'utilisons dans nos expériences. les modèles pour la slu que nous utilisons sont les mêmes que ceux utilisés dans (evain et al., 2021b) foot_0 . il s'agit de modèles encodeur-décodeur basés sur les lstm et le mécanisme d'attention @xcite . l'encodeur a une structure pyramidale similaire à (chan et al., 2015) tandis que le décodeur intègre deux mécanismes d'attention, un pour atteindre les états cachés de l'encodeur, l'autre pour atteindre toutes les prédictions précédentes, comme le module de self-attention des transformers @xcite . un schéma de cette architecture neuronale est montrée dans la figure 1, où nous différencions les éléments de l'encodeur et du décodeur avec les exposants e et d respectivement. e(y i ) indique le plongement de l'étiquette y i , les deux mécanismes d'attention sont indiqués respectivement avec att(x) et att(y). les modèles sont appris en minimisant la fonction de coût ctc @xcite . le choix du meilleur modèle est fait sur la base du taux d'erreur sur les données de développement de la tâche visée, en considérant uniquement les tours de parole utilisateur (cf section 3.2). dans ce travail, nous utilisons les modèles ssl pour extraire les features qui alimentent les modèles slu comme alternative aux paramètres classiques (mfcc, spectrogrammes, etc.). les modèles décrits dans @xcite demandent au total trois étapes d'apprentissage, stratégie indiquée avec 3 steps dans les tableaux, chacune utilisant le modèle de l'étape précédente pour l'initialisation des paramètres du modèle : 1) apprentissage de l'encodeur sur la transcription ; 2) apprentissage de l'encodeur sur la slu ; 3) apprentissage du modèle final, encodeur et décodeur, sur la slu. bien que cette stratégie soit la plus efficace, elle demande un coût d'apprentissage important, d'autant plus que les modèles les plus performants dans @xcite demandent une étape additionnelle et coûteuse d'adaptation du modèle ssl sur la tâche finale. les performances des modèles slu avec entrée produite par un modèle ssl sont très élevées, intuitivement donc des performances similaires, ou légèrement inférieures, peuvent être obtenues avec un coût d'apprentissage moindre, permettant d'économiser des ressources. nous souhaitons avec nos analyses trouver un meilleur compromis entre effort d'apprentissage et performance finale du modèle. afin de valider cette hypothèse nous essayons alors deux stratégies d'apprentissage différentes par rapport à (evain et al., 2021b) (stg appr. dans les tableaux) : 2 steps, nous effectuons uniquement les étapes 2 et 3 de la stratégie 3 steps ; 1 step, nous entraînons directement le modèle final sur la slu. nous notons que cette dernière stratégie correspond à un apprentissage réellement de bout en bout d'un modèle slu. 3 évaluation 3.1 évaluation du coût d'apprentissage les résultats quantitatifs de la slu sont évalués avec le taux d'erreur sur les concepts (cer -concept error rate). nous évaluons le coût computationnel de nos modèles en mesurant : le temps d'apprentissage, la consommation électrique en kwh et sa conversion en grammes de co 2 (gco 2 dans les tableaux). ces 2 dernières valeurs sont obtenues grâce au logiciel codecarbon foot_1 . puisque celui-ci surestime le coefficient de conversion de kwh vers grammes de co 2 , comme dans (parcollet & ravanelli, 2021) nous utilisons le coefficient officiel de 51 grammes/kwh. foot_2 afin d'avoir un cadre plus complet nous montrons également le coût en kwh par point de cer gagné (indiqué avec kwh/p dans les tableaux). pour obtenir cette valeur, nous présumons qu'un modèle étalon m e moins coûteux obtient des résultats inférieur à un modèle comparé m c . en indiquant alors avec kwh( puisque m e est moins coûteux, le numérateur est positif. en présumant m e moins performant, le dénominateur est aussi positif puisque le cer est plus faible pour un modèle plus performant. dans les tableaux suivants, le kwh/p est donné par rapport au modèle le moins coûteux entraîné avec les mêmes features en entrée. ce modèle est indiqué avec m e dans les tableaux. quand un modèle m c est plus coûteux et moins performant que le modèle étalon m e , nous utilisons par convention la valeur ∞, indiquant qu'une stratégie d'apprentissage plus coûteuse ne donnerait aucun gain en performances. l'interprétation de la valeur kwh/p doit être faite gardant en tête l'hypothèse selon laquelle un modèle moins coûteux est aussi moins performant. alors, pour des features en entrée données, kwh/p mesure le coût additionnel en kwh pour améliorer hypothétiquement les résultats d'un point. ce coût pourrait être dû à l'utilisation d'un modèle plus grand et/ou plus de données d'apprentissage.