Passeur direct au contenu principal
Translator
Cette page a été automatiquement traduite par le service de traduction automatique de Microsoft Translator. Pour en savoir plus

Blog de Microsoft Translator

La traduction de machines neuronales permettant des innovations de parité humaine dans le nuage

En mars 2018, nous Annoncé (Hassan et coll. 2018) un résultat révolutionnaire où nous avons montré pour la première fois un système de traduction automatique qui pourrait fonctionner aussi bien que des traducteurs humains (dans un scénario spécifique - traduction de nouvelles chinois-anglais). Il s'agissait d'une percée passionnante dans la recherche sur la traduction automatique, mais le système que nous avons construit pour ce projet était un système de recherche complexe et lourd, intégrant de multiples techniques de pointe. Bien que nous ayons publié la sortie de ce système sur plusieurs jeux de test, le système lui-même n'était pas adapté pour le déploiement dans une API de cloud de traduction automatique en temps réel.

Aujourd'hui, nous sommes heureux d'annoncer la disponibilité dans la production de notre dernière génération de modèles de traduction automatique neuronale. Ces modèles intègrent la plupart de la bonté de notre système de recherche et sont maintenant disponibles par défaut lorsque vous utilisez l'API Microsoft Translator. Ces nouveaux modèles sont disponibles aujourd'hui en chinois, allemand, Français, hindi, italien, espagnol, japonais, coréen et russe, de et vers l'anglais. D'autres langues sont à venir.

Passer du document de recherche à l'API Cloud

Au cours de la dernière année, nous avons cherché des moyens d'apporter une grande partie de la qualité de notre système de parité humaine dans le Microsoft API traducteur, tout en continuant d'offrir une traduction en temps réel à faible coût. Voici quelques-unes des étapes de ce voyage.

Formation enseignant-étudiant

Notre première étape a été de passer à un cadre "enseignant-étudiant", où nous formons un étudiant léger en temps réel pour imiter un réseau d'enseignants poids lourds (Ba et Caruana 2014). Pour ce faire, l'étudiant suit non pas les données parallèles sur lesquelles les systèmes MT sont habituellement formés, mais sur les traductions produites par l'enseignant (Kim et Rush 2016). Il s'agit d'une tâche plus simple que d'apprendre à partir de données brutes, et permet à un étudiant moins profond et plus simple de suivre de très près l'enseignant complexe. Comme on pouvait s'y attendre, nos premières tentatives ont encore subi des baisses de qualité de l'enseignant à l'élève (pas de déjeuner gratuit!), mais nous avons néanmoins pris la première place dans le WNMT 2018 Tâche partagée sur le décodage efficace (Junczys-Dowmunt et coll. 2018a). Quelques résultats particulièrement passionnants de cet effort étaient celui Transformer (Vaswani et coll. 2017) les modèles et leurs modifications jouent bien avec la formation enseignant-élève et sont étonnamment efficaces lors de l'inférence sur le Processeur.

En apprenant de ces premiers résultats et après beaucoup d'itérations, nous avons découvert une recette qui permet à notre élève simple d'avoir presque la même qualité que l'enseignant complexe (parfois il ya un déjeuner gratuit après tout?). Maintenant, nous étions libres de construire de grands modèles d'enseignants complexes pour maximiser la qualité, sans nous soucier des contraintes en temps réel (trop).

Traduction en temps réel

Notre décision de passer à un cadre enseignant-étudiant a été motivée par l'excellent travail Kim et Rush (2016) pour les modèles simples basés sur RNN. À ce moment-là, il n'était pas clair si les avantages déclarés se manifesteraient également pour les modèles Transformer (voir Vaswani et coll. 2017 pour plus de détails sur ce modèle). Cependant, nous avons rapidement découvert que c'était effectivement le cas.

L'étudiant Transformer pourrait utiliser un algorithme de décodage grandement simplifié (recherche gourmande) où nous choisissons simplement le meilleur mot traduit à chaque étape, plutôt que la méthode habituelle (recherche de faisceau) qui implique la recherche à travers l'espace énorme de possible Traductions. Ce changement a eu un impact minimal sur la qualité, mais a conduit à de grandes améliorations de la vitesse de traduction. En revanche, un modèle d'enseignant subirait une baisse significative de la qualité lors du passage de la recherche de faisceau à la recherche gourmande.

Dans le même temps, nous avons réalisé que plutôt que d'utiliser la dernière architecture neuronale (Transformer avec auto-attention) dans le décodeur, l'étudiant pourrait être modifié pour utiliser une architecture radicalement simplifiée et plus rapide récurrente (RNN). Cela est important parce que tandis que l'encodeur Transformateur peut être calculé sur l'ensemble de la phrase source en parallèle, la phrase cible est générée un seul mot à la fois, de sorte que la vitesse du décodeur a un grand impact sur la vitesse globale de la traduction. Comparé à l'auto-attention, le décodeur récurrent réduit la complexité algorithmique du quadratique au linéaire dans la longueur de la phrase cible. En particulier dans le milieu enseignant-élève, nous n'avons constaté aucune perte de qualité due à ces modifications, ni pour les résultats automatiques ni pour les résultats d'évaluation humaine. Plusieurs améliorations supplémentaires, comme le partage des paramètres, ont entraîné de nouvelles réductions de la complexité et une vitesse accrue.

Un autre avantage du cadre enseignant-élève que nous avons été très heureux de voir est que les améliorations de la qualité au fil du temps de la croissance et l'évolution des enseignants sont facilement reportés à une architecture étudiante sans changement. Dans les cas où nous avons constaté des problèmes à cet égard, de légères augmentations de la capacité du modèle étudiant combleraient à nouveau l'écart.

Apprentissage double

La perspicacité clé derrière le double apprentissage (Il et coll. 2016) est la vérification de la « traduction aller-retour » que les gens utilisent parfois pour vérifier la qualité de la traduction. Supposons que nous utilisons un traducteur en ligne pour passer de l'anglais à l'italien. Si nous ne lisons pas l'italien, comment savons-nous si cela a fait du bon travail? Avant de cliquer Envoyer sur un e-mail, nous pourrions choisir de vérifier la qualité en traduisant l'italien de retour à l'anglais (peut-être sur un autre site web). Si l'anglais que nous revenons s'est égaré trop loin de l'original, les chances sont l'une des traductions est allé hors des rails.

Le double apprentissage utilise la même approche pour former deux systèmes (par exemple l'anglais- l'italien et l'italien- l'anglais) en parallèle, en utilisant la traduction aller-retour d'un système pour marquer, valider et former l'autre système.

Le double apprentissage a grandement contribué à notre résultat de recherche sur la parité humaine. En passant du système de recherche à notre recette de production, nous avons généralisé cette approche. Non seulement nous avons co-entraîné des paires de systèmes sur la sortie de l'autre, mais nous avons également utilisé le même critère pour filtrer nos données parallèles.

Nettoyage de données inexactes

Les systèmes de traduction automatique sont formés sur des « données parallèles », c'est-à-dire des paires de documents qui sont des traductions les uns des autres, idéalement créés par un traducteur humain. Il s'avère que ces données parallèles sont souvent pleines de traductions inexactes. Parfois, les documents ne sont pas vraiment parallèles, mais seulement des paraphrases lâches les uns des autres. Les traducteurs humains peuvent choisir de laisser de côté certains documents sources ou d'insérer des informations supplémentaires. Les données peuvent contenir des fautes de frappe, des fautes d'orthographe, des erreurs grammaticales. Parfois, nos algorithmes d'exploration de données sont dupés par des données similaires mais non parallèles, ou même par des phrases dans la mauvaise langue. Pire encore, beaucoup de pages Web que nous voyons sont des pourriels, ou peut en fait être des traductions automatiques plutôt que des traductions humaines. Les systèmes neuronaux sont très sensibles à ce genre d'inexactitude dans les données. Nous avons constaté que la construction de modèles neuronaux pour identifier et se débarrasser automatiquement de ces inexactitudes a donné de fortes améliorations dans la qualité de nos systèmes. Notre approche du filtrage des données a abouti à la première Point de référence de filtrage du corpus parallèle WMT18 (Junczys-Dowmunt 2018a) et a contribué à la construction de l'un des systèmes de traduction anglais-allemand les plus WMT18 Actualités tâche de traduction (Junczys-Dowmunt 2018b). Nous avons utilisé des versions améliorées de cette approche dans les systèmes de production que nous avons publiés aujourd'hui.

Représentations de mots factorisées

Lorsque l'on passe à la production d'une technologie de recherche, plusieurs défis réels se posent. Obtenir des chiffres, des dates, des heures, une capitalisation, un espacement, etc. est beaucoup plus important dans la production que dans un système de recherche.

Considérez le défi de la capitalisation. Si nous traduisons la phrase "WATCH CAT VIDEOS ICI". Nous savons traduire "chat". Nous aimerions traduire "CAT" de la même façon. Mais maintenant, considérez "Regarder le football américain ici". Nous ne voulons pas confondre le mot "nous" et l'acronyme "US" dans ce contexte.

Pour y faire face, nous avons utilisé une approche connue sous le nom de traduction automatique factorisée (Koehn et Hoang 2007Sennrich et Haddow 2016) qui fonctionne comme suit. Au lieu d'une représentation numérique unique («embedding») pour "chat" ou "CAT", nous utilisons plusieurs encastrements, connus sous le nom de "facteurs". Dans ce cas, l'incorporation primaire serait la même pour "CAT" et "cat" mais un facteur distinct représenterait la capitalisation, montrant qu'il s'agissait de toutes les capitalisations dans un cas, mais minusculedans l'autre. Des facteurs similaires sont utilisés sur la source et le côté cible.

Nous utilisons des facteurs similaires pour gérer les fragments de mots et l'espacement entre les mots (une question complexe dans les langues non-espacement ou semi-espacement tels que le chinois, le coréen, le japonais ou le thaï).

Les facteurs ont également considérablement amélioré la traduction des nombres, ce qui est essentiel dans de nombreux scénarios. La traduction des nombres est principalement une transformation algorithmique. Par exemple, 1 234 000 peuvent être écrits en hindi, 1 234 000 en allemand et 123,4 en chinois. Traditionnellement, les nombres sont représentés comme des mots, comme des groupes de caractères de longueur variable. Il est donc difficile pour l'apprentissage automatique de découvrir l'algorithme. Au lieu de cela, nous alimentons chaque chiffre d'un nombre séparément, avec des facteurs marquant le début et la fin. Cette astuce simple robuste et fiable supprimé presque toutes les erreurs de traduction de nombre.

Formation de modèle plus rapide

Lorsque nous formons un seul système vers un seul objectif, comme nous l'avons fait pour le projet de recherche sur la parité humaine, nous nous attendons à jeter un grand nombre de matériel sur des modèles qui prennent des semaines à s'entraîner. Lors de la formation de modèles de production pour plus de 20 paires de langues, cette approche devient intenable. Non seulement avons-nous besoin de délais raisonnables, mais nous devons également modérer nos demandes de matériel. Pour ce projet, nous avons apporté un certain nombre d'améliorations Marian NMT (en) (Junczys-Dowmunt et coll. 2018b).

Marian NMT est la boîte à outils open-source Neural MT sur laquelle Microsoft Translator est basé. Marian est une boîte à outils pure de traduction de machine sneneural de C, et, par conséquent, extrêmement efficace, n'exigeant pas de GPU au temps d'exécution, et très efficace au temps de formation

En raison de sa nature autonome, il est assez facile d'optimiser Marian pour les tâches spécifiques NMT, ce qui se traduit par l'une des boîtes à outils NMT les plus efficaces disponibles. Jetez un coup d'œil à la Repères. Si vous êtes intéressé par la recherche et le développement de Neural MT, s'il vous plaît joindre et contribuer à la communauté sur Github.

Nos améliorations concernant la formation et le décodage de précision mixte, ainsi que pour la formation sur les grands modèles seront bientôt disponibles dans le référentiel public Github.

Nous sommes enthousiasmés par l'avenir de la traduction de machines neuronales. Nous continuerons à déployer la nouvelle architecture modèle dans les langues restantes et Traducteur personnalisé tout au long de cette année. Nos utilisateurs obtiendront automatiquement les traductions de qualité significativegrâce API traducteurnotre Application de traducteur, Microsoft Office et le navigateur Edge. Nous espérons que les nouvelles améliorations vous aideront dans votre vie personnelle et professionnelle et nous attendons avec impatience vos commentaires.

 

Références

  • Jimmy Ba et Rich Caruana. 2014. Les filets profonds ont-ils vraiment besoin d'être profonds ? Advances in Neural Information Processing Systems 27. Pages 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • Hany Hassan, Anthony Aue, Chang Chen, Vishal Chowdhary, Jonathan Clark, Christian Federmann, Xuedong Huang, Marcin Junczys-Dowmunt, William Lewis, Mu Li, Shujie Liu, Tie-Yan Liu, Renqian Luo, Arul Menezes, Tao Qin, Frank Seide, Xu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhirui Zhang, Ming Zhou. 2018. Atteindre la parité humaine sur le chinois automatique à la traduction des nouvelles anglaises. http://arxiv.org/abs/1803.05567
  • Lui, Di et Xia, Yingce et Qin, Tao et Wang, Liwei et Yu, Nenghai et Liu, Tie-Yan et Ma, Wei-Ying. 2016. Dual Learning for Machine Translation. Advances in Neural Information Processing Systems 29. Pages 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • Marcin Junczys-Dowmunt. 2018a. Double filtrage inter-entropie conditionnel de Noisy Parallel Corpora. Proceedings of the Third Conference on Machine Translation: Shared Task Papers. Belgique, pages 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • Marcin Junczys-Dowmunt. 2018b. Microsoft's Submission to the WMT2018 News Translation Task: How I Learned to Stop Worrying and Love the Data. Proceedings of the Third Conference on Machine Translation: Shared Task Papers. Belgique, pages 425-430. https://www.aclweb.org/anthology/W18-6415/
  • Marcin Junczys-Dowmunt, Kenneth Heafield, Hieu Hoang, Roman Grundkiewicz, Anthony Aue. 2018a. Marian: Traduction de machines neuronales de haute qualité rentable en C. Proceedings of the 2nd Workshop on Neural Machine Translation and Generation. Melbourne, Australie, pages 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • Marcin Junczys-Dowmunt, Roman Grundkiewicz, Tomasz Dwojak, Hieu Hoang, Kenneth Heafield, Tom Neckermann, Frank Seide, Ulrich Germann, Alham Fikri Aji, Nikolay Bogoychev, André F. T. Martins, Alexandra Birch. 2018b. Marian: Fast Neural Machine Translation in C. Proceedings of ACL 2018, System Demonstrations. Melbourne, Australie, pages 116-121. https://www.aclweb.org/anthology/P18-4020/
  • Yoon Kim et Alexander M. Rush. 2016. Distillation des connaissances au niveau de la séquence. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, EMNLP 2016, Austin, Texas, États-Unis, 1-4 novembre 2016, pages 1317-1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • Philipp Koehn, Hieu Hoang. 2007. Modèles de traduction factorisés. Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL). Prague, République tchèque, pages 868-876. https://www.aclweb.org/anthology/D07-1091/
  • Rico Sennrich, Barry Haddow. 2016. Les caractéristiques d'entrée linguistique améliorent la traduction des machines neuronales. Proceedings of the First Conference on Machine Translation: Volume 1, Research Papers. Berlin, Allemagne, pages 83-91. https://www.aclweb.org/anthology/W16-2209/
  • Vaswani, Ashish et Shazeer, Noam et Parmar, Niki et Uszkoreit, Jakob et Jones, Llion et Gomez, Aidan N et Kaiser, Lukasz et Polosukhin, Illia. 2017. L'attention est tout ce dont vous avez besoin. Advances in Neural Information Processing Systems 30. Pages 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need