Compression des plongements de mots par apprentissage de codes compositionnels profonds

Les modèles de traitement du langage naturel (NLP) nécessitent souvent un nombre massif de paramètres pour les plongements de mots (word embeddings), ce qui entraîne une empreinte de stockage ou de mémoire importante. Le déploiement de modèles NLP neuronaux sur des appareils mobiles requiert une compression des plongements de mots sans compromettre significativement les performances. À cette fin, nous proposons de construire les plongements à partir d'un petit nombre de vecteurs de base. Pour chaque mot, la composition des vecteurs de base est déterminée par un code haché (hash code). Afin d'optimiser le taux de compression, nous adoptons l'approche de quantification à multiples livres-code au lieu d'un schéma de codage binaire. Chaque code est composé de plusieurs nombres discrets, tels que (3, 2, 1, 8), où la valeur de chaque composante est limitée à une plage fixe. Nous proposons d'apprendre directement les codes discrets dans un réseau neuronal end-to-end en appliquant la technique Gumbel-softmax. Les expériences montrent que le taux de compression atteint 98 % dans une tâche d'analyse des sentiments et entre 94 % et 99 % dans des tâches de traduction automatique sans perte de performance. Dans les deux tâches, la méthode proposée peut améliorer les performances du modèle en abaissant légèrement le taux de compression. Comparée à d'autres approches telles que la segmentation au niveau des caractères, la méthode proposée est indépendante du langage et ne nécessite pas de modifications architecturales du réseau.