Un Modèle Traitant 200 Languages à la Fois! Meta AI
GPT-3 et d'autres modèles de langage sont extrêmement puissants. Ils peuvent être utilisés pour comprendre des morceaux de texte, les résumer, transcrire des vidéos, créer des applications de synthèse vocale, etc., mais tous ont un gros problème commun : ils ne fonctionnent bien qu'en anglais. Cette barrière de la langue blesse des milliards de personnes désireuses de partager et d'échanger avec les autres sans pouvoir le faire. Et ici je ne parle pas de Français, qui est assez répandu, mais de langues bien moins communes qu’ils réussissent à traduire près de la perfection!
Encore une fois, l'intellligence artificielle peut également être utilisée pour cela. Le modèle le plus récent de Meta AI, appelé « No Language Left Behind », fait exactement cela : il traduit dans 200 langues différentes avec une qualité quasi parfaite. Vous pouvez le voir comme une version plus large et plus puissante de Google Traduction.
En effet, un seul modèle peut gérer 200 langues. À quel point c’est incroyable ?!
Nous avons du mal à avoir de bons résultats strictement en anglais alors que Meta s'attaque à 200 langues différentes avec le même modèle, et certaines des plus compliquées et des moins représentées avec lesquelles même google traduction a du mal. Un tel modèle est un gros bonus pour Facebook, Instagram et toutes leurs applications, bien sûr, mais aussi pour la communauté de chercheurs, car ils rendu le code publique, les modèles, les ensembles de données utilisés et la procédure d’entraînement. Une initiative super cool d'une grande entreprise pour faire avancer la recherche multilingue.
En règle générale, l'utilisation d'un modèle d'IA pour traduire du texte nécessite une énorme quantité de données textuelles annotée, telles que des traductions français-anglais, afin que le modèle comprenne comment les deux langues sont liées l'une à l'autre et comment passer de l'une à l'autre, et vice-versa. Cela signifie que le modèle nécessite de voir à peu près toutes les phrases et tous les textes dans les deux langues possibles pour avoir de bons résultats et bien généraliser dans le monde réel : quelque chose d'assez impossible pour la plupart des langues plus petites et extrêmement coûteux et compliqué à avoir pour la plupart des langues tout court. Nous entraînons généralement un tel modèle pour effectuer la traduction d'une langue à l'autre, dans une seule direction, et non entre 200 langues à la fois, nécessitant un nouveau modèle chaque fois que nous voulons ajouter une nouvelle langue.
Alors, comment Meta ont-ils adapté un modèle à des centaines de langues ?
Tout d'abord, ils ont construit un ensemble de données approprié. Meta a créé un premier modèle capable de détecter automatiquement les langues, qu'ils appellent leur système d'identification des langues, évidemment. Ils utilisent ensuite un autre modèle de langage basé sur les Transformers pour trouver des paires de phrases pour toutes les données supprimées. Ces deux modèles ne sont utilisés que pour créer les 200 ensembles de données de langues appariées dont nous avons besoin pour entraîner le modèle de traduction linguistique final : NLLB200.
Vient maintenant la partie intéressante : le modèle de traduction multilingue. Bien sûr, il s'agit d'une architecture d'encodeur-décodeur basée sur les Transformers. Cela signifie que le nouveau modèle de Meta est très similaire à GPT-3 et prend une phrase de texte, l'encode pour la décoder et produit une nouvelle phrase de texte, idéalement une version traduite de ce que nous lui avons envoyé.
Ce qui est nouveau, ce sont les modifications qu'ils ont apportées au modèle pour passer à autant de langues différentes au lieu de se limiter à une seule. La première modification consiste à ajouter une variable identifiant la langue source de l'entrée, extraite du détecteur de langue dont nous venons de parler. Cela aidera l'encodeur à faire un meilleur travail pour la langue d'entrée actuelle. Ensuite, nous faisons la même chose avec le décodeur en lui indiquant dans quelle langue traduire. Notez que ce schéma d'encodage conditionné est très similaire à CLIP, qui encode les images et le texte de la même manière. Ici, dans des conditions idéales, il encodera une phrase de la même manière quelle que soit la langue.
Ils utilisent des modèles appelés “Sparsely Gated Mixture of Experts” pour parvenir à un compromis plus optimal entre le transfert interlinguistique et l'interférence et améliorer les performances pour les langues à faibles ressources. Les “Sparsely Gated Mixture of Experts” sont essentiellement des modèles réguliers, mais n'activent qu'un sous-ensemble de paramètres de modèle par entrée au lieu d'impliquer la plupart sinon tous les paramètres à chaque fois. Vous pouvez facilement voir à quel point il s'agit du type de modèle parfait pour cette application. La partie “Mixture of Experts” est simplement une étape supplémentaire ajoutée dans l'architecture du transformeur à la fois pour l'encodeur et le décodeur, remplaçant la sous-couche de réseau d'alimentation en aval (?, feed forward en anglais) par N réseaux d'alimentation en aval, chacun avec des projections d'entrée et de sortie, et le modèle apprend automatiquement quel sous-réseau utiliser pour chaque langue pendant la formation.
Ils apportent également plusieurs petites modifications à l'architecture du transformeur elle-même. L'utilisation de modèles mixtes d'experts et d'encodages de la langue source sont certainement les changements les plus importants qui différencient ce nouveau modèle des modèles unilingues comme GPT-3. Je vous invite fortement à lire leur article étonnant et détaillé lié ci-dessous si vous êtes intéressé par tous les détails internes de l'architecture.
J'espère que vous avez apprécié cet article, et n'hésitez pas à me faire savoir si vous implémentez vous-même ce modèle ou si vous contribuez à la recherche multilingue dans les commentaires ci-dessous. Je profiterai également de cette occasion pour vous inviter à partager vos créations ou tout ce que vous faites qui implique l'IA dans notre communauté Discord.
Merci d'avoir lu, et je vous verrai la prochaine fois, avec un autre article incroyable !
Références
► Vidéo de Meta: https://www.youtube.com/watch?v=uCxSPPiwrNE
► Article : https://research.facebook.com/publications/no-language-left-behind
► Code: https://github.com/facebookresearch/fairseq/tree/nllb
► Ma Newsletter (anglais): https://www.louisbouchard.ai/newsletter/