Passer à la navigation principale Passer à la recherche Passer au contenu principal

Speech recognition on multi-core processors and GPUS

Traduction de l'intitulé de la thèse: La reconnaissance de la parole sur les processeurs multi-coeurs et GPUS
  • Patrick Cardinal

Thèses et mémoires: Thèse de doctoratDoctorat en génie: Génie

Résumé

Depuis plusieurs années, la vitesse des processeurs demeure stable. La tendance semble maintenant être à la diminution de la vitesse afin de réduire la consommation d’énergie. Cette tendance est déjà visible dans le monde des appareils mobiles. Pour profiter de toute la puissance de calcul des processeurs modernes et à venir, les applications se doivent d’intégrer le parallélisme et la reconnaissance de la parole ne fait pas exception. Malheureusement, l’algorithme de décodage (Viterbi), qui utilise la programmation dynamique pour la recherche dans le graphe de reconnaissance, n’arrive pas à utiliser pleinement toute cette puissance. La raison principale est que ce graphe de reconnaissance contient plusieurs millions de noeuds et de transitions, il est donc impensable l’explorer exhaustivement et doit être élagué afin d’explorer seulement les hypothèses les plus prometteuses. Cet élagage fait en sorte que l’architecture de la mémoire utilisée dans les ordinateurs de type Intel n’est pas utilisée de manière efficace. Pour contourner le problème, un autre type d’algorithme de recherche est envisagée: la recherche A*. Ce type de recherche utilise une heuristique qui donne une approximation de la distance à parcourir pour atteindre le noeud final. La proposition d’une bonne heuristique fait en sorte que le nombre de noeuds explorés devient négligeable, ce qui a pour effet de transférer le temps de calcul de la recherche dans le graphe au calcul de l’heuristique, qui peut être conçu afin de profiter au maximum de l’architecture des processeurs actuels. Pour la reconnaissance de la parole, un graphe de reconnaissance beaucoup plus petit est utilisé comme heuristique pouvant ainsi être explorer exhaustivement, ce qui permet d’éliminer les problèmes de mauvaise utilisation de l’architecture mémoire. Un aspect important pour la reconnaissance de la parole est le calcul acoustique. Pour cette tâche, une accélération par un facteur de 3,6 a été observée sur un processeur à 4 coeurs. Sur GPU, l’accélération est de 24,8x par rapport à l’algorithme de Viterbi. En ce qui concerne la recherche dans le graphe de reconnaissance, les résultats ont montré que le nombre de noeuds explorés par l’algorithme A* est 28 fois inférieur comparé à sa version séquentielle à l’algorithme originale. De plus, le calcul de l’heuristique est respectivement 4,1 et 10,1 fois plus rapide sur un processeur à 4 coeurs et sur GPU par rapport à la version séquentielle. Finalement, si on compare la version originale et la nouvelle version parallélisée du point de vue du taux de reconnaissance au temps réel, la version parallèle a un taux de reconnaissance supérieure de 4% absolu par rapport à la version classique.
Date3 juil. 2013
langue originaleAnglais américain
Établissement diplômant
  • École de technologie supérieure
SuperviseurPierre Dumouchel (Directeur(-trice))

Mots-clés

  • Reconnaissance automatique de la parole. Microprocesseurs. Processeurs graphiques. a
  • a*
  • coeur
  • multi
  • multi-coeur
  • recherche
  • viterbi
  • GPU

Citer cette ressource

'