Soif d'expertise ?

Abonnez-vous à notre newsletter Tea O'Clock !

Je m'abonne

De 0 à ChatGPT - Partie 2

Romain Warlop
Publié le
10/7/2023

Dans cette série de 4 articles, nous détaillerons chaque étape clef de l'évolution des algorithmes de machine learning qui ont mené à chatGPT.

Découvrez la première partie de cette série d'articles ici.

Troisième étape clé : L'attention

Le mécanisme d'attention ([3]) a d'abord été utilisé pour les tâches de traduction. Les algorithmes fonctionnaient sur l'idée des RNN. La phrase à traduire passe dans un RNN (appelé encoder) qui produit un résumé de la phrase, puis rentre dans un second RNN (appelé decoder). Pour traduire, le decoder dispose de deux informations : le résumé global généré par l'encoder, et le résumé en cours produit par le decoder. Au moment d'ajouter un mot à une traduction, l'attention se concentre sur la partie de la phrase de départ la plus pertinente plutôt que de se baser sur un résumé global de celle-ci, pour obtenir un résultat plus exact.'

Illustration de l'attention(source)

Au moment de la traduction, le modèle va donc avoir accès non seulement aux deux résumés disponibles (celui de l'encoder et du decoder), mais aussi à tous les embedding des mots de départ. En fonction du résumé de la traduction en cours, il va alors donner un score d'importance à chaque mot de la phrase de départ pour déterminer s'il peut servir à générer le suivant. Un nouveau résumé est alors créé en pondérant chaque embedding de la phrase d'entrée en fonction de son intérêt pour la tâche en cours. Cette idée d'attention a permis d'améliorer la performance des modèles, notamment sur les longues phrases, mais pas encore pour les longs documents ... Il faudra attendre encore deux améliorations pour cela !

À retenir : dans un RNN encoder-decoder avec attention, le prochain mot se base sur deux résumés (celui de l'encoder et du decoder) et sur une attention calculée entre le résumé du decoder et l'embedding de chaque mot de l'encoder. Pour créer ce résumé, deux cas se présentent :
1. encoder : chaque mot n'a accès qu'au résumé en cours
2. decoder : chaque mot a accès au résumé en cours ET à l'embedding de chaque mot de l'encoder

Quatrième étape clé : Attention is all you need (2017)

Attention is all you need ([4]) est un article publié par des chercheurs de Google en 2017, qui, comme son nom l'indique, met tout sur l'attention. Finis les RNN, place à l'attention et uniquement à l'attention. Le modèle fonctionne toujours sur un principe d'encoder et decoder.

Le rôle de l'encodeur est à nouveau de transformer chaque token en un vecteur qui comprend son entourage. Pour cela, chaque token est d'abord transformé en embedding pour le comparer à chacun des autres embeddings de la phrase (dont lui-même) selon le principe de l'attention : si un autre mot paraît important, il pèsera beaucoup plus dans le vecteur final. À la fin de l'encoder, chaque mot est donc transformé en un vecteur basé sur le mécanisme de l'attention.

Le rôle du décodeur est similaire au décodeur des RNN mais avec le principe de l'attention. Le résumé du décodage en cours est remplacé par une attention. L'embedding du dernier mot généré va donc considérer tous les mots déjà générés, évaluer leur importance et en faire une moyenne pondérée pour générer son propre résumé. Ce résumé va ensuite effectuer le même mécanisme d'attention sur tous les mots de la phrase de l'encodeur et générer le vecteur final qui servira de base pour générer le mot suivant.

Ce modèle est appelé transformer par les chercheurs de Google.

À retenir : dans un transformateur le prochain mot se base sur un seul résumé créé en 3 étapes :

  1. encoder : chaque mot crée son propre résumé de toute la phrase (et pas seulement des mots avant lui) de son propre point de vue
  2. décodeur 1 : Le dernier mot généré considère la phrase en cours de génération et en crée un résumé
  3. décodeur 2 : Un second résumé est créé en comparant le résumé du décodeur 1 à tous les résumés de l'encodeur

Ces étapes (attention, encoder, décoder) sont effectuées plusieurs fois afin de permettre au modèle d'avoir plus de latitude pour apprendre le résumé. On parle donc de deep learning ou deep neural network, car les modèles contiennent énormément de calculs successifs.

Cette modification a de nouveau amélioré les performances de l'état de l'art sur des longues phrases, mais ce qu'on veut, ce sont de très longs documents !

[3] Traduction automatique neuronale par apprentissage conjoint de l'alignement et de la traduction [4] L'attention est tout ce dont vous avez besoin

À bientôt pour la 3ème partie de cet article !

Tous les articles

Articles similaires

De 0 à ChatGPT - Partie 1

8 minutes
Romain Warlop

L'internalisation des solutions de mesure et optimisation de l'efficacité marketing : 5 facteurs clés de succès - Partie 1

6 minutes
Arnaud Parent

L'internalisation des solutions de mesure et d'optimisation de l'efficacité marketing : une opportunité pour en tirer la quintessence opérationnelle ?

10 minutes
Arnaud Parent

Soif d'expertise ? Abonnez-vous à notre newsletter.

Découvrez les dernières actualités, articles, replays de webinars et événements fifty-five dans notre newsletter mensuelle Tea O’Clock.

Prénom*
Nom de famille*
Entreprise*
Langue préférée*
Email*
Merci !

Votre demande d'abonnement a bien été prise en compte.
Oups ! Un problème est survenu lors de la soumission du formulaire.