lechatmangelaConvertir en vecteursPlusieurs couches de transformeursObtenir une distribution de probabilité sur les jetons
distribution de proba
Tirer au hasard un jetonsouris
Convertir en vecteur
chatRegarder dans un dictionnaireAjouter de l'information positionnelle
Trouver le vecteur de chaque jeton
Pour chercher le vecteur correspondant
Pour trouver le vecteur correspondant à un chat, on regarde
dans un dictionnaire.
Tout le système ne connaît que les vecteurs comme information, mais leur ordre. Il n'y a pas d'informations
positionnelles.
lechatmangela
et chatlalemange
c'est pareil sans informations positionnelles.
On ajoute donc une information positionnelle dans chaque vecteur.
Là, dans l'exemple
le est en position 1
chat est en position 2
mange est en position 3
la est en position 4
Transformeur TransformeurTransformeur
Transformeur
Attention multi-têtesRéseau de neurones multi-layer perceptron (MLP)
Normalisation
La normalisation consiste à éviter d'avoir des vecteurs tout petits, ou alors des vecteurs super grands. On
s'assure que tous les plongements soient grosso modo du même ordre de grandeur.
Il s'agit d'un réseau de neurones où chaque neurone réalise une combinaison linéaire puis applique ReLU.
Mécanisme d'attention multi-têtes
Exécuter en parallèle plusieurs mécanismes d'attention :
Mécanisme d'attention
Mécanisme d'attention
Mécanisme
d'attention
Concaténer chaque groupe
de vecteurs verts, pour obtenir des vecteurs d'embedding
Mécanisme d'attention
Etape 1. Obtenir les "questions", "réponses", "valeurs"
Obtenir des vecteurs de
"question" (query),
"réponse" (key),
"valeur" (value)
Suis-je vivant ?
Oui, sans doute
Etape 2. Calculer les "attentions"
Afin de savoir si le token chat a reçu la réponse de mange, on calcule
l'attention attention(chat, mange).
Il s'agit de la similarité de et
.
Etape 3. Calculer le résultat
Pour chaque token, e.g. chat, on calcule la moyenne de
pondérée respectivement par :
attention(chat, le)
attention(chat, chat)
attention(chat, mange)
attention(chat, la)
Concaténation de vecteurs
On prend les vecteurs et on écrit juste les nombres à la suite. Par exemple la concaténation de (1, 2, 4),
(3, 7, 8) et (9, 5, 1) est
(1, 2, 4, 3, 7, 8, 9, 5, 1).
Transformation linéaire (affine)
Vecteur de vraissemblance pour chaque jeton
42 pour souris,
13 pour carotte,
-50 pour philosophie
Softmax
Une distribution de probabilité sur le token suivant