Thirsty for more expert insights?

Subscribe to our Tea O'Clock newsletter!

Subscribe

De 0 à ChatGPT – Partie 2

Romain Warlop
Published on
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 au 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, mise 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’encoder 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 decoder est similaire au decoder 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’encoder 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 transformer 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. decoder 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. decoder 2 : Un second résumé est créé en comparant le résumé du decoder 1 à tous les résumés de l’encoder

Ces étapes (attention, encoder, decoders) 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 long documents !

[3] Neural Machine Translation by Jointly Learning to Align and Translate | [4] Attention Is All You Need

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

All articles

Related articles

De 0 à ChatGPT - Partie 1

8 mins
Romain Warlop

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

6 mins
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 mins
Arnaud Parent

Thirsty for more expert insights? Subscribe to our monthly newsletter.

Discover all the latest news, articles, webinar replays and fifty-five events in our monthly newsletter, Tea O'Clock.

First name*
Last name*
Company*
Preferred language*
Email*
Merci !

Votre demande d'abonnement a bien été prise en compte.
Oops! Something went wrong while submitting the form.