Fonctionnement des transformeurs

Les outils Analyse de texte de la boîte à outils GeoAI utilisent l’architecture des transformeurs développée récemment pour effectuer des tâches de traitement automatiquement des langues (TAL). Cette architecture rend les outils plus précis et parallélisables tout en nécessitant moins de données étiquetées pour l’entraînement.

Les transformeurs sont des modèles de langue entraînés en mode auto-supervisé sur des volumes importants de données de texte brut. Vous pouvez perfectionner ces modèles pré-entraînés pour leurs données à l’aide du Transfer Learning. L’article intitulé Attention is All you Need décrit des architectures inédites, destinées à accomplir des tâches telles que la classification, la traduction et la génération de texte, ainsi que la reconnaissance d’entités. Un transformeur comporte deux composants principaux : un composant d’encodage et un composant de décodage. Le composant chargé de l’encodage est une pile d’encodeurs recevant une entrée qu’ils encodent en une représentation prenant la forme d’entités. Le composant chargé du décodage est une pile de décodeurs qui utilisent la représentation provenant du composant d’encodage ainsi que d’autres entrées afin de produire une sortie sous la forme d’une séquence cible.

Architecture du transformeur
Vue générale décrivant les composants d’un transformeur.

Selon la tâche, les encodeurs et les décodeurs peuvent être utilisés des manières suivantes :

  • Le composant d’encodage peut être utilisé pour des tâches telles que la classification de texte et la reconnaissance d’entités nommées. ALBERT, BERT et RoBERTa font partie des modèles d’encodage bien connus.
  • Le composant de décodage est prévu pour des tâches telles que la génération de texte. CTRL et Transformer XL sont des modèles de décodage réputés.
  • Ensemble, les composants permettent de réaliser des tâches telles que la traduction de texte et la synthèse. BART et T5 figurent parmi les modèles d’encodage-décodage connus.

Couches de l’encodeur
Vue générale décrivant les composants d’un encodeur.

Tous les encodeurs du composant d’encodage ont la même structure. Chaque encodeur possède deux sous-couches :

  • Couche d’auto-attention : cette couche permet aux modèles de repérer d’autres mots dans la séquence en entrée afin d’améliorer l’encodage d’un mot courant.

    Par exemple, considérez la séquence en entrée suivante : L’homme n’a pas traversé la route car il était blessé. Le terme « il » fait référence à l’homme qui n’a pas traversé la route. Dans ce cas, une couche d’auto-attention permet au modèle d’associer les termes « il » et « homme ».

  • Couche feed-forward : cette couche accepte la sortie de la couche d’attention et la transforme sous une forme que l’encodeur suivant accepte.

Tous les décodeurs du composant de décodage comportent une couche d’attention, également désignée sous le nom de couche d’attention encodeur-décodeur, en plus de la couche d’auto-attention et de la couche feed-forward. La couche d’attention encodeur-décodeur permet au décodeur de se focaliser sur certaines sections de la séquence en entrée.

Couches du décodeur
Vue générale décrivant les composants d’un décodeur.

Ressources

Pour plus d’informations, consultez les ressources suivantes :


Dans cette rubrique
  1. Ressources