La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Speech recognition on multi-core processors and GPUS

Cardinal, Patrick (2013). Speech recognition on multi-core processors and GPUS. Thèse de doctorat électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (4MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (3MB) | Prévisualisation

Résumé

The speed of processors has remained stable over the past few years. The trend may even be towards slower speeds in order to satisfy the ever increasing demands of energy efficiency. This tendency is already apparent in the area of mobile devices. In order to take full advantage of the processing power offered by modern and future processors, applications must integrate parallelism and speech recognition is no exception.

The classic decoding algorithm of Viterbi, a dynamic programming approach for searching in the recognition network, does not make full use of this power. The main reason being that the algorithm searches through a knowledge graph containing millions of nodes and transitions. In practice, a thorough search through such an enormous network is unfeasible. As a result, the graph is pruned so as to retain the most promising hypotheses only. The pruning process is however connected with a misuse of the memory architecture of Intel-based computers. To overcome this problem, another search algorithm is proposed: the A* search. This type of search makes use of a heuristic that provides an approximation of the distance for reaching the final node. A good heuristic results in a negligible number of nodes having to be explored, allowing to transfer the computational load of the network search towards the computation of the heuristic, so designed to make optimal use of modern processor architectures. The heuristic represents a much smaller knowledge graph for speech recognition. Because of its small size, the graph can be exhaustively explored thus eliminating the problems relating to memory architecture mismanagement.

Acoustic model computations represent an important component of speech recognition. For this task, a 3.6x speed increase was achieved on a quad core processor with respect to the single core version. On GPU, the acceleration is 24.8x with respect to the sequential version. In regards to the recognition network search, the A* algorithm is shown to explore 28 times less nodes than the sequential version of the original algorithm. In addition, the heuristic computation is 4.1 and 10.1 times faster on a quad core and GPU than the sequential version respectively. Overall, the new parallelized version offers a 4% absolute increase in real-time recognition accuracy compared to the classic version.

Titre traduit

La reconnaissance de la parole sur les processeurs multi-coeurs et GPUS

Résumé traduit

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.

Type de document: Mémoire ou thèse (Thèse de doctorat électronique)
Renseignements supplémentaires: "Thesis presented to École de technologie supérieure in partial fulfillment of the requirements for the degree of doctor of philosophy" Bibliographie : pages 139-145.
Mots-clés libres: Reconnaissance automatique de la parole. Microprocesseurs. Processeurs graphiques. a, a*, coeur, multi, multi-coeur, recherche, viterbi, GPU
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Dumouchel, Pierre
Programme: Doctorat en génie > Génie
Date de dépôt: 06 août 2013 14:11
Dernière modification: 08 mars 2017 21:57
URI: http://espace.etsmtl.ca/id/eprint/1192

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...