0%
Transformeurs et mécanisme d'attention

Transformeurs et mécanisme d'attention

L'attention par produit scalaire mise à plat en PyTorch : têtes multiples, encodage positionnel, coût quadratique et ce que l'attention ne prouve pas.

10-15 min

Jusqu'ici, chaque représentation avait le même défaut : elle ne savait pas quel mot regarder. Le sac de mots ignore l'ordre. Les plongements statiques donnent un vecteur figé par mot. Les réseaux récurrents, qui ont dominé le domaine jusqu'en 2017, lisent la phrase mot à mot en entretenant une mémoire — mais cette mémoire s'estompe, et le calcul est séquentiel par construction : on ne peut pas traiter le mot 50 avant d'avoir traité le mot 49.

Prenez la phrase « Le rapport que la commission avait commandé au cabinet parisien il y a deux ans est enfin arrivé ». Pour accorder « arrivé », il faut relier ce participe à « rapport », treize mots en arrière, en ignorant tous les noms intermédiaires. Un réseau récurrent doit transporter cette information à travers treize étapes successives, et elle s'y dilue. C'est le problème des dépendances à longue distance, et le français, avec ses propositions relatives enchâssées et ses accords à distance, en produit constamment.

L'article Attention Is All You Need, publié par Vaswani et ses coauteurs en 2017, résout les deux problèmes d'un seul coup avec une idée d'une simplicité désarmante : plutôt que de transporter l'information de proche en proche, laissons chaque mot regarder directement tous les autres, et apprenons combien il doit regarder chacun. La distance disparaît — « arrivé » accède à « rapport » en une seule opération — et comme tous les mots calculent leur regard simultanément, tout se parallélise sur un GPU.

Lien copié !