We compute the same thing with different queries, values, and keys multiple times in parallel. The reason for this is that we want to predict the next word using different things. For example, when we predict the word “unicorns” using three previous words “These” “horned” and “silver-white”. We know it is a unicorn by “horned” “silver-white”. However, we can know it is plural “unicorns” by “These”. Therefore, we probably want to use all these three words to know what the next word should be. Multi-headed attention is a way of letting each word look at multiple previous words.
Nous calculons la même chose avec différentes requêtes, valeurs et clés plusieurs fois en parallèle. La raison en est que nous voulons prédire le mot suivant en utilisant différentes choses. Par exemple, lorsque nous prédisons le mot « licornes » en utilisant les trois mots précédents « Ces », « cornues » et « blanc argenté ». Nous savons que c’est une licorne par « cornue » et « blanc argenté ». Nous pouvons savoir qu’il s’agit du pluriel « licornes » par « Ces ». Par conséquent, nous voulons utiliser ces trois mots pour savoir quel sera le prochain mot. L’attention à plusieurs têtes est une façon de laisser chaque mot regarder plusieurs mots précédents.