Le mécanisme étonnamment simple qu’utilisent les LLM pour retrouver les connaissances qu’ils ont stockées
(news.mit.edu)- Des chercheurs du MIT et d’autres institutions ont constaté que les grands modèles de langage (LLM), qui servent de base à des chatbots IA comme ChatGPT, utilisent souvent une simple fonction linéaire pour extraire certains faits stockés
- Cette fonction varie selon le type de fait, comme « l’instrument joué par une personne » ou « l’État où une personne est née », et la même fonction de décodage s’applique à des faits de type similaire
- Après avoir estimé des fonctions pour 47 relations puis les avoir testées en changeant le sujet, ils ont récupéré la bonne information d’objet dans plus de 60 % des cas pour des relations comme « la capitale d’un pays »
- Même lorsque le modèle donnait une mauvaise réponse, la bonne information restait souvent présente en interne, ce qui a conduit à l’attribute lens, un outil permettant de voir dans quelle couche du transformer une information donnée est stockée
- Toutes les connaissances ne sont pas stockées de manière linéaire, si bien que l’étude des faits introuvables via une fonction linéaire et la vérification de la précision sur de plus grands modèles restent des sujets de recherche
Une méthode simple de récupération des connaissances découverte à l’intérieur des LLM
- Des chercheurs du MIT et de plusieurs autres institutions ont obtenu un résultat montrant que des modèles de langage transformer complexes utilisent souvent une simple fonction linéaire pour récupérer des faits stockés
- Une fonction linéaire est une forme simple qui représente une relation en ligne droite entre deux variables
- Même à l’intérieur de LLM qui effectuent des calculs non linéaires complexes, une partie de la récupération des connaissances fonctionne via ce mécanisme simple
- L’article associé est “Linearity of Relation Decoding in Transformer Language Models”, et la recherche doit être présentée à l’International Conference on Learning Representations
Les faits sont traités comme des relations entre sujet et objet
- Une grande partie des connaissances stockées dans les transformers peut être représentée comme une relation reliant un sujet et un objet
- « Miles Davis plays the trumpet » est une relation reliant le sujet Miles Davis à l’objet trumpet
- Avec le prompt « Miles Davis plays the... », le modèle doit répondre trumpet, et non Illinois, l’État où Miles Davis est né
- À mesure que le modèle acquiert davantage de connaissances sur un sujet, plusieurs faits à son propos sont stockés à travers plusieurs couches
- Lorsqu’une requête arrive, le modèle doit décoder les faits les plus pertinents pour générer une réponse
Une fonction de décodage linéaire différente selon le type de relation
- En examinant expérimentalement les LLM, les chercheurs ont confirmé que le modèle décode parfois les informations relationnelles à l’aide d’une simple fonction linéaire
- La fonction varie selon le type de fait à récupérer
- La fonction utilisée pour produire l’instrument joué par une personne est différente de celle utilisée pour produire l’État où cette personne est née
- Les chercheurs ont mis au point une méthode pour estimer ces fonctions et les ont calculées pour 47 relations, dont « la capitale d’un pays » et « le chanteur principal d’un groupe »
- Comme le nombre de relations possibles est infini, l’expérience a utilisé un sous-ensemble représentatif des types de faits pouvant être étudiés de cette manière
Plus de 60 % de succès, et les limites du stockage linéaire
- Chaque fonction a été testée en changeant le sujet afin de vérifier si elle pouvait récupérer la bonne information d’objet
- La fonction « capitale d’un pays » doit récupérer Oslo lorsque le sujet est Norway, et London lorsque le sujet est England
- La fonction a récupéré la bonne information dans plus de 60 % des cas
- Une partie des informations à l’intérieur des transformers peut être encodée et récupérée de cette manière
- Toutefois, toutes les informations ne sont pas encodées linéairement
- Pour certains faits, même si le modèle les connaît et prédit un texte cohérent avec eux, les chercheurs n’ont pas trouvé de fonction linéaire correspondante
- Dans ces cas, le modèle utilise une méthode plus complexe pour stocker l’information
L’attribute lens pour voir ce que le modèle sait
- Les fonctions estimées servent à vérifier ce que le modèle considère comme vrai à propos d’un sujet donné
- Une expérience commence avec le prompt « Bill Bradley was a » et applique les fonctions de décodage correspondant à « a pratiqué un sport » et « a fréquenté une université »
- Cela permet de vérifier si le modèle sait que le sénateur Bill Bradley était joueur de basket et qu’il a étudié à Princeton
- Cette méthode montre que, même lorsque le modèle se concentre sur d’autres informations pendant la génération de texte, plusieurs informations pertinentes peuvent rester encodées en interne
- Sur cette base, une grille appelée attribute lens a été créée
- L’attribute lens visualise à quel endroit, parmi les différentes couches du transformer, est stockée une information relative à une relation donnée
- Elle peut être générée automatiquement et servir de méthode simplifiée pour mieux comprendre le modèle
Possibilités de correction des erreurs et questions de recherche restantes
- Même lorsqu’un modèle répond incorrectement à un prompt, il conserve souvent la bonne information en interne
- Cette approche pourrait servir à repérer et corriger les informations erronées à l’intérieur du modèle, et contribuer à réduire la tendance des chatbots IA à produire des réponses inexactes ou absurdes
- Les recherches futures viseront à mieux comprendre ce qui se passe pour les faits qui ne sont pas stockés linéairement
- Les chercheurs prévoient aussi de mener des expériences sur des modèles plus grands et d’étudier la précision des fonctions de décodage linéaire
- Mor Geva Pipek, de l’Université de Tel Aviv, estime que cette étude met en lumière une pièce manquante pour comprendre comment les LLM rappellent des connaissances factuelles pendant le raisonnement, et montre que des calculs non linéaires complexes d’extraction d’attributs peuvent être bien approximés par de simples fonctions linéaires
1 commentaires
Avis sur Hacker News
Travail impressionnant, mais je pense que cela révèle aussi un gros problème de la vague actuelle de l’IA. En pratique, on ne cherche pas à sortir de neurones ou d’ensembles de règles qui ne diffèrent pas tant que ça d’un perceptron, proche d’une simple fonction de sommation
Ce n’est pas parce que la phase de propagation avant au niveau d’un neurone unique est la plus facile pour l’apprentissage et l’exécution sur GPU qu’elle est forcément la meilleure pour accomplir les tâches
Il existe aussi beaucoup de méthodes d’apprentissage et de modes d’encodage atypiques qui ne sont pas utilisés parce que les grandes bibliothèques ne les prennent pas en charge, et tant qu’il n’y aura pas de véritable changement dans l’ensemble des règles fondamentales des réseaux de neurones, on continuera probablement à se battre contre des « perceptrons avec des étapes en plus »
Je comprends l’un des aspects de la NP-complétude comme signifiant que tout algorithme de cette classe de complexité peut, en fin de compte, être ramené à quelque chose comme une « fonction de sommation »
Même si GPT avait besoin de 10 fois plus de neurones pour atteindre les mêmes performances, si les calculs et la mémoire nécessaires pour ces neurones coûtent moins cher, GPT reste un meilleur moyen d’atteindre l’objectif
Si l’on trouve une structure plus simple et apprenable, on tient peut-être quelque chose. Les tentatives de sophistication complexe ont déjà été essayées et ont disparu
Je me demande si dire que « les faits sont stockés sous forme de fonctions linéaires » signifie qu’il existe, d’une manière ou d’une autre, un espace des faits en N dimensions encodé dans le LLM, où les faits seraient enchâssés sous forme de points, d’hypersphères ou de variétés de Voronoi
Si c’est le cas, se rappeler un fait revient-il, abstraitement, à calculer ou mémoriser une clé utilisée par le réseau de neurones, puis à faire une recherche clé-valeur dans cet espace ?
Et si oui, je me demande comment on insère un magasin clé-valeur dans un modèle de graphe de propagation par arêtes, et s’il existe déjà des techniques bien connues pour le construire explicitement de cette façon
Au passage, la technique du « palais de mémoire » ne pourrait-elle pas aussi être vue comme un exemple où le cerveau humain place des faits dans une fonction linéaire afin de les retrouver plus facilement ?
On fait le produit scalaire de la requête avec les clés, puis le softmax sélectionne essentiellement une clé gagnante, c’est-à-dire la clé la plus proche de la requête, et on utilise la valeur correspondante
La différence est que c’est un peu plus souple : plusieurs clés peuvent correspondre, et l’on peut optimiser par des méthodes de type descente de gradient pour trouver les bons mappings QKV
J’ai seulement parcouru l’article, mais le point central semble être qu’il existe, cachées ou récupérables au sein d’un réseau plus grand, des fonctions relativement simples qui traitent certaines catégories de relations entre concepts
Si l’on peut isoler de telles fonctions, on peut en théorie les optimiser plus directement, ce qui pourrait conduire à des progrès dans la manière d’entraîner ces modèles
Au fond, l’une des bonnes critiques de l’IA « moderne » est que nous ne faisons que mélanger une soupe d’algèbre linéaire ; si l’on autorise un certain degré de modularité ou de réductionnisme, on peut se rapprocher d’une approche centrée sur les composants plutôt que d’une simple boîte noire
Pour cela, le cerveau doit être très bon pour mémoriser des lieux, planifier des trajets à l’intérieur et autour d’eux, puis les transformer en paroles ou en mouvements
Vraiment fascinant. Je pense immédiatement à la façon dont des connaissances en programmation pourraient être encodées dans une fonction, et, si c’est aussi une simple fonction linéaire, à la possibilité de téléverser directement des bibliothèques standard ou d’autres bibliothèques dans le cerveau d’un LLM sans apprentissage coûteux ni fine-tuning qui dégrade les performances
Pour l’instant, cela ressemble encore à de la science-fiction, mais on dirait que l’on s’en rapproche
Quelque part, quelqu’un doit lire ça et réfléchir à une façon d’exporter Excel ou une base de données vers un LLM
Il est encourageant de voir des recherches qui parviennent à regarder à l’intérieur de la boîte noire
Un autre grand résultat dans ce domaine était un article qui avait trouvé la représentation du plateau de jeu dans un LLM entraîné à jouer à un jeu. Je me demande s’il existe d’autres bons résultats de ce type
Comme le soulignent les auteurs, les LLM font plus que simplement encoder des informations prédicatives, et ce n’est qu’une partie du tableau
Je me demande si cette relation tient toujours dans les modèles récents auxquels on a consacré beaucoup plus de calcul
Intuitivement, je pense que Word2Vec a été rendu possible par la structure inhérente au langage. Ensuite, si l’on entraîne sur des téraoctets de texte humain encodés avec Word2Vec et des encodages positionnels, on semble pouvoir prédire l’encodage suivant avec un niveau de cognition surhumain, même pendant l’apprentissage
Le sac de mots comme mode d’entrée-sortie, et la fenêtre de contexte limitée qui a permis aux encodages positionnels de fonctionner, créent à mon avis un fort désalignement d’impédance avec la structure cognitive interne
Donc, vu la quantité de calcul nettement supérieure investie dans GPT-4 et consorts, il est tout à fait possible que de nouvelles formes de représentation aient évolué, et que les humains doivent encore les découvrir en sondant tous les poids
Je pense que MemGPT pourrait finir par devenir une AGI grâce à sa mémoire longue durée illimitée, mais la forme la plus probable ressemblera plutôt au protagoniste de Memento
[1] https://en.wikipedia.org/wiki/Memento_(film)
Cela me rappelle le célèbre exemple d’embedding « King - Man + Woman = Queen ». Le fait qu’il existe des propriétés sémantiques dans les embeddings explique pourquoi de simples fonctions linéaires fonctionnent aussi bien
Cela me rappelle les vecteurs de relation de word2vec. Ajouter un vecteur du type « de X » donne souvent la bonne réponse.
Le principe reste le même, et il se peut que les transformeurs soient simplement devenus « juste » meilleurs pour mapper les entités dans l’espace des embeddings.
Autrement dit, je pense que c’est moins du genre x = 0 signifie « voler », x = 0,01 « conduire », x = 0,02 « violet », et davantage du genre x < 1,5 signifie « froid », x > 1,5 « chaud ».
C’est aussi l’une des raisons pour lesquelles la quantification, même en 1 bit, fonctionne souvent.
C’est également pourquoi on obtient de bons résultats en faisant passer du texte ou des images dans des modèles de type BERT ou CLIP, puis en appliquant des modèles classiques de machine learning qui utilisent souvent des frontières de décision linéaires.
Les LLM ressemblent à un bon mécanisme de compression.
C’est étonnant de pouvoir garder une copie de llama en local sur son PC et d’avoir, en pratique, accès à presque tout Internet.
Dans son dernier dump, Common Crawl compte 4,3 milliards de pages, mais Google estimait en 2016 qu’il y avait 130 000 milliards de pages sur le Web.
La différence entre 130 000 milliards et 4,3 milliards, c’est quasiment 130 000 milliards. Même en se limitant à l’index textuel consultable de Google, on parle de « centaines de milliards de pages », soit environ 100 Po, à comparer aux 400 To de Common Crawl.
La possibilité d’apprentissage PAC, une dimension VC finie et une compression de la forme suivante sont totalement équivalentes.
https://arxiv.org/abs/1610.03592
Fondamentalement, un neurone individuel ou un perceptron ne fait que diviser l’espace en deux sous-espaces.
Je ne comprends pas comment un fichier CSV, une base de données ou un modèle de 70 milliards de « paramètres » en poids 4 bits peut devenir un LLM/GPT conversationnel presque érudit sur tous les sujets.
En me renseignant, il semble que le 4 bits soit simplement une méthode de compression, et que le modèle finisse donc par voir du f32 ?
On dit que la quantification est le processus qui mappe les nombres à virgule flottante 32 bits des poids d’un réseau de neurones vers des représentations en bits beaucoup plus petites, comme des valeurs 4 bits, pour améliorer le stockage et l’efficacité mémoire.
La déquantification se produit quand le modèle est utilisé, c’est-à-dire pendant l’inférence ou parfois pendant l’entraînement, et les poids quantifiés en 4 bits sont reconvertis en nombres à virgule flottante utilisés dans les calculs réels.
Je me demande donc quel est le rapport entre les « paramètres » et « le nombre de tokens uniques que le modèle connaît, autrement dit la taille du vocabulaire ».
À première vue, LLaMA n’aurait qu’un vocabulaire de 32 000 éléments et 65 milliards de paramètres par rapport à GPT-3.
On dit que les 65 milliards de paramètres d’un modèle comme LLaMA fonctionnent comme un système de mapping extrêmement complexe qui détermine comment répondre à une entrée, à partir des relations apprises entre les tokens des données d’entraînement.
En un peu plus complexe : un dump texte compressé de Wikipédia fait moins de 70 Go, et c’est une compression avec perte d’Internet.
Si la longueur des embeddings de tokens de ce modèle est de 1024, alors même avec une quantification 1 bit, chaque token peut prendre 2^1024 valeurs possibles.
Si la longueur de contexte est de 32 000 tokens, le nombre d’entrées possibles est de 32 000^2^1024.
Peut-on dire, en gros, qu’en mode entraînement un LLM génère automatiquement d’innombrables règles IF-THEN à partir d’une quantité massive d’informations auparavant impossible à exploiter ?
Cet article est excellent, et j’aime aussi le fait qu’ils aient mené des expériences pour vérifier ce genre d’idée. Cela dit, je ne sais pas très bien à quel point l’idée elle-même est nouvelle.
Si les LLM apprennent naturellement de simples tendances statistiques entre les mots, ce résultat n’était-il pas prévisible ?
Je trouve au contraire bien plus intéressant qu’ils montrent clairement que tous les comportements des LLM ne peuvent pas s’expliquer aussi simplement.