Améliorer les modèles de langue grâce à une tokenisation avancée
Un nouveau tokenizer améliore la façon dont les machines traitent la langue humaine en se concentrant sur les significations des mots.
― 7 min lire
Table des matières
Le traitement du langage, c'est le domaine qui s'intéresse à la façon dont les machines comprennent et génèrent le langage humain. Un truc super important dans ce processus, c'est la Tokenisation, qui découpe le texte en morceaux plus faciles à gérer appelés tokens. Ces tokens peuvent être des mots, des phrases, ou même des morceaux de mots. Le but, c'est de tirer le sens du texte d'une manière que les ordis peuvent gérer.
Traditionnellement, on s'est concentré sur la taille et la complexité des modèles, mais un aspect qui n'a pas trop été exploré, c'est comment on construit les Vocabulaires. Le vocabulaire, c'est simplement l'ensemble des mots que le modèle de langage peut reconnaître et comprendre. Une nouvelle approche de la tokenisation vise à améliorer la construction des vocabulaires en prenant en compte les significations des mots.
C'est quoi un Tokenizer ?
Un tokenizer aide à convertir un texte en tokens. Il construit aussi le vocabulaire des tokens. Il y a trois grandes parties dans un tokenizer :
- Formateur : Cette partie construit le vocabulaire.
- Encodeur : L'encodeur prend des chaînes de caractères et les transforme en tokens.
- Décodeur : Cette partie transforme les tokens en mots ou en phrases.
Les types de Tokenizers courants incluent WordPiece et Byte-Pair Encoding (BPE). Ils fonctionnent en créant des sous-mots qui peuvent se combiner pour former un large éventail de mots. C'est important parce que beaucoup de mots en anglais peuvent être découpés en parties plus petites et plus faciles à gérer.
Le besoin d'amélioration
Alors que les modèles deviennent de plus en plus gros, les vocabulaires n'ont pas suivi. Par exemple, certains des derniers modèles ont augmenté leur nombre de paramètres de manière spectaculaire, mais la taille des vocabulaires n'a que doublé. Ce déséquilibre montre qu'il y a de la place pour s'améliorer, surtout parce que beaucoup de mots utilisés aujourd'hui ne peuvent pas être facilement représentés.
De plus, beaucoup de mots peuvent être construits à partir de parties plus petites, comme le mot "unhappiness" qui contient "un-", "happy", et "-ness." Cependant, la plupart des tokenizers ne tiennent pas compte des significations quand ils segmentent les mots, ce qui peut entraîner une perte d'informations importantes.
Se concentrer sur la sémantique
Le nouveau tokenizer qui est introduit porte une attention particulière aux significations des mots. Il fait cela en regardant les mots racines et les parties communes des mots, connues sous le nom de racines, qui forment la base des différentes formes de mots. Par exemple, le mot "run" peut être modifié avec des suffixes ou des préfixes pour créer "running," "runner," et plus.
En se concentrant sur ces racines et sur comment elles peuvent être combinées, le nouveau tokenizer vise à créer un vocabulaire qui est non seulement plus grand mais aussi plus riche en significations. Ça veut dire que moins de mots seront bloqués avec un token générique qui ne transmet aucune signification quand ils ne peuvent pas être reconnus.
Comment fonctionne le nouveau tokenizer ?
Le nouveau tokenizer a un formateur qui travaille à construire le vocabulaire tout en maximisant deux points clés :
- Qualité des Embeddings : Ça fait référence à la façon dont le modèle comprend et représente les significations des mots.
- Nombre de mots modélisés : Ça vise à maximiser combien de mots uniques peuvent être inclus dans le vocabulaire.
Pour atteindre ces deux objectifs, le vocabulaire est divisé en segments. Un segment se concentre sur les significations et la qualité, pendant que l'autre augmente le nombre de mots.
Utilisation de la racinisation
Le formateur utilise une méthode appelée racinisation pour créer des sous-mots. La racinisation identifie la partie racine d'un mot et aide à former des formes de mots connexes. Par exemple, pour le mot "happy," la racine serait "happi," et elle peut mener à diverses formes comme "happiness," "unhappy," et plus encore.
Ça aide à créer un vocabulaire plus petit tout en couvrant une large gamme de mots. La racinisation peut améliorer la compréhension du modèle parce qu'elle lie étroitement des mots similaires.
Le rôle de l'encodeur
Le job de l'encodeur, c'est de s'assurer que les bons sous-mots sont utilisés quand on transforme le texte en tokens. S'il y a plusieurs façons de représenter un mot, l'encodeur choisit l'option qui reflète le mieux son sens. Ça garantit que le processus de tokenisation reste fidèle à la signification originale du texte.
Résultats expérimentaux
Pour voir combien le nouveau tokenizer marche bien, des expériences ont été faites en utilisant un modèle de langage courant, spécifiquement BERT. L'objectif était de voir si cette nouvelle méthode de tokenisation menait à une meilleure performance dans diverses tâches comparées aux anciennes méthodes.
Les tests consistaient à construire un nouveau vocabulaire avec le nouveau tokenizer et ensuite à comparer sa performance avec les vocabulaires traditionnels WordPiece et Unigram.
Résultats de l'efficacité de la tokenisation
Les résultats ont montré que le nouveau vocabulaire pouvait représenter un plus grand nombre de mots et de formes avec moins de tokens. Par exemple, il couvrait environ 125 % de plus de formes de mots que les modèles existants, ce qui signifie qu'il pouvait reconnaître et traiter une plus large gamme de mots efficacement.
Qualité de l'embedding
En plus de la tokenisation efficace, la qualité des embeddings produite par le nouveau tokenizer a aussi été mesurée. Les embeddings sont comme la compréhension du modèle d'un mot et de ses connexions avec d'autres mots. La nouvelle méthode a montré qu'elle pouvait améliorer la similarité des embeddings pour différentes formes du même mot racine. En moyenne, il y avait une amélioration de 40 % de la qualité des embeddings pour les tokens générés par le nouveau tokenizer.
Impact sur la sémantique des phrases
Au-delà des mots individuels, le nouveau tokenizer a aussi été évalué pour sa capacité à comprendre les significations au niveau des phrases. En comparant comment les phrases étaient représentées avec la nouvelle méthode par rapport aux anciennes méthodes, on a observé une amélioration de 11 % des scores de similarité. Ça indique que le nouveau tokenizer aide le modèle à capturer l'essence des phrases plus efficacement.
Conclusion
Les avancées en tokenisation décrites ici soulignent comment se concentrer sur les significations des mots peut mener à de bien meilleurs résultats en traitement du langage. Ce nouveau tokenizer n'est pas juste une simple mise à jour ; c'est un pas significatif vers l'amélioration de la compréhension du langage humain par les machines. En élargissant et en optimisant les vocabulaires sans augmenter la taille des modèles, ça ouvre de nouvelles portes pour les capacités de traitement du langage.
Une telle innovation est cruciale, surtout dans un monde où la capacité à traiter le langage de manière efficace a des implications de grande portée, des moteurs de recherche à l'automatisation du service client. Cette nouvelle méthode de tokenisation devrait améliorer de nombreuses applications dans le domaine du traitement du langage, rendant la technologie plus accessible et efficace.
Le chemin vers un meilleur traitement du langage continue, et cette nouvelle approche est une étape majeure sur cette voie.
Titre: Semantic Tokenizer for Enhanced Natural Language Processing
Résumé: Traditionally, NLP performance improvement has been focused on improving models and increasing the number of model parameters. NLP vocabulary construction has remained focused on maximizing the number of words represented through subword regularization. We present a novel tokenizer that uses semantics to drive vocabulary construction. The tokenizer includes a trainer that uses stemming to enhance subword formation. Further optimizations and adaptations are implemented to minimize the number of words that cannot be encoded. The encoder is updated to integrate with the trainer. The tokenizer is implemented as a drop-in replacement for the SentencePiece tokenizer. The new tokenizer more than doubles the number of wordforms represented in the vocabulary. The enhanced vocabulary significantly improves NLP model convergence, and improves quality of word and sentence embeddings. Our experimental results show top performance on two Glue tasks using BERT-base, improving on models more than 50X in size.
Auteurs: Sandeep Mehta, Darpan Shah, Ravindra Kulkarni, Cornelia Caragea
Dernière mise à jour: 2023-04-24 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2304.12404
Source PDF: https://arxiv.org/pdf/2304.12404
Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.