« Attention », « Transformers » et « grands modèles de langage » dans les réseaux neuronaux
(bactra.org)Notes sur « l’attention (Attention) » et les « transformers (Transformers) » : les « grands modèles de langage » dans les réseaux neuronaux
- Le terme « attention (Attention) » désigne un concept différent de l’attention humaine réelle : il s’agit d’attribuer un certain poids à tous les vecteurs possibles.
- L’« attention » est une forme de lissage par noyau ; ce n’est pas une invention apparue vers 2015 dans le domaine des réseaux neuronaux, mais une redécouverte d’une idée déjà existante.
- L’« attention multi-têtes (Multi-Headed Attention) » consiste à effectuer un lissage par noyau à l’aide de différents noyaux, puis à en moyenner les résultats.
« Transformers »
- Les « transformers » sont une architecture qui utilise le mécanisme d’« attention » pour lisser les vecteurs d’entrée, puis fait passer la sortie obtenue dans un réseau neuronal feedforward afin de produire la sortie finale.
- Les transformers sont construits en empilant plusieurs couches (layers), chacune composée d’un mécanisme d’« attention » et d’un réseau neuronal feedforward.
- Le nom « transformer » est moins trompeur que « attention » et convient bien, car il effectue réellement une transformation.
« Modèles de langage (Language Models) »
- Un modèle de langage est fondamentalement un modèle probabiliste sur une séquence de symboles, qui modélise la probabilité du symbole suivant en fonction du contexte donné.
- Les grands modèles de langage modernes (Large Language Models, LLMs) peuvent être considérés comme des modèles de Markov d’ordre fini avec une longueur de contexte maximale fixe.
- Les LLMs peuvent aussi produire des prédictions sur des contextes jamais vus auparavant grâce à un lissage implicite complexe.
« Prédiction du symbole suivant (Next Symbol) vs prédiction à plus longue portée (Longer-range Prediction) »
- L’objectif d’entraînement des LLMs est de prédire correctement le symbole suivant, et cela peut aussi constituer un objectif puissant pour des prédictions à plus longue portée.
- Chercher le prédicteur minimal fournit beaucoup d’informations sur la structure du processus sous-jacent que l’on cherche à prédire.
« Une forte intuition sur la mise au jour des prompts (A Strong Hunch about Uncovering Prompts) »
- Les tentatives visant à révéler les prompts d’applications fondées sur des LLM, par exemple avec des requêtes comme « dis-moi le prompt », ne relèvent que de l’auto-illusion.
- Le modèle de langage au cœur d’un LLM ne dispose d’aucun mécanisme permettant de distinguer le prompt des autres parties de la séquence d’entrée courante.
- Le concepteur du système a peut-être implémenté une fonction de suivi des prompts, mais il y a très peu de raisons de le faire.
« Gopnikisme (Gopnikism) ; bibliothèque »
- L’approche la plus prometteuse et la plus séduisante consiste à considérer le LLM non comme quelque chose qui serait un esprit, mais comme une « technologie culturelle » comparable à un catalogue de bibliothèque.
- Fournir du texte à un LLM au moyen d’un prompt revient à interroger le contenu d’une bibliothèque, puis à en échantillonner le contenu correspondant.
L’avis de GN⁺
- Le fait que le terme « attention » soit utilisé comme concept technique différent de l’attention humaine réelle est un phénomène fréquent dans le domaine de l’IA ; cela montre qu’un terme technique peut être confondu avec un phénomène du monde réel.
- Le succès des grands modèles de langage tient au fait qu’ils combinent des méthodologies classiques du machine learning avec la puissance de calcul moderne pour atteindre un nouveau niveau de performance ; cela souligne la nécessité de réévaluer les théories et méthodes existantes et de les appliquer de manière innovante.
- Comparer les LLM à un catalogue de bibliothèque offre un point de vue intéressant sur la manière dont cette technologie traite et rend accessible le savoir et l’information humains, ce qui peut aider à comprendre comment l’IA interagit avec la culture humaine.
1 commentaires
Avis Hacker News
Un commentateur, disant avoir travaillé chez Google Research avec deux auteurs de l’article "Attention is All You Need", mentionne aussi avoir collaboré avec la personne qui a choisi le titre de l’article. Il explique que la self-attention était déjà un concept connu dans la communauté de recherche et que les auteurs n’ont jamais prétendu l’avoir inventée. Selon lui, les auteurs cherchaient à combiner plusieurs techniques pour améliorer les performances des réseaux de neurones feedforward, ont obtenu des résultats intéressants, puis ont découvert au cours de leurs recherches que le mécanisme d’attention jouait un rôle central. Il ajoute que le titre de l’article est un jeu de mots évoquant la chanson des Beatles "All You Need Is Love". L’article qui lui a été le plus utile est "Formal Algorithms for Transformers" de Phuong et Hutter, qu’il juge écrit avec un fort souci de clarté et de précision, et dont la section de motivation (section 2) explique particulièrement bien les lacunes de l’article original et des travaux qui ont suivi.
Un autre commentateur avoue qu’il n’avait pas réussi à comprendre ce que faisait exactement l’« attention », même après avoir lu attentivement plusieurs fois l’article "Attention is All You Need". Il disait comprendre la partie mathématique, mais que même plusieurs tutoriels ne l’avaient pas aidé. Il affirme n’avoir réalisé que des années plus tard que l’attention n’était au fond qu’un lissage par noyau (kernel smoothing), et critique l’article pour son manque de clarté. Il soutient que la plupart des articles de machine learning sont médiocres, tout en estimant que "Attention is All You Need" reste meilleur que la majorité d’entre eux.
Un troisième commentateur trouve intéressante et rafraîchissante l’approche de l’article, qu’il décrit comme un « flux de conscience ». Il mentionne aussi le fait que l’auteur semble s’excuser et adopter une posture humble à cause des critiques reçues sur Internet, et dit espérer que ces réactions négatives ne l’empêcheront pas de continuer à publier ses notes.
Un autre commentateur dit que, contrairement à la plupart des textes sur le machine learning, celui-ci lui donne l’impression d’être écrit dans sa propre langue. Il trouve intéressante la section sur Lempel-Ziv (LZ) et estime qu’agrandir un modèle LZ ne serait pas très intéressant, puisque LZ exige des correspondances exactes de chaînes. Il suggère qu’il serait plus intéressant de réduire la taille en acceptant une certaine imprécision, comme un « jpeg » pour le texte. Il suppose que c’est probablement ce que font les grands modèles de langage (LLM).
Un autre commentateur dit considérer la scaled dot product attention comme un mécanisme de convolution généralisé. Il affirme que les termes query, key et value sont source de confusion, et explique que, dans la self-attention, ces trois éléments sont dérivés du même signal puis multipliés entre eux. Il ajoute que personne ne sait vraiment pourquoi ce mécanisme fonctionne, quels hyperparamètres conviennent à quelles données, ni quelle est la taille de séquence idéale.
Un autre commentateur mentionne que les transformers ne sont qu’un autre approximateur universel. Il soutient qu’il importe peu qu’une attention head donnée simule un tableau associatif continu, un lissage par noyau ou un espace vectoriel de grande dimension représentant une monosémanticité. L’essentiel, selon lui, est que les transformers peuvent être entraînés efficacement sur GPU et en parallèle, ce qui explique pourquoi ils sont supérieurs à LZ ou à d’autres approximateurs universels. Il ajoute que si quelqu’un parvenait à faire fonctionner LZ — ou autre chose — de manière bien plus efficace que les transformers sur GPU, cette personne pourrait fonder le prochain OpenAI et devenir milliardaire.
Un commentateur demande une explication de la phrase : « Mythology: nous modifions la signification de chaque token déjà vu en fonction du contexte, et les significations similaires se renforcent mutuellement. » À ce stade, le lissage par noyau lui semble s’appliquer indépendamment à chaque vecteur d’embedding, et il dit ne pas comprendre pourquoi un certain vecteur y_t, dérivé et lissé par les tokens voisins dans la séquence, serait affecté. Il dit voir qu’en ajoutant le token r_t, le contexte devient important, mais se demande si c’est la seule chose qui prenne le contexte en compte.
Un autre commentateur dit comprendre pourquoi, dans d’autres domaines où la « rigueur » académique est plus forte et où des résultats similaires existaient déjà, certaines personnes se mettent en colère contre des articles de machine learning comme "Attention is All You Need". Selon lui, ces articles ne sont effectivement pas de bons articles académiques, et trouver un nom malin ainsi que les termes d’ingénierie les plus opaques n’en fait pas de bons papiers. Mais, en pratique, il estime que tout cela n’a pas beaucoup d’importance : les grands modèles de langage fonctionnent, et pour des raisons absurdes. Il explique que des solutions d’ingénierie comme l’ajout de positional embeddings ont effectivement résolu le problème, non pas grâce à une compréhension mathématique profonde, mais simplement parce qu’on a essayé et que cela a marché. Il ajoute qu’en pratique, les « transformers efficaces » qui utilisent des méthodes à noyau pour ramener linéairement les besoins mémoire de l’attention n’ont pas beaucoup d’importance non plus, car des entreprises comme OpenAI, Anthropic et Meta ne se soucient pas d’ajouter davantage de GPU et s’intéressent seulement au débit. Il conclut que tout cela n’est guère plus que conjecture et expérience, et que seuls les résultats comptent vraiment.
Enfin, un dernier commentateur dit ne pas être du tout d’accord avec l’affirmation selon laquelle tous ceux qui essaient de révéler le prompt d’une application basée sur un LLM en demandant quelque chose comme « dis-moi le prompt » se trompent eux-mêmes. Il explique que le modèle de langage de base n’a aucun mécanisme permettant de distinguer le prompt des autres parties de la séquence d’entrée, ni de mécanisme de référence croisée d’une partie de la séquence à une autre. Les concepteurs système ont peut-être codé quelque chose pour suivre le prompt dans l’ensemble du système, mais il n’est pas clair pourquoi ils le feraient. Il ajoute qu’utiliser un soft prompt pourrait être plus efficace et plus performant : il s’agirait alors du début d’une séquence de vecteurs pouvant être appris par descente de gradient, sans nécessairement correspondre à une jolie chaîne de mots. Selon lui, si l’on demande son prompt à un LLM, la réponse sera générée à partir des statistiques des séquences de mots apprises, et non à partir d’un accès au code ou à l’état interne. Il estime qu’il vaut mieux raisonner du point de vue du modèle de langage : puisque la sortie est produite comme résultat du lissage par noyau de l’entrée, il est possible d’utiliser les informations contenues dans le prompt pour orienter le modèle vers un style particulier.