Quand l’IAG génère du texte

Interprétation des mots par une IA générative

Mis à jour le dimanche 25 août 2024

Prédire un mot sans son contexte ne fait pas sens

Lorsque l’on rédige un SMS, après chaque mot, deux ou trois mots sont proposés par le smartphone afin de compléter plus rapidement le message que vous souhaitez envoyer. Par exemple, quand vous tapez « Bonjour, comment », le smartphone peut vous suggérer les propositions « allez-vous », « vas-tu », « ça », comme mots suivants.

En supposant que vous sélectionnez à chaque fois les mots suggérés par votre smartphone, vous vous rendrez très vite compte que le message formé n’a soit pas de sens, soit est très éloigné de celui que vous souhaitiez initialement transmettre. En analysant un ensemble de trois ou quatre mots consécutifs, cela peut avoir un sens, mais généralement les mots proposés ne s’assemblent pas en quelque chose de significatif dans le cadre du contexte du message. Cela s’explique par le fait que le modèle utilisé par l’application SMS du smartphone ne prend pas en compte le contexte global du message : il se contente de prédire quel mot est statistiquement le plus susceptible de venir après les derniers mots.

Afin de pallier cet inconvénient, les modèles LLM autorégressifs s’appuient sur une architecture de type Transformer afin de garder en mémoire le contexte de ce qui est écrit avec pour finalité de donner du sens au texte qu’ils vont générer.

Illustration de la suggestion automatique de mots dans l’application SMS d’un smartphone

Illustration de la suggestion automatique de mots dans l’application SMS d’un smartphone - Transciption

Le smartphone peut suggérer le mot suivant à utiliser dans un message de type SMS, mais n’a pas la capacité de générer un texte cohérent car il ne tient pas compte du contexte global.

La vectorisation des mots

Dans le traitement du langage naturel, le « word embedding » (intégration de mot) est un ensemble de techniques d’apprentissages permettant de représenter un mot (ou un token) sous une forme numérique adaptée afin qu’une IA générative puisse interpréter ou produire du texte. En représentant mathématiquement les mots (ou les tokens) sous forme de vecteurs de nombres réels, on peut coder à la fois leur sens mais également les similitudes sémantiques qui existent entre eux, facilitant ainsi l’interprétation et la génération algorithmique de textes par une IA.

En particulier, cette représentation mathématique permet de rendre compte de la polysémie de certains mots liée au contexte dans lequel on les rencontre. Ainsi, par exemple le mot « bouchon » peut désigner à la fois l’objet permettant d’obturer une bouteille ou un blocage de la circulation routière. Dans ce cas de figure le mot « bouchon » sera représenté par deux vecteurs différents permettant à l’IA de saisir la nuance de sens en fonction du contexte.

La vectorisation d’un mot permet de tenir compte du contexte

La vectorisation d’un mot permet de tenir compte du contexte - Transciption

Schéma illustrant la différence de sens du mot « bouchon » en fonction du contexte.
À chaque sens d’un mot est associé un vecteur particulier.

La vectorisation des mots s’appuie sur la sémantique distributionnelle dont l’objet est d’étudier statistiquement comment les mots sont utilisés et apparaissent à proximité les uns des autres dans un corpus de texte. Selon ce principe, les mots qui apparaissent dans des contextes similaires ont tendance à avoir des significations proches ou à être liés sémantiquement : c’est l’hypothèse distributionnelle (« distributional hypothesis »).

Des mots sémantiquement similaires seront représentés par des vecteurs proches les uns des autres dans un espace vectoriel [1]

La vectorisation permet de capturer des relations sémantiques complexes dans l’espace vectoriel, en utilisant des opérations algébriques simples, telles que des additions et des soustractions, sur les vecteurs de mots. Par exemple si on demande à une IA générative d’indiquer le résultat de roi + (homme - femme) la réponse fournie sera le mot reine. Cela est assez facile à comprendre lorsque l’on réalise les constructions géométriques sur les vecteurs associés aux mots précédents. Remarquons en particulier que la soustraction vectorielle homme - femme permet d’extraire la différence sémantique entre ces deux mots à savoir le genre.

Principe simplifié de la vectorisation des mots

Principe simplifié de la vectorisation des mots - Transciption

Schéma du principe de la vectorisation des mots
Chaque mot peut être représenté par un vecteur.
On peut réaliser des additions ou des soustractions entre des vecteurs mots.

Les « vecteurs mots » utilisés dans cet article sont extrêmement simplifiés car ils sont représentés dans des espaces vectoriels à 2 ou 3 dimensions. En réalité, les modèles de « word embedding » modélisent les mots dans des espaces vectoriels comportant beaucoup plus de dimensions afin de mieux pouvoir en saisir les nuances en fonction du contexte.

Si vous souhaitez tester la représentation vectorielle des mots anglais, rendez-vous sur « TensorBoard Embedding projector ».

Principe du modèle « Transformer »

L’architecture du modèle « Transformer »  [2] sur laquelle s’appuient les LLM autorégressifs permet de tenir compte du contexte dans lequel figure un mot. Elle fait intervenir préalablement un pré-traitement composé de trois étapes successives :

  • la tokenization : l’entrée textuelle est transformée en une série de tokens ;
  • l’embedding ou vectorisation : les tokens sont transformés en vecteurs numériques, qui représentent les entités sémantiques et les relations entre eux dans un espace multidimensionnel ;
  • l’encodage positionnel : un indice positionnel est ajouté aux vecteurs pour tenir compte de l’ordre des tokens et de leur position relative dans la séquence.
Schéma simplifié du pré-traitement d’un « Transformer »

Schéma simplifié du pré-traitement d’un « Transformer » - Transciption

Le pré-traitement de la méthode « Transformer » s’appuie sur trois méthodes qui sont dans l’ordre : la tokenization (découpage en jetons), l’embedding (vectorisation) et le positionnal encoding (encodage positionnel).

Après ces trois étapes préalables, le modèle « Transformer » crée une série de blocs empilés les uns sur les autres, chacun d’entre eux étant constitué de deux parties principales :

  • un mécanisme d’attention : il permet de repérer les relations entre les différents tokens, en tenant compte du contexte ;
  • un réseau de neurones « feedforward »  : il s’agit d’un réseau de neurones traditionnel qui traite les informations et effectue des prédictions.

Enfin, la dernière étape consiste en une couche de neurones de sortie « Softmax » qui transforme les scores donnés par le Transformer en probabilités afin de choisir le meilleur mot suivant dans le texte généré par l’IA en tenant compte du contexte.

Schéma simplifié de l’architecture « Transformer »

Schéma simplifié de l’architecture « Transformer » - Transciption

Schématisation simplifié de l’architecture « Transformer ».
Le prompt subit préalablement un pré-traitement en 3 parties : tokenization (découpage en jetons), embedding (vectorisation des jetons) et enfin positionnal encoding (encodage positionnel des jetons). Des blocs empilés composés de deux parties (attention et feedforward) alimentent un réseau de neurones appelé softmax fournissant en sortie un texte cohérent tenat compte du contexte du prompt.

Le site Transformer explainer (en anglais) développé par des chercheurs de l’institut de technologie de Géorgie (Georgia Tech - Atlanta) permet d’approfondir le principe de fonctionnement de cette architecture.

[1Dans le cadre de la vectorisation de mots, la dimension d’un espace vectoriel se réfère au nombre de dimensions dans lequel chaque mot est représenté sous forme de vecteur numérique. Imaginons que nous ayons un espace vectoriel de mots où chacun d’entre eux est représenté par un vecteur possédant 100 dimensions. Cela signifie que chaque mot est associé à un vecteur caractérisé par 100 nombres réels. Chaque dimension de ce vecteur peut représenter différentes caractéristiques du mot, telles que son sens, sa syntaxe, sa fréquence d’utilisation, etc. Par exemple, une dimension pourrait représenter à quel point le mot est lié à des concepts spécifiques, tandis qu’une autre dimension pourrait représenter la similarité avec d’autres mots. Plus la dimension de l’espace vectoriel est grande, plus les vecteurs de mots peuvent capturer de nuances et de détails sur les mots et leurs relations. Cependant, une dimension plus élevée peut également entraîner une augmentation de la complexité computationnelle et une nécessité de données d’entraînement plus importantes. Le nombre de dimensions de l’espace vectoriel utilisé pour modéliser les mots sous forme de vecteurs de nombres réels dépend de la technique de « word embedding » utilisée.

[2L’article de recherche daté du 2 Août 2023 intitulé « Attention is all you need » propose la première architecture Transformer basée sur des systèmes d’attention. Cette approche a révolutionné le traitement naturel du langage (« Natural Language Processing »).

Dans la même rubrique