Expériences de traduction avec GIZA : Paramètres et Temps

By 22 June 2012

Les expériences avec GIZA – Chapitre 4 :

Le corpus des débats parlementaires canadiens (connu sous le nom de Hansard) a été utilisé dans notre étude pour entraîner les paramètres des modèles de traduction. Ce corpus est constitué de 1 639 250 paires de phrases, 29 547 933 mots anglais et 31 826 112 mots français. Les tailles des vocabulaires anglais et français sont respectivement de 103’830 et de 83 106 mots différents.

Dans ce chapitre, nous décrivons les expériences réalisées avec GIZA (décrit dans le chapitre précédent) et comparons la qualité des trois modèles que nous avons entraînés à l’aide de ce package. Nous nous intéressons également aux temps d’entraînement et à l’espace mémoire requis par ce package. Ce type de considération à priori secondaire, prend toute son importance lorsqu’on sait que les tables utilisées peuvent facilement dépasser l’espace mémoire disponible sur une machine performante et rendre l’apprentissage inopérationnel.

Nous comparons enfin l’outil GIZA avec l’outil RMTTK (RALI Machine Translation Tool kit ) développé au RALI en terme de performance, de temps de calculs et d’occupation mémoire.

4.1 Préparation du corpus

Afin de rendre l’entraînement efficace, nous avons effectué quelques prétraitements sur notre bitexte d’entraînement.

On élimine tous les mots anglais ou français apparus une seule fois en les remplaçant par le mot UNK, ceci permet :

1- De limiter le bruit dans les modèles car on entraîne les modèles seulement sur les mots apparus plus d’une fois (une estimation faite à partir d’une seule observation est généralement trop bruitée).
2- De gérer de manière passive la gestion des mots inconnus du modèle grâce à l’obtention du problème P(fj|UNK) et P(UNK|ei). Des mots inconnus interviennent entre autre lors de faute d’orthographe ou de frappe.
3- De réduire considérablement la taille des modèles résultants. Un corpus de 10 000 paires de phrases contient par exemple 1.7% de mots anglais apparaissant une seule fois et 1.9% de mots français. La réduction du nombre de paramètres observées lorsqu’on fait ce mapping est de 16.9% pour le modèle 1, de 15.6% pour le modèle 2, de 13.7% pour le modèle 3.

De plus, pour réduire les temps de calculs, on ne conserve du corpus que les phrases ne dépassant pas une longueur donnée (40 mots dans nos expériences). Enfin, un corpus de 1 451 924 paires différentes de phrases anglaises et françaises a été retenu dans nos expériences pour un vocabulaire bilingue de 65 903 mots français et 51,558 mots anglais.

4.2 Les paramètres

On démarre l’entraînement du modèle avec une valeur initiale des paramètres qui n’est pas critique (où la somme des probabilités de transfert est égale à 1) car le modèle IBM1 converge vers un optimum global.

Nombre de paires de phrases Nombre de mots français différents Nombre de mots anglais différents Nombre de paramètrest(f|e) Modèle 1 Nombre de paramètrest(f|e) Modèle 2 Nombre de paramètrest(f|e) Modèle 3
46 237 14 516 11 311 1 233 241 419 064 189 738
88 966 20 340 15 631 1 824 878 685 372 316 921
175 754 27 611 21 161 2 603 367 1 074 824 516 824
352 983 37 466 28 704 3 919 128 1 733 551 853 678
1 451 924 65 903 51 559 8 846 847 4 178 600 2 258 485

Tableau 2: Les nombres de paires de phrases et les paramètres de transfert de chaque modèle de traduction.

Après chaque itération, on élimine toutes les probabilités inférieures à un seuil donné (10-8). On obtient après sept itérations de 8 846 847 paramètres de transfert pour le modèle 1, 4 178 600 pour le modèle 2 (53 % des paramètres du modèle 1), et 2,258,485 (54% des paramètres du modèle 2) pour le modèle 3. En moyenne, chaque mot anglais est associé à 171 mots avec le modèle 1, 82 avec le modèle 2 et 44 mots avec le modèle 3. La réduction de nombre de paramètres d’un modèle à l’autre est expliquée par le fait que le modèle 2 concentre ses probabilités aux mots les plus pertinents beaucoup plus que le modèle 1 et moins fort que le modèle 3.

Les paramètres d’alignement et de distorsion sont stockés dans une matrice à cinq dimensions. Le nombre de paramètres d’alignements pour le modèle 2 sur un corpus de 352,983 paires de phrases d’au plus 40 mots, est de 601 613 paramètres et les paramètres de distorsion du modèle 3 sont de 461 075 paramètres. Cependant sur un corpus de 1 451 924 paires de phrases, le nombre de paramètres d’alignements est de 618 636 pour le modèle 2 et de 511 517 pour le modèle 3.

Les fertilités sont stockées dans une matrice à huit dimensions parce qu’on a proposé un maximum de 7 pour la fertilité. Seul le modèle 3 a la fertilité comme paramètre. Le nombre de fertilité est égale à la taille de vocabulaires anglais parce que le modèle 3 accorde sept fertilités à chaque mot anglais (voir tableau 5).

4.3 L’espace mémoire

Les tables de probabilités de transfert et d’alignement occupent un espace important de la mémoire de la machine surtout lors de l’exécution du modèle 3 (3 tables associées au modèle 3 ; transfert, fertilités, distorsion ou alignement). Seuls les structures adéquates (table de hachage) permettent de restreindre cet espace (matrice creuse) et rendent l’entraînement de ces modèles possible.

Prenons les tables d’alignement comme un exemple pour voir la complexité de la représentation des tables de probabilités. On a besoin d’une structure supplémentaire pour stocker a(i|j,J,I) (modèle 2 et 3). C’est une table coûteuse à coder, une table à 4 dimensions occuperait (L×M)2 cases (float de 4 octets) en mémoire, où L et M sont respectivement les longueurs source et cible (comptées en mots) maximales des phrases du bitexte. Par exemple, dans notre cas, nous avons retenu les phrases d’au plus 40 mots (L=M=40 mots), une taille de 10 240 000 octets (soit 10 MO.)

L’espace mémoire occupé par l’entraînement de GIZA
Figure 11: L’espace mémoire occupé par l’entraînement de GIZA.

La figure 11 nous montre la variation de l’espace mémoire occupé par GIZA. On a retenu l’espace mémoire maximal occupé durant chaque exécution.

Par exemple, on a remarqué que pour un corpus d’environ 50 000 paires de phrases, un espace de 164 MO est pris au maximum par GIZA. Pour un corpus de 400 000 paires, un espace de 484 MO a été réservé et la totalité de l’espace mémoire disponible (1024 MO) a été occupé lors de l’entraînement sur le bitexte au complet, ceci signifie qu’il nous est impossible avec GIZA d’entraîner de plus gros modèles sur les machines disponibles au département.

4.4 Temps d’exécution

L’espace mémoire a une grande influence sur le temps d’exécution, une machine ayant une capacité mémoire assez grande accélère l’exécution (on évite le swapping qui ralentit considérablement, en fait, de manière non raisonnable l’entraînement).

Le temps d'exécution de GIZA sur une machine peu puissante
Figure 12: Le temps d’exécution de GIZA sur une machine peu puissante.

Au début, on a lancé le programme sur une machine Pentium II de 128 MO de RAM (figure 12), pour 24 paires de phrases, le temps d’exécution était de l’ordre 809 secondes (13 minutes à peu près). Pour 37 483 paires, on a eu les résultats après 9 594 secondes (2 heures 40 minutes). Par contre, en essayant de lancer GIZA sur un corpus de 100 000 paires avec la même machine (chenonceaux), les temps d’exécution étaient trop importants (près de cinq heures pour une itération qui représente environ 1.5% du temps de traitement).

A cet effet, nos entraînements ont donc été réalisés par la suite sur des machines plus performantes (clac de mémoire 1 024 MO avec une unité de traitement assez puissante). Le temps maximal (6 057 secondes) est enregistré lors de l’entraînement du modèle 3 sur un corpus de 37 483 phrases (machine lente). Cependant la durée du traitement sur un corpus de 400 000 paires était 3 078 secondes. Par conséquent, sur un corpus 10 fois plus volumineux que le premier, la durée du traitement n’est que la moitié du temps pris par le premier corpus (figure 13).

Le temps d'exécution par rapport à la taille du corpus
Figure 13: Le temps d’exécution par rapport à la taille du corpus.

Pour l’entraînement des modèles sur la totalité de notre corpus d’entraînement de 1,451 924 de paires de phrases, GIZA a pris environ 4 jours. Les quatre premières heures étaient réservées pour l’entraînement du modèle 1, le modèle 2 a requis 14 heures d’entraînement et le reste du temps étant pris par l’entraînement du modèle 3.

Lire le mémoire complet ==> (Les techniques de décodage pour la traduction probabiliste)
Mémoire présenté à la Faculté des études supérieures en vue de l’obtention du grade de Maître ès sciences (M.Sc) en informatique
Université de Montréal – Département d’Informatique et de Recherche Opérationnelle

__________________________________
Chenonceaux, une machine Linux. Pentinum 2, 400 MHZ, 128MO de SDRAM.
Clac est une machine Lunix de deux processeurs athlon et de 1024MO de mémoire vive.