Comment fonctionne exactement le grand modèle de langage en interne ? Cet article explique avec un minimum de mathématiques et de terminologie.
L'auteur de cet article, Tim Lee, travaillait dans le média technologique Ars Technica. Il a récemment lancé une newsletter "Comprendre l'IA", qui traite principalement du principe de fonctionnement de l'intelligence artificielle. Sean Trott est professeur adjoint à l'Université de Californie à San Diego, où il étudie la compréhension du langage humain et les modèles de langage. (Le contenu suivant est compilé et publié par OneFlow après autorisation, veuillez contacter OneFlow pour obtenir l'autorisation de réimpression. Texte original :
Lorsque ChatGPT a été lancé l'automne dernier, il a fait sensation dans l'industrie technologique et dans le monde entier. À l'époque, les chercheurs en apprentissage automatique essayaient de développer de grands modèles de langage (LLM) depuis des années, mais le grand public n'y prêtait pas beaucoup d'attention ou ne réalisait pas à quel point ils étaient devenus puissants.
Aujourd'hui, presque tout le monde a entendu parler des LLM et des dizaines de millions de personnes les ont utilisés, mais peu comprennent comment ils fonctionnent. Vous avez peut-être entendu dire que les LLM sont formés pour "prédire le mot suivant", et qu'ils ont besoin de beaucoup de texte pour ce faire. Cependant, les explications s'arrêtent généralement là. Les détails de la façon dont ils prédisent le mot suivant sont souvent traités comme un puzzle ésotérique.
L'une des raisons en est que ces systèmes ont été développés d'une manière différente. Un logiciel typique est écrit par des ingénieurs humains qui fournissent à l'ordinateur des instructions claires, étape par étape. En revanche, ChatGPT est construit sur un réseau neuronal formé à l'aide de milliards de mots de langage.
Par conséquent, personne sur terre ne comprend pleinement le fonctionnement interne de LLM. Les chercheurs travaillent dur pour essayer de comprendre ces modèles, mais c'est un processus lent qui prend des années, voire des décennies, à se terminer.
Cependant, les experts en savent assez sur le fonctionnement de ces systèmes. Le but de cet article est d'ouvrir ces connaissances à un large public. Nous nous efforcerons d'expliquer ce que l'on sait du fonctionnement interne de ces modèles sans entrer dans le jargon technique ou les mathématiques avancées.
Nous commencerons par expliquer les vecteurs de mots, qui sont une façon surprenante pour les modèles de langage de représenter et de raisonner sur le langage. Ensuite, nous plongerons dans Transformers, la pierre angulaire de la construction de modèles comme ChatGPT. Enfin, nous expliquons comment ces modèles sont formés et explorons pourquoi de bonnes performances peuvent être obtenues avec d'énormes quantités de données.
vecteur de mot
Pour comprendre le fonctionnement des modèles de langage, vous devez d'abord comprendre comment ils représentent les mots. Les humains utilisent des séquences de lettres pour représenter des mots anglais, comme CAT pour les chats. Les modèles de langage utilisent une longue liste de nombres appelés vecteurs de mots. Par exemple, voici une façon de représenter un chat sous forme de vecteur :
(remarque : la longueur totale du vecteur est en fait de 300 nombres)
Pourquoi utiliser une notation aussi compliquée ? Voici une analogie, Washington DC est situé à 38,9 degrés de latitude nord et 77 degrés de longitude ouest, que nous pouvons représenter en notation vectorielle :
• Les coordonnées de Washington DC sont [38.9, 77]
• Les coordonnées de New York sont [40.7, 74]
• Les coordonnées de Londres sont [51.5, 0.1]
• Les coordonnées de Paris sont [48.9, -2.4]
Ceci est utile pour raisonner sur les relations spatiales. Vous pouvez voir que New York est très proche de Washington DC car 38,9 est plus proche de 40,7 et 77 est plus proche de 74 dans les coordonnées. De même, Paris est très proche de Londres. Mais Paris est loin de Washington, DC.
Les modèles de langage adoptent une approche similaire : chaque vecteur de mots représente un point dans un "espace de mots" où les mots ayant une signification similaire sont situés plus près les uns des autres. Par exemple, les mots les plus proches des chats dans l'espace vectoriel incluent chien, chaton et animal de compagnie. Un avantage majeur de représenter les mots comme des vecteurs de nombres réels (par opposition aux chaînes de lettres comme "CAT") est que les nombres peuvent effectuer des opérations que les lettres ne peuvent pas.
Les mots sont trop complexes pour être représentés en seulement deux dimensions, de sorte que les modèles de langage utilisent des espaces vectoriels avec des centaines voire des milliers de dimensions. Les humains ne peuvent pas imaginer des espaces avec des dimensions aussi élevées, mais les ordinateurs peuvent raisonner à leur sujet et produire des résultats utiles.
Les chercheurs étudient les vecteurs de mots depuis des décennies, mais le concept a vraiment gagné du terrain en 2013, lorsque Google a annoncé le projet word2vec. Google a analysé des millions de documents collectés sur Google News pour découvrir quels mots ont tendance à apparaître dans des phrases similaires. Au fil du temps, un réseau neuronal formé apprend à placer des mots de catégories similaires (comme chien et chat) adjacents dans l'espace vectoriel.
Les vecteurs de mots de Google ont également une autre fonctionnalité intéressante : vous pouvez utiliser des opérations vectorielles pour "inférer" des mots. Par exemple, les chercheurs de Google prennent le plus grand vecteur (le plus grand), soustraient le grand (grand) vecteur et ajoutent le petit (petit) vecteur. Le mot le plus proche du vecteur résultant est le vecteur le plus petit (le plus petit).
Vous pouvez utiliser des opérations vectorielles pour une analogie ! Dans cet exemple, la relation entre grand et plus grand est similaire à la relation entre petit et plus petit. Les vecteurs de mots de Google capturent de nombreuses autres relations :
• Le Suisse est à la Suisse ce que le Cambodgien est au Cambodge. (Pays de citoyenneté)
• Paris et la France sont similaires à Berlin et à l'Allemagne. (capital)
• Immoral et moral sont similaires à possible et impossible. (antonyme)
• Souris (rats) et souris (pluriel de souris) sont similaires à dollars (dollars) et dollars (pluriel de dollars). (forme pluriel)
• Les hommes et les femmes sont comme des rois et des reines. (rôle de genre)
Parce que ces vecteurs sont construits à partir de la façon dont les gens utilisent le langage, ils reflètent de nombreux biais qui existent dans le langage humain. Par exemple, (médecin) moins (homme) plus (femme) est égal à (infirmière) dans certains modèles d'intégration de mots. La réduction de ce biais est un nouveau domaine de recherche.
Néanmoins, les incorporations de mots sont une base utile pour les modèles de langage, car elles encodent des informations relationnelles subtiles mais importantes entre les mots. Si un modèle de langage apprend quelque chose sur les chats (par exemple, il va parfois chez le vétérinaire), la même chose s'appliquera probablement aux chatons ou aux chiens. Si le modèle a appris la relation entre Paris et la France (par exemple, qu'ils partagent une langue), alors il est probable que la relation entre Berlin et l'Allemagne et Rome et l'Italie sera la même.
Le sens du mot dépend du contexte
De simples schémas d'incorporation de mots comme celui-ci ne parviennent pas à saisir un fait important du langage naturel : les mots ont souvent plusieurs significations.
Par exemple, le mot « banque » pourrait faire référence à une institution financière ou à une berge de rivière. Ou considérez les phrases suivantes :
• Jean prend un magazine (Jean prend un magazine).
• Susan travaille pour un magazine (Susan travaille pour un magazine).
Dans ces phrases, le sens de "magazine" est lié mais différent. John a choisi un magazine physique et Susan a travaillé pour une agence qui publiait des magazines physiques.
Lorsqu'un mot a deux sens sans rapport, les linguistes les appellent des homonymes. Lorsqu'un mot a deux significations étroitement liées, comme "magazine", les linguistes l'appellent polysémie.
Les modèles de langage comme ChatGPT sont capables de représenter le même mot avec différents vecteurs en fonction du contexte dans lequel le mot apparaît. Il existe un vecteur pour "banque (institution financière)" et un vecteur pour "banque (rivière)". Il existe un vecteur pour "magazine (l'entité de publication)" et un vecteur pour "magazine (l'institution de publication)". Comme on pouvait s'y attendre, le modèle de langage utilise des vecteurs qui sont plus similaires pour les significations des mots polysémiques et moins similaires pour les significations des homophones.
Jusqu'à présent, nous n'avons pas expliqué comment les modèles de langage font cela - nous y reviendrons bientôt. Cependant, nous détaillons ces représentations vectorielles, qui sont importantes pour comprendre le fonctionnement des modèles de langage.
Les logiciels traditionnels sont conçus pour fonctionner avec des données explicites. Si vous demandez à un ordinateur de calculer "2+3", il n'y a aucune ambiguïté sur ce que signifie 2, + ou 3. Mais l'ambiguïté du langage naturel va bien au-delà des homonymes et de la polysémie :
• Dans "le client a demandé au garagiste de réparer sa voiture", est-ce que "sa" fait référence au client ou au garagiste ?
• Dans « le professeur a poussé l'étudiant à faire ses devoirs », est-ce que « elle » fait référence au professeur ou à l'étudiant ?
• Dans « les mouches des fruits comme une banane », « mouches » est-il un verbe (faisant référence à un fruit qui vole dans le ciel comme une banane) ou un nom (faisant référence aux mouches des fruits qui aiment les bananes) ?
Les gens résolvent ce type d'ambiguïté en fonction du contexte, mais il n'existe pas de règles simples ou claires. Au contraire, cela nécessite une compréhension de ce qui se passe réellement dans le monde. Vous devez savoir que les mécaniciens réparent généralement les voitures des clients, que les étudiants font généralement leurs propres devoirs et que les fruits ne volent généralement pas.
Les vecteurs de mots offrent aux modèles de langage un moyen flexible de représenter la signification exacte de chaque mot dans le contexte d'un paragraphe particulier. Voyons maintenant comment ils procèdent.
Convertir les vecteurs de mots en prédictions de mots
Le modèle GPT-3 derrière la version originale de ChatGPT se compose de dizaines de couches de réseau neuronal. Chaque couche prend en entrée une séquence de vecteurs (un pour chaque mot dans le texte d'entrée) et ajoute des informations pour aider à clarifier la signification de ce mot et mieux prédire les mots qui pourraient venir ensuite.
Commençons par un exemple simple.
Chaque couche de LLM est un transformateur. En 2017, Google a introduit cette structure de réseau de neurones pour la première fois dans un article marquant.
Au bas du graphique, le texte d'entrée du modèle est "John veut que sa banque encaisse le" et ces mots sont représentés sous forme de vecteurs de style word2vec et transmis au premier Transformer. Ce transformateur détermine que want et cash sont des verbes (ces deux mots peuvent également être des noms). Nous notons ce contexte supplémentaire en texte rouge entre parenthèses, mais le modèle stocke en fait ces informations en modifiant les vecteurs de mots d'une manière difficile à interpréter pour les humains. Ces nouveaux vecteurs sont appelés états cachés et sont transmis au Transformer suivant.
Le second Transformer ajoute deux informations contextuelles supplémentaires : il précise que banque fait référence à une institution financière (institution financière) plutôt qu'à une berge, et que his fait référence au pronom de John. Le deuxième transformateur produit un autre ensemble de vecteurs d'état cachés qui reflètent toutes les informations que le modèle a précédemment apprises.
Le graphique ci-dessus représente un LLM purement hypothétique, alors ne vous attachez pas trop aux détails. Les vrais LLM ont tendance à avoir plus de couches. Par exemple, la version la plus puissante de GPT-3 a 96 couches.
La recherche montre que (les premières couches se concentrent sur la compréhension de la grammaire de la phrase et la résolution des ambiguïtés indiquées ci-dessus. Les couches ultérieures (non illustrées ci-dessus pour que la taille du diagramme reste gérable) sont dédiées à une compréhension de haut niveau de l'ensemble du paragraphe.
Par exemple, lorsque LLM "lit" une nouvelle, il semble se souvenir de toutes sortes d'informations sur les personnages de l'histoire : sexe et âge, relations avec d'autres personnages, lieux passés et actuels, personnalités et objectifs, etc.
Les chercheurs ne comprennent pas entièrement comment les LLM gardent une trace de ces informations, mais logiquement, les informations doivent être transmises entre les couches en modifiant les vecteurs d'état cachés. La dimension vectorielle dans le LLM moderne est extrêmement grande, ce qui est propice à l'expression d'informations sémantiques plus riches.
Par exemple, la version la plus puissante de GPT-3 utilise des vecteurs de mots avec 12288 dimensions, c'est-à-dire que chaque mot est représenté par une liste de 12288 nombres. C'est 20 fois plus grand que le schéma word2vec proposé par Google en 2013. Vous pouvez considérer toutes ces dimensions supplémentaires comme une sorte "d'espace de travail" que GPT-3 peut utiliser pour enregistrer le contexte de chaque mot. Les notes informatives faites par les couches précédentes peuvent être lues et modifiées par les couches ultérieures, permettant au modèle d'approfondir progressivement sa compréhension de l'ensemble du texte.
Donc, supposons que nous modifions le diagramme ci-dessus pour décrire un modèle de langage à 96 couches pour interpréter une histoire de 1000 mots. Le niveau 60 pourrait inclure un vecteur pour John, avec un vecteur noté "(Protagoniste, homme, marié à Cheryl, la cousine de Donald, du Minnesota, actuellement à Boise, essayant de lui trouver un portefeuille perdu)" entre parenthèses. Encore une fois, tous ces faits (et peut-être plus) seraient encodés dans une liste de 12288 nombres correspondant au mot John. Ou, certaines informations de cette histoire peuvent être encodées dans un vecteur de dimension 12288 pour Cheryl, Donald, Boise, portefeuille ou d'autres mots.
Le but est que la 96e et dernière couche du réseau sorte un état caché qui contient toutes les informations nécessaires pour prédire le mot suivant.
Mécanisme d'attention
Parlons maintenant de ce qui se passe à l'intérieur de chaque transformateur. Transformer a deux processus lors de la mise à jour de l'état masqué de chaque mot du paragraphe d'entrée :
Pendant l'étape d'attention, le vocabulaire "regarde autour de lui" pour d'autres mots qui ont un contexte pertinent et partagent des informations les uns avec les autres.
Dans l'étape d'anticipation, chaque mot « réfléchit » aux informations recueillies lors de l'étape d'attention précédente et essaie de prédire le mot suivant.
Bien sûr, c'est le réseau qui effectue ces étapes, pas des mots individuels. Mais nous l'exprimons ainsi pour souligner que Transformer utilise des mots comme unité de base de cette analyse, et non des phrases ou des paragraphes entiers. Cette approche permet à LLM de tirer pleinement parti des capacités de traitement massivement parallèle des puces GPU modernes. Cela permet également à LLM de s'adapter à de longs paragraphes contenant des milliers de mots. Ces deux aspects sont les défis auxquels sont confrontés les premiers modèles de langage.
Vous pouvez considérer le mécanisme d'attention comme un service de correspondance entre les mots. Chaque mot constitue une liste de contrôle (appelée vecteur de requête) qui décrit les caractéristiques des mots qu'il recherche. Chaque mot constitue également une liste de contrôle (appelée vecteur clé) décrivant ses propres caractéristiques. Le réseau de neurones trouve le meilleur mot correspondant en comparant chaque vecteur clé avec chaque vecteur de requête (en calculant le produit scalaire). Une fois qu'une correspondance est trouvée, il transmet les informations pertinentes du mot qui a produit le vecteur clé au mot qui a produit le vecteur de requête.
Par exemple, dans la section précédente, nous avons montré un modèle de transformateur hypothétique qui a trouvé que "son" fait référence à "Jean" dans une partie de la phrase "Jean veut que sa banque encaisse le". En interne, le processus pourrait ressembler à ceci : un vecteur de requête pour « son » pourrait être effectivement représenté par « Je cherche : des noms qui décrivent des hommes ». Un vecteur clé pour "John" pourrait être effectivement exprimé comme "Je suis un nom qui décrit un homme". Le réseau détectera que ces deux vecteurs correspondent et transférera les informations sur le vecteur "John" au vecteur "his".
Chaque couche d'attention a plusieurs "têtes d'attention", ce qui signifie que ce processus d'échange d'informations se produit plusieurs fois (en parallèle) sur chaque couche. Chaque tête d'attention se concentre sur une tâche différente :
• Une tête d'attention peut faire correspondre les pronoms aux noms, comme nous l'avons vu plus tôt.
• Un autre en-tête d'attention pourrait gérer l'analyse de la signification des mots polysémiques comme « banque ».
• Une troisième tête d'attention pourrait lier des phrases de deux mots comme « Joe Biden ».
Les têtes d'attention telles que celles-ci fonctionnent souvent de manière séquentielle, le résultat d'une opération d'attention dans une couche d'attention devenant l'entrée d'une tête d'attention dans la couche suivante. En fait, chacune des tâches que nous venons d'énumérer peut nécessiter plusieurs têtes d'attention, et non une seule.
La plus grande version de GPT-3 a 96 couches, et chaque couche a 96 têtes d'attention, donc chaque fois qu'un nouveau mot est prédit, GPT-3 effectuera 9216 opérations d'attention.
Un exemple concret
Dans les deux sections ci-dessus, nous avons montré des versions idéalisées du fonctionnement des têtes d'attention. Examinons maintenant les recherches sur le fonctionnement interne des modèles de langage réel.
L'année dernière, des chercheurs de Redwood Research ont étudié GPT-2, le prédécesseur de ChatGPT, pour le passage "Quand Mary et John sont allés au magasin, John a donné un verre à (quand Mary et John sont allés au magasin, John a donné un verre à ) "Le processus de prédiction du mot suivant.
GPT-2 prédit que le mot suivant est Marie. Les chercheurs ont découvert que trois types de têtes d'attention contribuaient à cette prédiction :
• Trois têtes d'attention, qu'ils appellent la tête de déplacement du nom, copient les informations du vecteur Mary vers le vecteur d'entrée final (le vecteur du mot to). GPT-2 utilise les informations de ce vecteur le plus à droite pour prédire le mot suivant.
• Comment le réseau neuronal décide-t-il que Mary est le mot correct à copier ? En inversant le processus de calcul de GPT-2, les scientifiques ont découvert un ensemble de quatre têtes d'attention qu'ils ont appelées la tête d'inhibition du sujet (Subject Inhibition Head), qui marquait le deuxième vecteur de John, empêchant le nom de la tête mobile de copier le nom de John.
• Comment le responsable de la suppression du sujet sait-il que John ne doit pas être copié ? L'équipe a extrapolé davantage et a découvert deux têtes d'attention qu'ils ont appelées têtes de jeton en double. Ils marquent le deuxième vecteur John comme une copie du premier vecteur John, ce qui aide le sujet à supprimer la tête pour décider que John ne doit pas être copié.
En bref, ces neuf têtes d'attention permettent à GPT-2 de comprendre que "Jean a donné à boire à Jean" n'a pas de sens, et choisit à la place "Jean a donné à boire à Marie (Jean a donné à boire à Marie)".
Cet exemple montre à quel point il peut être difficile de comprendre pleinement le LLM. Une équipe de cinq chercheurs de Redwood a publié un article de 25 pages expliquant comment ils ont identifié et validé ces têtes d'attention. Même avec tout ce travail, cependant, nous sommes encore loin d'une explication complète de la raison pour laquelle GPT-2 a décidé de prédire "Marie" comme prochain mot.
Par exemple, comment le modèle sait-il que le mot suivant doit être le nom de quelqu'un et non un autre type de mot ? Il est facile d'imaginer que dans des phrases similaires, Marie ne serait pas un bon prédicteur suivant. Par exemple, dans la phrase "quand Mary et John sont allés au restaurant, John a donné ses clés à (quand Mary et John sont allés au restaurant, John a donné les clés à)", logiquement, le mot suivant devrait être "le valet ( représentant le préposé au stationnement)".
En supposant que suffisamment de recherches soient effectuées par des informaticiens, ils peuvent révéler et expliquer d'autres étapes du processus de raisonnement de GPT-2. Finalement, ils pourraient être en mesure de comprendre pleinement comment GPT-2 a décidé que "Marie" était le mot suivant le plus probable dans la phrase. Mais cela peut prendre des mois voire des années d'efforts supplémentaires pour comprendre comment un mot est prédit.
Les modèles de langage derrière ChatGPT—GPT-3 et GPT-4—sont plus grands et plus complexes que GPT-2, et ils sont capables de tâches de raisonnement plus complexes que les phrases simples étudiées par l'équipe Redwood. Par conséquent, le travail d'explication complète de ces systèmes sera un projet énorme, et il est peu probable que les humains le terminent en peu de temps.
Pas d'anticipation
Une fois que la tête d'attention a transféré des informations entre les vecteurs de mots, le réseau d'anticipation "pense" à chaque vecteur de mot et essaie de prédire le mot suivant. A ce stade, aucune information n'est échangée entre les mots, et la couche d'anticipation analyse chaque mot indépendamment. Cependant, les couches d'anticipation ont accès à toutes les informations précédemment copiées par les têtes d'attention. Voici la structure de couche d'anticipation de la plus grande version de GPT-3.
Les cercles verts et violets représentent les neurones : ce sont des fonctions mathématiques qui calculent une somme pondérée de leurs entrées.
La couche feed-forward est puissante en raison de son grand nombre de connexions. Nous dessinons ce réseau en utilisant trois neurones comme couche de sortie et six neurones comme couche cachée, mais la couche d'anticipation de GPT-3 est beaucoup plus grande : 12 288 neurones dans la couche de sortie (correspondant au vecteur de mots à 12 288 dimensions du modèle) , la couche cachée compte 49152 neurones.
Ainsi, dans la plus grande version de GPT-3, la couche cachée a 49152 neurones, chaque neurone a 12288 valeurs d'entrée (donc chaque neurone a 12288 paramètres de poids), et il y a aussi 12288 neurones de sortie, chaque neurone a 49152 valeurs d'entrée (donc 49152 paramètres de poids par neurone). Cela signifie que chaque couche d'anticipation a 49152*12288+12288*49152=1,2 milliard de paramètres de poids. Et il y a 96 couches d'anticipation, un total de 1,2 milliard*96=116 milliards de paramètres ! Cela équivaut à près des deux tiers du volume de paramètres de GPT-3 avec 175 milliards de paramètres.
Dans un article de 2020 (en), des chercheurs de l'Université de Tel Aviv ont découvert que les couches d'anticipation fonctionnent par correspondance de modèles : chaque neurone de la couche cachée correspond à un modèle spécifique dans le texte d'entrée. Vous trouverez ci-dessous une version à 16 couches. Certains neurones dans GPT- 2 correspondent au motif :
• Les neurones de la couche 1 correspondent à des séquences de mots se terminant par "substituts".
• Les neurones de la couche 6 correspondent à des séquences de mots liés à l'armée et se terminent par « base » ou « bases ».
• Les neurones de la couche 13 correspondent à des séquences qui se terminent par une plage horaire, telle que "entre 15h et 19h" ou "de 19h le vendredi jusqu'à".
• Les neurones de la couche 16 correspondent aux séquences associées à l'émission télévisée, telles que « version originale NBC de jour, archivée » ou « le délai a augmenté l'audience de cet épisode de 57 % ».
Comme vous pouvez le voir, dans les couches ultérieures, le schéma devient plus abstrait. Les premières couches ont tendance à correspondre à des mots spécifiques, tandis que les couches ultérieures correspondent à des phrases qui appartiennent à des catégories sémantiques plus larges, telles que des émissions de télévision ou des intervalles de temps.
Ceci est intéressant car, comme mentionné précédemment, la couche d'anticipation ne peut vérifier qu'un seul mot à la fois. Ainsi, lors de la classification de la séquence "Original NBC daytime release, archivated" comme "TV-related", elle n'a accès qu'aux vecteurs pour le mot "archivé", pas à des mots comme NBC ou daytime. On peut en déduire que la raison pour laquelle la couche d'anticipation peut juger que « archivé » fait partie de la séquence liée à la télévision est que la tête d'attention a précédemment déplacé les informations contextuelles dans le vecteur « archivé ».
Lorsqu'un neurone correspond à l'un des motifs, il ajoute des informations au vecteur de mots. Bien que ces informations ne soient pas toujours faciles à interpréter, dans de nombreux cas, vous pouvez les considérer comme une prédiction provisoire du mot suivant.
Inférence de réseaux Feedforward à l'aide d'opérations vectorielles
Des recherches récentes de l'Université Brown (montrent un exemple élégant de la façon dont les couches d'anticipation peuvent aider à prédire le mot suivant. Nous avons précédemment discuté de la recherche word2vec de Google montrant que le raisonnement analogique peut être effectué à l'aide d'opérations vectorielles. Par exemple, Berlin - Allemagne + France = Paris .
Les chercheurs de l'Université Brown ont découvert que les couches d'anticipation utilisent parfois cette méthode précise pour prédire le mot suivant. Par exemple, ils ont étudié les réponses GPT-2 aux invites suivantes : "Question : Quelle est la capitale de la France ? Réponse : Paris. Question : Quelle est la capitale de la Pologne ? Réponse : "
L'équipe a étudié une version de GPT-2 avec 24 couches. Après chaque couche, les scientifiques de l'Université Brown ont sondé le modèle, en examinant sa meilleure estimation pour le jeton suivant. Dans les 15 premières couches, la probabilité la plus élevée est un mot apparemment aléatoire. Entre les couches 16 et 19, le modèle commence à prédire que le mot suivant est polonais, à tort, mais en se rapprochant. Ensuite, au niveau 20, la probabilité la plus élevée devient Varsovie - la bonne réponse, et reste la même pour les quatre derniers niveaux.
Des chercheurs de l'Université Brown ont découvert qu'une 20e couche d'anticipation convertit la Pologne en Varsovie en ajoutant un vecteur qui mappe les vecteurs de pays à leurs capitales correspondantes. En ajoutant le même vecteur à la Chine, la réponse est Pékin.
Une couche d'anticipation dans le même modèle utilise des opérations vectorielles pour convertir les mots minuscules en mots majuscules et les mots au présent en leurs équivalents au passé.
La couche d'attention et la couche d'anticipation ont des fonctions différentes
Jusqu'à présent, nous avons vu deux exemples pratiques de prédiction de mots GPT-2 : la tête d'attention permet de prédire que John donnera à boire à Mary ; la couche d'anticipation permet de prédire que Varsovie est la capitale de la Pologne.
Dans le premier cas, Mary provient d'une invite fournie par l'utilisateur. Mais dans le second cas, Varsovie n'apparaissait pas dans l'invite. Au lieu de cela, GPT-2 a dû "se souvenir" que Varsovie était la capitale de la Pologne, et cette information a été tirée des données de formation.
Lorsque les chercheurs de l'Université Brown ont désactivé la couche d'anticipation qui convertit la Pologne en Varsovie, le modèle n'a plus prédit que le mot suivant était Varsovie. Mais fait intéressant, s'ils ajoutaient ensuite la phrase "La capitale de la Pologne est Varsovie" au début de l'invite, GPT-2 était en mesure de répondre à nouveau à la question. Cela peut être dû au fait que GPT-2 utilise un mécanisme d'attention pour extraire le nom Varsovie de la réplique.
Cette division du travail se manifeste plus largement : le mécanisme d'attention récupère les informations des parties précédentes du signal, tandis que la couche d'anticipation permet au modèle de langage de "se souvenir" des informations qui n'apparaissent pas dans le signal.
En fait, une couche d'anticipation peut être considérée comme une base de données d'informations que le modèle a apprises à partir des données d'apprentissage. Les premières couches d'anticipation sont plus susceptibles d'encoder des faits simples liés à des mots spécifiques, tels que "Trump vient souvent après Donald". Les couches ultérieures encodent des relations plus complexes comme "ajouter ce vecteur pour convertir un pays en sa capitale".
Méthode d'apprentissage du modèle linguistique
De nombreux premiers algorithmes d'apprentissage automatique nécessitaient des exemples de formation étiquetés par l'homme. Par exemple, les données d'entraînement peuvent être des photos de chiens ou de chats avec des étiquettes artificielles ("chien" ou "chat"). Le besoin de données étiquetées rend difficile et coûteux la création d'ensembles de données suffisamment volumineux pour former des modèles puissants.
Une innovation clé des LLM est qu'ils ne nécessitent pas de données explicitement étiquetées. Au lieu de cela, ils apprennent en essayant de prédire le mot suivant dans un passage de texte. Presque tous les documents écrits conviennent à la formation de ces modèles - des pages Wikipédia aux articles de presse en passant par le code informatique.
Par exemple, un LLM peut prendre l'entrée "J'aime mon café avec de la crème et (j'aime mon café avec de la crème et)" et essayer de prédire "sucre (sucre)" comme mot suivant. Un modèle de langage fraîchement initialisé est terrible à cela, car chacun de ses paramètres de poids - la version la plus puissante de GPT-3 est aussi élevée que 175 milliards de paramètres - commence essentiellement par un nombre aléatoire au départ.
Mais au fur et à mesure que le modèle voit plus d'exemples - des centaines de milliards de mots - ces poids s'ajustent progressivement pour faire de meilleures prédictions.
Utilisons une analogie pour illustrer le fonctionnement de ce processus. Supposons que vous preniez une douche et que vous souhaitiez que l'eau soit à la bonne température : ni trop chaude, ni trop froide. Vous n'avez jamais utilisé ce robinet auparavant, vous ajustez donc la direction de la poignée du robinet à volonté et ressentez la température de l'eau. S'il fait trop chaud ou trop froid, vous tournerez la poignée dans le sens opposé et moins vous ferez d'ajustements à la poignée à mesure que vous vous rapprocherez de la bonne température de l'eau.
Maintenant, apportons quelques modifications à cette analogie. Imaginez tout d'abord qu'il existe 50 257 taps, chacun correspondant à un mot différent, tel que "le", "chat" ou "banque". Votre objectif est de ne laisser couler que l'eau du robinet qui correspond au mot suivant dans la séquence.
Deuxièmement, il y a un tas de tuyaux interconnectés derrière le robinet et un tas de vannes sur ces tuyaux. Donc, si l'eau sort du mauvais robinet, vous ne pouvez pas simplement régler le bouton du robinet. Vous envoyez une armée d'écureuils intelligents pour traquer chaque tuyau, ajustant chaque valve qu'ils trouvent en cours de route.
Cela devient compliqué, et comme le même tuyau alimente souvent plusieurs robinets, une réflexion approfondie est nécessaire pour déterminer quelles vannes serrer et desserrer, et de combien.
Évidemment, cet exemple devient ridicule lorsqu'il est pris à la lettre. Construire un réseau de canalisations avec 175 milliards de vannes n'est ni réaliste ni utile. Mais grâce à la loi de Moore, les ordinateurs peuvent fonctionner et fonctionnent à cette échelle.
Jusqu'à présent, toutes les parties du LLM discutées dans cet article - les neurones de la couche d'anticipation et les têtes d'attention qui transmettent les informations de contexte entre les mots - sont implémentées sous la forme d'une série de fonctions mathématiques simples (principalement la multiplication matricielle), dont le comportement est déterminé par un paramètre de poids ajustable. Tout comme l'écureuil de mon histoire contrôle le débit d'eau en desserrant la valve, l'algorithme d'entraînement contrôle le flux d'informations à travers le réseau de neurones en augmentant ou en diminuant les paramètres de poids du modèle de langage.
Le processus de formation est divisé en deux étapes. Effectuez d'abord un "passage vers l'avant", en ouvrant l'eau et en vérifiant que l'eau provient du bon robinet. L'eau est ensuite coupée pour un "passage en arrière", dans lequel les écureuils descendent chaque tuyau, serrant ou desserrant les vannes. Dans les réseaux de neurones numériques, le rôle de l'écureuil est joué par un algorithme appelé rétropropagation, qui "marche en arrière" à travers le réseau, en utilisant le calcul pour estimer combien chaque paramètre de poids doit être modifié.
Faire cela - propager vers l'avant un exemple, puis rétro-propager pour améliorer les performances du réseau sur cet exemple - nécessite des dizaines de milliards d'opérations mathématiques. Et la formation d'un grand modèle comme GPT-3 doit répéter ce processus des milliards de fois, pour chaque mot de chaque donnée de formation. OpenAI estime que la formation GPT-3 nécessite plus de 300 milliards de téraflops de calculs, ce qui nécessiterait des dizaines de puces informatiques haut de gamme pour fonctionner pendant des mois.
Performances étonnantes de GPT-3
Vous pourriez être surpris de voir à quel point le processus de formation fonctionne. ChatGPT peut effectuer une variété de tâches complexes - écrire des articles, faire des analogies et même écrire du code informatique. Alors, comment un mécanisme d'apprentissage aussi simple produit-il un modèle aussi puissant ?
Une des raisons est l'échelle. Il est difficile de surestimer le nombre d'exemples qu'un modèle comme GPT-3 voit. GPT-3 est formé sur un corpus d'environ 500 milliards de mots. En comparaison, l'enfant humain moyen rencontre environ 100 millions de mots avant l'âge de 10 ans.
Au cours des cinq dernières années, OpenAI n'a cessé d'augmenter la taille de ses modèles de langage. Dans un article de 2020 largement diffusé (rapportant que la précision de leurs modèles de langage a une relation de loi de puissance avec la taille du modèle, la taille de l'ensemble de données et la quantité de calculs utilisés pour la formation, certaines tendances s'étendant même sur plus de sept ordres de grandeur ».
Plus la taille du modèle est grande, meilleures sont ses performances sur les tâches impliquant le langage. Mais seulement s'ils augmentent la quantité de données d'entraînement d'un facteur similaire. Et pour former des modèles plus grands sur plus de données, il faut plus de puissance de calcul.
En 2018, OpenAI a publié le premier grand modèle GPT-1. Il utilise un vecteur de mots de 768 dimensions, un total de 12 couches et un total de 117 millions de paramètres. Quelques mois plus tard, OpenAI a publié GPT-2, dont la plus grande version contient des vecteurs de mots de 1600 dimensions, 48 couches et un total de 1,5 milliard de paramètres. En 2020, OpenAI a publié GPT-3, qui a un vecteur de mots de 12288 dimensions, 96 couches et un total de 175 milliards de paramètres.
Cette année, OpenAI a publié GPT-4. La société n'a publié aucun détail architectural, mais il est largement admis dans l'industrie que GPT-4 est beaucoup plus grand que GPT-3.
Non seulement chaque modèle a appris plus de faits que son prédécesseur plus petit, mais il a également montré de meilleures performances sur les tâches qui nécessitaient une certaine forme de raisonnement abstrait.
Par exemple, considérez l'histoire suivante : Un sac plein de pop-corn. Il n'y a pas de chocolat dans le sac. Cependant, l'étiquette sur le sac indiquait "chocolat" au lieu de "pop-corn". Sam a trouvé le sac. Elle n'avait jamais vu le sac auparavant. Elle ne pouvait pas voir ce qu'il y avait dans le sac. Elle a lu l'étiquette.
Comme vous pouvez probablement le deviner, Sam pense que le sac contient du chocolat et est surpris de constater qu'il contient du pop-corn.
Les psychologues appellent cette étude de la capacité à raisonner sur les états mentaux des autres "Théorie de l'esprit". La plupart des gens ont cette capacité dès le début de l'école primaire. Les experts sont divisés sur la question de savoir si la théorie de l'esprit s'applique à tout animal non humain, comme les chimpanzés, mais le consensus général est qu'elle est au cœur de la cognition sociale humaine.
Plus tôt cette année, Michal Kosinski, psychologue à l'Université de Stanford, a publié une étude (examinant la capacité des LLM à résoudre des tâches de théorie de l'esprit). Il a lu dans divers modèles de langage une histoire comme celle que je viens de citer, puis leur a demandé de compléter une phrase, comme " elle croit que le sac est plein", la bonne réponse est "chocolat", mais un modèle de langage immature pourrait dire "pop-corn" ou quelque chose comme ça.
GPT-1 et GPT-2 ont échoué à ce test. Mais la première version de GPT-3, sortie en 2020, était correcte à près de 40 %, un niveau de performance de Kosinski par rapport à un enfant de trois ans. La dernière version, GPT-3, publiée en novembre de l'année dernière, a amélioré la précision des questions ci-dessus à environ 90 %, ce qui est comparable à celle d'un enfant de sept ans. GPT-4 a répondu correctement à environ 95 % des questions de théorie de l'esprit.
"Étant donné qu'il n'y a ni preuve dans ces modèles que la ToM (mentalisation) a été intentionnellement conçue ni études démontrant que les scientifiques savaient comment y parvenir, il est probable que cette capacité soit apparue spontanément et de manière autonome. C'est la capacité linguistique des modèles A par -produit d'amélioration constante", a écrit Kosinski.
Il convient de noter que les chercheurs ne sont pas tous d'accord pour dire que ces résultats prouvent la théorie de l'esprit : par exemple, de petits changements dans la tâche de fausse croyance ont entraîné une forte baisse des performances du GPT-3 (alors que les performances du GPT-3 dans d'autres tâches qui mesurent la théorie d'esprit Plus erratique (comme Sean l'écrit, la performance réussie pourrait être attribuée à un facteur de confusion dans la tâche - un "Hans intelligent", faisant référence à un cheval nommé Hans qui semblait être capable d'accomplir certaines tâches intellectuelles simples, mais en réalité s'appuyer uniquement sur des signaux inconscients donnés par des personnes), mais il apparaît sur le modèle de langage au lieu du cheval.
Néanmoins, GPT-3 approche les performances humaines sur plusieurs tâches conçues pour mesurer la théorie de l'esprit, ce qui était inimaginable il y a quelques années à peine, et cela est cohérent avec le fait que les modèles plus grands fonctionnent généralement mieux sur les tâches nécessitant un raisonnement avancé. point de vue sont cohérents .
Ce n'est qu'un des nombreux exemples où les modèles de langage ont montré qu'ils développaient spontanément des capacités de raisonnement avancées. En avril, des chercheurs de Microsoft ont publié un article (indiquant que GPT-4 montrait des signes précoces et alléchants d'intelligence artificielle générale - la capacité de penser d'une manière complexe et humaine.
Par exemple, un chercheur a demandé à GPT-4 de dessiner une licorne en utilisant un langage de programmation graphique obscur appelé TiKZ. GPT-4 a répondu avec quelques lignes de code, que les chercheurs ont ensuite introduites dans le logiciel TiKZ. Les images résultantes, bien que brutes, montrent clairement que GPT-4 a une certaine compréhension de ce à quoi ressemble une licorne.
Les chercheurs pensaient que GPT-4 aurait pu en quelque sorte mémoriser le code de dessin de la licorne à partir des données d'entraînement, alors ils lui ont lancé un défi de suivi : ils ont modifié le code de la licorne pour supprimer les cornes et déplacé d'autres parties du corps. Ensuite, ils ont demandé à GPT-4 de remettre la corne de la licorne. GPT-4 a répondu en plaçant les angles de tête dans la bonne position :
Même si la version de test des auteurs a été entièrement formée sur du texte et ne contenait aucune image, GPT-4 semble toujours être capable d'accomplir cette tâche. Pourtant, GPT-4 a apparemment appris à raisonner sur la forme du corps de la licorne après avoir été entraîné sur de grandes quantités de texte écrit.
Actuellement, nous ne comprenons pas vraiment comment les LLM accomplissent de tels exploits. Certaines personnes pensent que des exemples comme celui-ci montrent que le modèle commence à vraiment comprendre le sens des mots dans son ensemble d'apprentissage. D'autres insistent sur le fait que les modèles de langage ne sont que des "perroquets aléatoires" (répétant simplement des séquences de mots de plus en plus complexes sans les comprendre réellement.
Ce débat pointe vers un débat philosophique profond qui ne sera peut-être pas résolu. Néanmoins, nous pensons qu'il est important de se concentrer sur les performances empiriques de modèles tels que GPT-3. Si un modèle de langage peut toujours obtenir les bonnes réponses à un type particulier de question, et que le chercheur est convaincu que les facteurs de confusion peuvent être exclus (par exemple, en s'assurant que le modèle de langage n'a pas été exposé à ces questions pendant la formation), alors peu importe comment il comprend le langage, exactement comme chez l'homme, c'est un résultat intéressant et important.
Une autre raison possible pour laquelle la formation à la prédiction du lemme suivant fonctionne si bien est que le langage lui-même est prévisible. Les régularités du langage sont souvent (mais pas toujours) liées aux régularités du monde physique. Par conséquent, lorsqu'un modèle de langage apprend la relation entre les mots, il apprend généralement aussi implicitement la relation qui existe dans le monde.
De plus, la prédiction peut être à la base de l'intelligence biologique ainsi que de l'intelligence artificielle. Selon des philosophes comme Andy Clark, le cerveau humain peut être considéré comme une « machine de prédiction » dont la tâche principale est de faire des prédictions sur notre environnement, puis d'utiliser ces prédictions pour naviguer avec succès dans l'environnement. La prédiction est essentielle à la fois à l'intelligence biologique et à l'intelligence artificielle. Intuitivement, de bonnes prédictions vont de pair avec de bonnes représentations - des cartes précises sont plus susceptibles d'aider les gens à mieux naviguer que des cartes incorrectes. Le monde est vaste et complexe, et faire des prédictions aide les organismes à naviguer efficacement et à s'adapter à cette complexité.
Un défi majeur dans la construction de modèles de langage a traditionnellement été de trouver les moyens les plus utiles de représenter différents mots, d'autant plus que la signification de nombreux mots dépend fortement du contexte. La méthode de prédiction du mot suivant a permis aux chercheurs d'éviter cette épineuse énigme théorique en la transformant en un problème empirique.
Il s'avère que les modèles de langage sont capables d'apprendre le fonctionnement du langage humain en déterminant les meilleures prédictions du mot suivant si nous donnons suffisamment de données et de puissance de calcul. L'inconvénient est que le fonctionnement interne du système qui en résulte n'est pas encore entièrement compris par les humains.
Note:
Techniquement parlant, les fragments de mots de LLM deviennent des lemmes, mais nous ignorerons ce détail d'implémentation pour garder cet article dans une longueur gérable (voir l'article "Révéler le principe de fonctionnement de GPT Tokenizer").
Les réseaux feedforward sont également connus sous le nom de perceptrons multicouches. Les informaticiens étudient ce type de réseau de neurones depuis les années 1960.
Techniquement, une fois que le neurone a calculé la somme pondérée des entrées, il transmet le résultat à la fonction d'activation. Cet article ignorera ce détail d'implémentation, pour une explication complète du fonctionnement des neurones, consultez :
Si vous voulez en savoir plus sur la rétropropagation, consultez l'explication de Tim 2018 sur le fonctionnement des réseaux de neurones.
En pratique, la formation est généralement effectuée par lots pour une efficacité de calcul. Ainsi, le logiciel peut effectuer une transmission vers l'avant sur 32 000 jetons avant de rétropropager.
Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Comment fonctionnent les grands modèles populaires de langage déconstruit
Compiler : OneFlow
Par Tim Lee、Sean Trott
Comment fonctionne exactement le grand modèle de langage en interne ? Cet article explique avec un minimum de mathématiques et de terminologie.
L'auteur de cet article, Tim Lee, travaillait dans le média technologique Ars Technica. Il a récemment lancé une newsletter "Comprendre l'IA", qui traite principalement du principe de fonctionnement de l'intelligence artificielle. Sean Trott est professeur adjoint à l'Université de Californie à San Diego, où il étudie la compréhension du langage humain et les modèles de langage. (Le contenu suivant est compilé et publié par OneFlow après autorisation, veuillez contacter OneFlow pour obtenir l'autorisation de réimpression. Texte original :
Lorsque ChatGPT a été lancé l'automne dernier, il a fait sensation dans l'industrie technologique et dans le monde entier. À l'époque, les chercheurs en apprentissage automatique essayaient de développer de grands modèles de langage (LLM) depuis des années, mais le grand public n'y prêtait pas beaucoup d'attention ou ne réalisait pas à quel point ils étaient devenus puissants.
Aujourd'hui, presque tout le monde a entendu parler des LLM et des dizaines de millions de personnes les ont utilisés, mais peu comprennent comment ils fonctionnent. Vous avez peut-être entendu dire que les LLM sont formés pour "prédire le mot suivant", et qu'ils ont besoin de beaucoup de texte pour ce faire. Cependant, les explications s'arrêtent généralement là. Les détails de la façon dont ils prédisent le mot suivant sont souvent traités comme un puzzle ésotérique.
L'une des raisons en est que ces systèmes ont été développés d'une manière différente. Un logiciel typique est écrit par des ingénieurs humains qui fournissent à l'ordinateur des instructions claires, étape par étape. En revanche, ChatGPT est construit sur un réseau neuronal formé à l'aide de milliards de mots de langage.
Par conséquent, personne sur terre ne comprend pleinement le fonctionnement interne de LLM. Les chercheurs travaillent dur pour essayer de comprendre ces modèles, mais c'est un processus lent qui prend des années, voire des décennies, à se terminer.
Cependant, les experts en savent assez sur le fonctionnement de ces systèmes. Le but de cet article est d'ouvrir ces connaissances à un large public. Nous nous efforcerons d'expliquer ce que l'on sait du fonctionnement interne de ces modèles sans entrer dans le jargon technique ou les mathématiques avancées.
Nous commencerons par expliquer les vecteurs de mots, qui sont une façon surprenante pour les modèles de langage de représenter et de raisonner sur le langage. Ensuite, nous plongerons dans Transformers, la pierre angulaire de la construction de modèles comme ChatGPT. Enfin, nous expliquons comment ces modèles sont formés et explorons pourquoi de bonnes performances peuvent être obtenues avec d'énormes quantités de données.
vecteur de mot
Pour comprendre le fonctionnement des modèles de langage, vous devez d'abord comprendre comment ils représentent les mots. Les humains utilisent des séquences de lettres pour représenter des mots anglais, comme CAT pour les chats. Les modèles de langage utilisent une longue liste de nombres appelés vecteurs de mots. Par exemple, voici une façon de représenter un chat sous forme de vecteur :
[0,0074, 0,0030, -0,0105, 0,0742, 0,0765, -0,0011, 0,0265, 0,0106, 0,0191, 0,0038, -0,0468, -0,0212, 0,0091, 0,0030, -0,0563, -0 .0396, -0.0998, -0.0796, …, 0.0002]
(remarque : la longueur totale du vecteur est en fait de 300 nombres)
Pourquoi utiliser une notation aussi compliquée ? Voici une analogie, Washington DC est situé à 38,9 degrés de latitude nord et 77 degrés de longitude ouest, que nous pouvons représenter en notation vectorielle :
• Les coordonnées de Washington DC sont [38.9, 77]
• Les coordonnées de New York sont [40.7, 74]
• Les coordonnées de Londres sont [51.5, 0.1]
• Les coordonnées de Paris sont [48.9, -2.4]
Ceci est utile pour raisonner sur les relations spatiales. Vous pouvez voir que New York est très proche de Washington DC car 38,9 est plus proche de 40,7 et 77 est plus proche de 74 dans les coordonnées. De même, Paris est très proche de Londres. Mais Paris est loin de Washington, DC.
Les modèles de langage adoptent une approche similaire : chaque vecteur de mots représente un point dans un "espace de mots" où les mots ayant une signification similaire sont situés plus près les uns des autres. Par exemple, les mots les plus proches des chats dans l'espace vectoriel incluent chien, chaton et animal de compagnie. Un avantage majeur de représenter les mots comme des vecteurs de nombres réels (par opposition aux chaînes de lettres comme "CAT") est que les nombres peuvent effectuer des opérations que les lettres ne peuvent pas.
Les mots sont trop complexes pour être représentés en seulement deux dimensions, de sorte que les modèles de langage utilisent des espaces vectoriels avec des centaines voire des milliers de dimensions. Les humains ne peuvent pas imaginer des espaces avec des dimensions aussi élevées, mais les ordinateurs peuvent raisonner à leur sujet et produire des résultats utiles.
Les chercheurs étudient les vecteurs de mots depuis des décennies, mais le concept a vraiment gagné du terrain en 2013, lorsque Google a annoncé le projet word2vec. Google a analysé des millions de documents collectés sur Google News pour découvrir quels mots ont tendance à apparaître dans des phrases similaires. Au fil du temps, un réseau neuronal formé apprend à placer des mots de catégories similaires (comme chien et chat) adjacents dans l'espace vectoriel.
Les vecteurs de mots de Google ont également une autre fonctionnalité intéressante : vous pouvez utiliser des opérations vectorielles pour "inférer" des mots. Par exemple, les chercheurs de Google prennent le plus grand vecteur (le plus grand), soustraient le grand (grand) vecteur et ajoutent le petit (petit) vecteur. Le mot le plus proche du vecteur résultant est le vecteur le plus petit (le plus petit).
• Le Suisse est à la Suisse ce que le Cambodgien est au Cambodge. (Pays de citoyenneté)
• Paris et la France sont similaires à Berlin et à l'Allemagne. (capital)
• Immoral et moral sont similaires à possible et impossible. (antonyme)
• Souris (rats) et souris (pluriel de souris) sont similaires à dollars (dollars) et dollars (pluriel de dollars). (forme pluriel)
• Les hommes et les femmes sont comme des rois et des reines. (rôle de genre)
Parce que ces vecteurs sont construits à partir de la façon dont les gens utilisent le langage, ils reflètent de nombreux biais qui existent dans le langage humain. Par exemple, (médecin) moins (homme) plus (femme) est égal à (infirmière) dans certains modèles d'intégration de mots. La réduction de ce biais est un nouveau domaine de recherche.
Néanmoins, les incorporations de mots sont une base utile pour les modèles de langage, car elles encodent des informations relationnelles subtiles mais importantes entre les mots. Si un modèle de langage apprend quelque chose sur les chats (par exemple, il va parfois chez le vétérinaire), la même chose s'appliquera probablement aux chatons ou aux chiens. Si le modèle a appris la relation entre Paris et la France (par exemple, qu'ils partagent une langue), alors il est probable que la relation entre Berlin et l'Allemagne et Rome et l'Italie sera la même.
Le sens du mot dépend du contexte
De simples schémas d'incorporation de mots comme celui-ci ne parviennent pas à saisir un fait important du langage naturel : les mots ont souvent plusieurs significations.
Par exemple, le mot « banque » pourrait faire référence à une institution financière ou à une berge de rivière. Ou considérez les phrases suivantes :
• Jean prend un magazine (Jean prend un magazine).
• Susan travaille pour un magazine (Susan travaille pour un magazine).
Dans ces phrases, le sens de "magazine" est lié mais différent. John a choisi un magazine physique et Susan a travaillé pour une agence qui publiait des magazines physiques.
Lorsqu'un mot a deux sens sans rapport, les linguistes les appellent des homonymes. Lorsqu'un mot a deux significations étroitement liées, comme "magazine", les linguistes l'appellent polysémie.
Les modèles de langage comme ChatGPT sont capables de représenter le même mot avec différents vecteurs en fonction du contexte dans lequel le mot apparaît. Il existe un vecteur pour "banque (institution financière)" et un vecteur pour "banque (rivière)". Il existe un vecteur pour "magazine (l'entité de publication)" et un vecteur pour "magazine (l'institution de publication)". Comme on pouvait s'y attendre, le modèle de langage utilise des vecteurs qui sont plus similaires pour les significations des mots polysémiques et moins similaires pour les significations des homophones.
Jusqu'à présent, nous n'avons pas expliqué comment les modèles de langage font cela - nous y reviendrons bientôt. Cependant, nous détaillons ces représentations vectorielles, qui sont importantes pour comprendre le fonctionnement des modèles de langage.
Les logiciels traditionnels sont conçus pour fonctionner avec des données explicites. Si vous demandez à un ordinateur de calculer "2+3", il n'y a aucune ambiguïté sur ce que signifie 2, + ou 3. Mais l'ambiguïté du langage naturel va bien au-delà des homonymes et de la polysémie :
• Dans "le client a demandé au garagiste de réparer sa voiture", est-ce que "sa" fait référence au client ou au garagiste ?
• Dans « le professeur a poussé l'étudiant à faire ses devoirs », est-ce que « elle » fait référence au professeur ou à l'étudiant ?
• Dans « les mouches des fruits comme une banane », « mouches » est-il un verbe (faisant référence à un fruit qui vole dans le ciel comme une banane) ou un nom (faisant référence aux mouches des fruits qui aiment les bananes) ?
Les gens résolvent ce type d'ambiguïté en fonction du contexte, mais il n'existe pas de règles simples ou claires. Au contraire, cela nécessite une compréhension de ce qui se passe réellement dans le monde. Vous devez savoir que les mécaniciens réparent généralement les voitures des clients, que les étudiants font généralement leurs propres devoirs et que les fruits ne volent généralement pas.
Les vecteurs de mots offrent aux modèles de langage un moyen flexible de représenter la signification exacte de chaque mot dans le contexte d'un paragraphe particulier. Voyons maintenant comment ils procèdent.
Convertir les vecteurs de mots en prédictions de mots
Le modèle GPT-3 derrière la version originale de ChatGPT se compose de dizaines de couches de réseau neuronal. Chaque couche prend en entrée une séquence de vecteurs (un pour chaque mot dans le texte d'entrée) et ajoute des informations pour aider à clarifier la signification de ce mot et mieux prédire les mots qui pourraient venir ensuite.
Commençons par un exemple simple.
Au bas du graphique, le texte d'entrée du modèle est "John veut que sa banque encaisse le" et ces mots sont représentés sous forme de vecteurs de style word2vec et transmis au premier Transformer. Ce transformateur détermine que want et cash sont des verbes (ces deux mots peuvent également être des noms). Nous notons ce contexte supplémentaire en texte rouge entre parenthèses, mais le modèle stocke en fait ces informations en modifiant les vecteurs de mots d'une manière difficile à interpréter pour les humains. Ces nouveaux vecteurs sont appelés états cachés et sont transmis au Transformer suivant.
Le second Transformer ajoute deux informations contextuelles supplémentaires : il précise que banque fait référence à une institution financière (institution financière) plutôt qu'à une berge, et que his fait référence au pronom de John. Le deuxième transformateur produit un autre ensemble de vecteurs d'état cachés qui reflètent toutes les informations que le modèle a précédemment apprises.
Le graphique ci-dessus représente un LLM purement hypothétique, alors ne vous attachez pas trop aux détails. Les vrais LLM ont tendance à avoir plus de couches. Par exemple, la version la plus puissante de GPT-3 a 96 couches.
La recherche montre que (les premières couches se concentrent sur la compréhension de la grammaire de la phrase et la résolution des ambiguïtés indiquées ci-dessus. Les couches ultérieures (non illustrées ci-dessus pour que la taille du diagramme reste gérable) sont dédiées à une compréhension de haut niveau de l'ensemble du paragraphe.
Par exemple, lorsque LLM "lit" une nouvelle, il semble se souvenir de toutes sortes d'informations sur les personnages de l'histoire : sexe et âge, relations avec d'autres personnages, lieux passés et actuels, personnalités et objectifs, etc.
Les chercheurs ne comprennent pas entièrement comment les LLM gardent une trace de ces informations, mais logiquement, les informations doivent être transmises entre les couches en modifiant les vecteurs d'état cachés. La dimension vectorielle dans le LLM moderne est extrêmement grande, ce qui est propice à l'expression d'informations sémantiques plus riches.
Par exemple, la version la plus puissante de GPT-3 utilise des vecteurs de mots avec 12288 dimensions, c'est-à-dire que chaque mot est représenté par une liste de 12288 nombres. C'est 20 fois plus grand que le schéma word2vec proposé par Google en 2013. Vous pouvez considérer toutes ces dimensions supplémentaires comme une sorte "d'espace de travail" que GPT-3 peut utiliser pour enregistrer le contexte de chaque mot. Les notes informatives faites par les couches précédentes peuvent être lues et modifiées par les couches ultérieures, permettant au modèle d'approfondir progressivement sa compréhension de l'ensemble du texte.
Donc, supposons que nous modifions le diagramme ci-dessus pour décrire un modèle de langage à 96 couches pour interpréter une histoire de 1000 mots. Le niveau 60 pourrait inclure un vecteur pour John, avec un vecteur noté "(Protagoniste, homme, marié à Cheryl, la cousine de Donald, du Minnesota, actuellement à Boise, essayant de lui trouver un portefeuille perdu)" entre parenthèses. Encore une fois, tous ces faits (et peut-être plus) seraient encodés dans une liste de 12288 nombres correspondant au mot John. Ou, certaines informations de cette histoire peuvent être encodées dans un vecteur de dimension 12288 pour Cheryl, Donald, Boise, portefeuille ou d'autres mots.
Le but est que la 96e et dernière couche du réseau sorte un état caché qui contient toutes les informations nécessaires pour prédire le mot suivant.
Mécanisme d'attention
Parlons maintenant de ce qui se passe à l'intérieur de chaque transformateur. Transformer a deux processus lors de la mise à jour de l'état masqué de chaque mot du paragraphe d'entrée :
Pendant l'étape d'attention, le vocabulaire "regarde autour de lui" pour d'autres mots qui ont un contexte pertinent et partagent des informations les uns avec les autres.
Dans l'étape d'anticipation, chaque mot « réfléchit » aux informations recueillies lors de l'étape d'attention précédente et essaie de prédire le mot suivant.
Bien sûr, c'est le réseau qui effectue ces étapes, pas des mots individuels. Mais nous l'exprimons ainsi pour souligner que Transformer utilise des mots comme unité de base de cette analyse, et non des phrases ou des paragraphes entiers. Cette approche permet à LLM de tirer pleinement parti des capacités de traitement massivement parallèle des puces GPU modernes. Cela permet également à LLM de s'adapter à de longs paragraphes contenant des milliers de mots. Ces deux aspects sont les défis auxquels sont confrontés les premiers modèles de langage.
Vous pouvez considérer le mécanisme d'attention comme un service de correspondance entre les mots. Chaque mot constitue une liste de contrôle (appelée vecteur de requête) qui décrit les caractéristiques des mots qu'il recherche. Chaque mot constitue également une liste de contrôle (appelée vecteur clé) décrivant ses propres caractéristiques. Le réseau de neurones trouve le meilleur mot correspondant en comparant chaque vecteur clé avec chaque vecteur de requête (en calculant le produit scalaire). Une fois qu'une correspondance est trouvée, il transmet les informations pertinentes du mot qui a produit le vecteur clé au mot qui a produit le vecteur de requête.
Par exemple, dans la section précédente, nous avons montré un modèle de transformateur hypothétique qui a trouvé que "son" fait référence à "Jean" dans une partie de la phrase "Jean veut que sa banque encaisse le". En interne, le processus pourrait ressembler à ceci : un vecteur de requête pour « son » pourrait être effectivement représenté par « Je cherche : des noms qui décrivent des hommes ». Un vecteur clé pour "John" pourrait être effectivement exprimé comme "Je suis un nom qui décrit un homme". Le réseau détectera que ces deux vecteurs correspondent et transférera les informations sur le vecteur "John" au vecteur "his".
Chaque couche d'attention a plusieurs "têtes d'attention", ce qui signifie que ce processus d'échange d'informations se produit plusieurs fois (en parallèle) sur chaque couche. Chaque tête d'attention se concentre sur une tâche différente :
• Une tête d'attention peut faire correspondre les pronoms aux noms, comme nous l'avons vu plus tôt.
• Un autre en-tête d'attention pourrait gérer l'analyse de la signification des mots polysémiques comme « banque ».
• Une troisième tête d'attention pourrait lier des phrases de deux mots comme « Joe Biden ».
Les têtes d'attention telles que celles-ci fonctionnent souvent de manière séquentielle, le résultat d'une opération d'attention dans une couche d'attention devenant l'entrée d'une tête d'attention dans la couche suivante. En fait, chacune des tâches que nous venons d'énumérer peut nécessiter plusieurs têtes d'attention, et non une seule.
La plus grande version de GPT-3 a 96 couches, et chaque couche a 96 têtes d'attention, donc chaque fois qu'un nouveau mot est prédit, GPT-3 effectuera 9216 opérations d'attention.
Un exemple concret
Dans les deux sections ci-dessus, nous avons montré des versions idéalisées du fonctionnement des têtes d'attention. Examinons maintenant les recherches sur le fonctionnement interne des modèles de langage réel.
L'année dernière, des chercheurs de Redwood Research ont étudié GPT-2, le prédécesseur de ChatGPT, pour le passage "Quand Mary et John sont allés au magasin, John a donné un verre à (quand Mary et John sont allés au magasin, John a donné un verre à ) "Le processus de prédiction du mot suivant.
GPT-2 prédit que le mot suivant est Marie. Les chercheurs ont découvert que trois types de têtes d'attention contribuaient à cette prédiction :
• Trois têtes d'attention, qu'ils appellent la tête de déplacement du nom, copient les informations du vecteur Mary vers le vecteur d'entrée final (le vecteur du mot to). GPT-2 utilise les informations de ce vecteur le plus à droite pour prédire le mot suivant.
• Comment le réseau neuronal décide-t-il que Mary est le mot correct à copier ? En inversant le processus de calcul de GPT-2, les scientifiques ont découvert un ensemble de quatre têtes d'attention qu'ils ont appelées la tête d'inhibition du sujet (Subject Inhibition Head), qui marquait le deuxième vecteur de John, empêchant le nom de la tête mobile de copier le nom de John.
• Comment le responsable de la suppression du sujet sait-il que John ne doit pas être copié ? L'équipe a extrapolé davantage et a découvert deux têtes d'attention qu'ils ont appelées têtes de jeton en double. Ils marquent le deuxième vecteur John comme une copie du premier vecteur John, ce qui aide le sujet à supprimer la tête pour décider que John ne doit pas être copié.
En bref, ces neuf têtes d'attention permettent à GPT-2 de comprendre que "Jean a donné à boire à Jean" n'a pas de sens, et choisit à la place "Jean a donné à boire à Marie (Jean a donné à boire à Marie)".
Cet exemple montre à quel point il peut être difficile de comprendre pleinement le LLM. Une équipe de cinq chercheurs de Redwood a publié un article de 25 pages expliquant comment ils ont identifié et validé ces têtes d'attention. Même avec tout ce travail, cependant, nous sommes encore loin d'une explication complète de la raison pour laquelle GPT-2 a décidé de prédire "Marie" comme prochain mot.
Par exemple, comment le modèle sait-il que le mot suivant doit être le nom de quelqu'un et non un autre type de mot ? Il est facile d'imaginer que dans des phrases similaires, Marie ne serait pas un bon prédicteur suivant. Par exemple, dans la phrase "quand Mary et John sont allés au restaurant, John a donné ses clés à (quand Mary et John sont allés au restaurant, John a donné les clés à)", logiquement, le mot suivant devrait être "le valet ( représentant le préposé au stationnement)".
En supposant que suffisamment de recherches soient effectuées par des informaticiens, ils peuvent révéler et expliquer d'autres étapes du processus de raisonnement de GPT-2. Finalement, ils pourraient être en mesure de comprendre pleinement comment GPT-2 a décidé que "Marie" était le mot suivant le plus probable dans la phrase. Mais cela peut prendre des mois voire des années d'efforts supplémentaires pour comprendre comment un mot est prédit.
Les modèles de langage derrière ChatGPT—GPT-3 et GPT-4—sont plus grands et plus complexes que GPT-2, et ils sont capables de tâches de raisonnement plus complexes que les phrases simples étudiées par l'équipe Redwood. Par conséquent, le travail d'explication complète de ces systèmes sera un projet énorme, et il est peu probable que les humains le terminent en peu de temps.
Pas d'anticipation
Une fois que la tête d'attention a transféré des informations entre les vecteurs de mots, le réseau d'anticipation "pense" à chaque vecteur de mot et essaie de prédire le mot suivant. A ce stade, aucune information n'est échangée entre les mots, et la couche d'anticipation analyse chaque mot indépendamment. Cependant, les couches d'anticipation ont accès à toutes les informations précédemment copiées par les têtes d'attention. Voici la structure de couche d'anticipation de la plus grande version de GPT-3.
La couche feed-forward est puissante en raison de son grand nombre de connexions. Nous dessinons ce réseau en utilisant trois neurones comme couche de sortie et six neurones comme couche cachée, mais la couche d'anticipation de GPT-3 est beaucoup plus grande : 12 288 neurones dans la couche de sortie (correspondant au vecteur de mots à 12 288 dimensions du modèle) , la couche cachée compte 49152 neurones.
Ainsi, dans la plus grande version de GPT-3, la couche cachée a 49152 neurones, chaque neurone a 12288 valeurs d'entrée (donc chaque neurone a 12288 paramètres de poids), et il y a aussi 12288 neurones de sortie, chaque neurone a 49152 valeurs d'entrée (donc 49152 paramètres de poids par neurone). Cela signifie que chaque couche d'anticipation a 49152*12288+12288*49152=1,2 milliard de paramètres de poids. Et il y a 96 couches d'anticipation, un total de 1,2 milliard*96=116 milliards de paramètres ! Cela équivaut à près des deux tiers du volume de paramètres de GPT-3 avec 175 milliards de paramètres.
Dans un article de 2020 (en), des chercheurs de l'Université de Tel Aviv ont découvert que les couches d'anticipation fonctionnent par correspondance de modèles : chaque neurone de la couche cachée correspond à un modèle spécifique dans le texte d'entrée. Vous trouverez ci-dessous une version à 16 couches. Certains neurones dans GPT- 2 correspondent au motif :
• Les neurones de la couche 1 correspondent à des séquences de mots se terminant par "substituts".
• Les neurones de la couche 6 correspondent à des séquences de mots liés à l'armée et se terminent par « base » ou « bases ».
• Les neurones de la couche 13 correspondent à des séquences qui se terminent par une plage horaire, telle que "entre 15h et 19h" ou "de 19h le vendredi jusqu'à".
• Les neurones de la couche 16 correspondent aux séquences associées à l'émission télévisée, telles que « version originale NBC de jour, archivée » ou « le délai a augmenté l'audience de cet épisode de 57 % ».
Comme vous pouvez le voir, dans les couches ultérieures, le schéma devient plus abstrait. Les premières couches ont tendance à correspondre à des mots spécifiques, tandis que les couches ultérieures correspondent à des phrases qui appartiennent à des catégories sémantiques plus larges, telles que des émissions de télévision ou des intervalles de temps.
Ceci est intéressant car, comme mentionné précédemment, la couche d'anticipation ne peut vérifier qu'un seul mot à la fois. Ainsi, lors de la classification de la séquence "Original NBC daytime release, archivated" comme "TV-related", elle n'a accès qu'aux vecteurs pour le mot "archivé", pas à des mots comme NBC ou daytime. On peut en déduire que la raison pour laquelle la couche d'anticipation peut juger que « archivé » fait partie de la séquence liée à la télévision est que la tête d'attention a précédemment déplacé les informations contextuelles dans le vecteur « archivé ».
Lorsqu'un neurone correspond à l'un des motifs, il ajoute des informations au vecteur de mots. Bien que ces informations ne soient pas toujours faciles à interpréter, dans de nombreux cas, vous pouvez les considérer comme une prédiction provisoire du mot suivant.
Inférence de réseaux Feedforward à l'aide d'opérations vectorielles
Des recherches récentes de l'Université Brown (montrent un exemple élégant de la façon dont les couches d'anticipation peuvent aider à prédire le mot suivant. Nous avons précédemment discuté de la recherche word2vec de Google montrant que le raisonnement analogique peut être effectué à l'aide d'opérations vectorielles. Par exemple, Berlin - Allemagne + France = Paris .
Les chercheurs de l'Université Brown ont découvert que les couches d'anticipation utilisent parfois cette méthode précise pour prédire le mot suivant. Par exemple, ils ont étudié les réponses GPT-2 aux invites suivantes : "Question : Quelle est la capitale de la France ? Réponse : Paris. Question : Quelle est la capitale de la Pologne ? Réponse : "
L'équipe a étudié une version de GPT-2 avec 24 couches. Après chaque couche, les scientifiques de l'Université Brown ont sondé le modèle, en examinant sa meilleure estimation pour le jeton suivant. Dans les 15 premières couches, la probabilité la plus élevée est un mot apparemment aléatoire. Entre les couches 16 et 19, le modèle commence à prédire que le mot suivant est polonais, à tort, mais en se rapprochant. Ensuite, au niveau 20, la probabilité la plus élevée devient Varsovie - la bonne réponse, et reste la même pour les quatre derniers niveaux.
Des chercheurs de l'Université Brown ont découvert qu'une 20e couche d'anticipation convertit la Pologne en Varsovie en ajoutant un vecteur qui mappe les vecteurs de pays à leurs capitales correspondantes. En ajoutant le même vecteur à la Chine, la réponse est Pékin.
Une couche d'anticipation dans le même modèle utilise des opérations vectorielles pour convertir les mots minuscules en mots majuscules et les mots au présent en leurs équivalents au passé.
La couche d'attention et la couche d'anticipation ont des fonctions différentes
Jusqu'à présent, nous avons vu deux exemples pratiques de prédiction de mots GPT-2 : la tête d'attention permet de prédire que John donnera à boire à Mary ; la couche d'anticipation permet de prédire que Varsovie est la capitale de la Pologne.
Dans le premier cas, Mary provient d'une invite fournie par l'utilisateur. Mais dans le second cas, Varsovie n'apparaissait pas dans l'invite. Au lieu de cela, GPT-2 a dû "se souvenir" que Varsovie était la capitale de la Pologne, et cette information a été tirée des données de formation.
Lorsque les chercheurs de l'Université Brown ont désactivé la couche d'anticipation qui convertit la Pologne en Varsovie, le modèle n'a plus prédit que le mot suivant était Varsovie. Mais fait intéressant, s'ils ajoutaient ensuite la phrase "La capitale de la Pologne est Varsovie" au début de l'invite, GPT-2 était en mesure de répondre à nouveau à la question. Cela peut être dû au fait que GPT-2 utilise un mécanisme d'attention pour extraire le nom Varsovie de la réplique.
Cette division du travail se manifeste plus largement : le mécanisme d'attention récupère les informations des parties précédentes du signal, tandis que la couche d'anticipation permet au modèle de langage de "se souvenir" des informations qui n'apparaissent pas dans le signal.
En fait, une couche d'anticipation peut être considérée comme une base de données d'informations que le modèle a apprises à partir des données d'apprentissage. Les premières couches d'anticipation sont plus susceptibles d'encoder des faits simples liés à des mots spécifiques, tels que "Trump vient souvent après Donald". Les couches ultérieures encodent des relations plus complexes comme "ajouter ce vecteur pour convertir un pays en sa capitale".
Méthode d'apprentissage du modèle linguistique
De nombreux premiers algorithmes d'apprentissage automatique nécessitaient des exemples de formation étiquetés par l'homme. Par exemple, les données d'entraînement peuvent être des photos de chiens ou de chats avec des étiquettes artificielles ("chien" ou "chat"). Le besoin de données étiquetées rend difficile et coûteux la création d'ensembles de données suffisamment volumineux pour former des modèles puissants.
Une innovation clé des LLM est qu'ils ne nécessitent pas de données explicitement étiquetées. Au lieu de cela, ils apprennent en essayant de prédire le mot suivant dans un passage de texte. Presque tous les documents écrits conviennent à la formation de ces modèles - des pages Wikipédia aux articles de presse en passant par le code informatique.
Par exemple, un LLM peut prendre l'entrée "J'aime mon café avec de la crème et (j'aime mon café avec de la crème et)" et essayer de prédire "sucre (sucre)" comme mot suivant. Un modèle de langage fraîchement initialisé est terrible à cela, car chacun de ses paramètres de poids - la version la plus puissante de GPT-3 est aussi élevée que 175 milliards de paramètres - commence essentiellement par un nombre aléatoire au départ.
Mais au fur et à mesure que le modèle voit plus d'exemples - des centaines de milliards de mots - ces poids s'ajustent progressivement pour faire de meilleures prédictions.
Utilisons une analogie pour illustrer le fonctionnement de ce processus. Supposons que vous preniez une douche et que vous souhaitiez que l'eau soit à la bonne température : ni trop chaude, ni trop froide. Vous n'avez jamais utilisé ce robinet auparavant, vous ajustez donc la direction de la poignée du robinet à volonté et ressentez la température de l'eau. S'il fait trop chaud ou trop froid, vous tournerez la poignée dans le sens opposé et moins vous ferez d'ajustements à la poignée à mesure que vous vous rapprocherez de la bonne température de l'eau.
Maintenant, apportons quelques modifications à cette analogie. Imaginez tout d'abord qu'il existe 50 257 taps, chacun correspondant à un mot différent, tel que "le", "chat" ou "banque". Votre objectif est de ne laisser couler que l'eau du robinet qui correspond au mot suivant dans la séquence.
Deuxièmement, il y a un tas de tuyaux interconnectés derrière le robinet et un tas de vannes sur ces tuyaux. Donc, si l'eau sort du mauvais robinet, vous ne pouvez pas simplement régler le bouton du robinet. Vous envoyez une armée d'écureuils intelligents pour traquer chaque tuyau, ajustant chaque valve qu'ils trouvent en cours de route.
Cela devient compliqué, et comme le même tuyau alimente souvent plusieurs robinets, une réflexion approfondie est nécessaire pour déterminer quelles vannes serrer et desserrer, et de combien.
Évidemment, cet exemple devient ridicule lorsqu'il est pris à la lettre. Construire un réseau de canalisations avec 175 milliards de vannes n'est ni réaliste ni utile. Mais grâce à la loi de Moore, les ordinateurs peuvent fonctionner et fonctionnent à cette échelle.
Jusqu'à présent, toutes les parties du LLM discutées dans cet article - les neurones de la couche d'anticipation et les têtes d'attention qui transmettent les informations de contexte entre les mots - sont implémentées sous la forme d'une série de fonctions mathématiques simples (principalement la multiplication matricielle), dont le comportement est déterminé par un paramètre de poids ajustable. Tout comme l'écureuil de mon histoire contrôle le débit d'eau en desserrant la valve, l'algorithme d'entraînement contrôle le flux d'informations à travers le réseau de neurones en augmentant ou en diminuant les paramètres de poids du modèle de langage.
Le processus de formation est divisé en deux étapes. Effectuez d'abord un "passage vers l'avant", en ouvrant l'eau et en vérifiant que l'eau provient du bon robinet. L'eau est ensuite coupée pour un "passage en arrière", dans lequel les écureuils descendent chaque tuyau, serrant ou desserrant les vannes. Dans les réseaux de neurones numériques, le rôle de l'écureuil est joué par un algorithme appelé rétropropagation, qui "marche en arrière" à travers le réseau, en utilisant le calcul pour estimer combien chaque paramètre de poids doit être modifié.
Faire cela - propager vers l'avant un exemple, puis rétro-propager pour améliorer les performances du réseau sur cet exemple - nécessite des dizaines de milliards d'opérations mathématiques. Et la formation d'un grand modèle comme GPT-3 doit répéter ce processus des milliards de fois, pour chaque mot de chaque donnée de formation. OpenAI estime que la formation GPT-3 nécessite plus de 300 milliards de téraflops de calculs, ce qui nécessiterait des dizaines de puces informatiques haut de gamme pour fonctionner pendant des mois.
Performances étonnantes de GPT-3
Vous pourriez être surpris de voir à quel point le processus de formation fonctionne. ChatGPT peut effectuer une variété de tâches complexes - écrire des articles, faire des analogies et même écrire du code informatique. Alors, comment un mécanisme d'apprentissage aussi simple produit-il un modèle aussi puissant ?
Une des raisons est l'échelle. Il est difficile de surestimer le nombre d'exemples qu'un modèle comme GPT-3 voit. GPT-3 est formé sur un corpus d'environ 500 milliards de mots. En comparaison, l'enfant humain moyen rencontre environ 100 millions de mots avant l'âge de 10 ans.
Au cours des cinq dernières années, OpenAI n'a cessé d'augmenter la taille de ses modèles de langage. Dans un article de 2020 largement diffusé (rapportant que la précision de leurs modèles de langage a une relation de loi de puissance avec la taille du modèle, la taille de l'ensemble de données et la quantité de calculs utilisés pour la formation, certaines tendances s'étendant même sur plus de sept ordres de grandeur ».
Plus la taille du modèle est grande, meilleures sont ses performances sur les tâches impliquant le langage. Mais seulement s'ils augmentent la quantité de données d'entraînement d'un facteur similaire. Et pour former des modèles plus grands sur plus de données, il faut plus de puissance de calcul.
En 2018, OpenAI a publié le premier grand modèle GPT-1. Il utilise un vecteur de mots de 768 dimensions, un total de 12 couches et un total de 117 millions de paramètres. Quelques mois plus tard, OpenAI a publié GPT-2, dont la plus grande version contient des vecteurs de mots de 1600 dimensions, 48 couches et un total de 1,5 milliard de paramètres. En 2020, OpenAI a publié GPT-3, qui a un vecteur de mots de 12288 dimensions, 96 couches et un total de 175 milliards de paramètres.
Cette année, OpenAI a publié GPT-4. La société n'a publié aucun détail architectural, mais il est largement admis dans l'industrie que GPT-4 est beaucoup plus grand que GPT-3.
Non seulement chaque modèle a appris plus de faits que son prédécesseur plus petit, mais il a également montré de meilleures performances sur les tâches qui nécessitaient une certaine forme de raisonnement abstrait.
Par exemple, considérez l'histoire suivante : Un sac plein de pop-corn. Il n'y a pas de chocolat dans le sac. Cependant, l'étiquette sur le sac indiquait "chocolat" au lieu de "pop-corn". Sam a trouvé le sac. Elle n'avait jamais vu le sac auparavant. Elle ne pouvait pas voir ce qu'il y avait dans le sac. Elle a lu l'étiquette.
Comme vous pouvez probablement le deviner, Sam pense que le sac contient du chocolat et est surpris de constater qu'il contient du pop-corn.
Les psychologues appellent cette étude de la capacité à raisonner sur les états mentaux des autres "Théorie de l'esprit". La plupart des gens ont cette capacité dès le début de l'école primaire. Les experts sont divisés sur la question de savoir si la théorie de l'esprit s'applique à tout animal non humain, comme les chimpanzés, mais le consensus général est qu'elle est au cœur de la cognition sociale humaine.
Plus tôt cette année, Michal Kosinski, psychologue à l'Université de Stanford, a publié une étude (examinant la capacité des LLM à résoudre des tâches de théorie de l'esprit). Il a lu dans divers modèles de langage une histoire comme celle que je viens de citer, puis leur a demandé de compléter une phrase, comme " elle croit que le sac est plein", la bonne réponse est "chocolat", mais un modèle de langage immature pourrait dire "pop-corn" ou quelque chose comme ça.
GPT-1 et GPT-2 ont échoué à ce test. Mais la première version de GPT-3, sortie en 2020, était correcte à près de 40 %, un niveau de performance de Kosinski par rapport à un enfant de trois ans. La dernière version, GPT-3, publiée en novembre de l'année dernière, a amélioré la précision des questions ci-dessus à environ 90 %, ce qui est comparable à celle d'un enfant de sept ans. GPT-4 a répondu correctement à environ 95 % des questions de théorie de l'esprit.
Il convient de noter que les chercheurs ne sont pas tous d'accord pour dire que ces résultats prouvent la théorie de l'esprit : par exemple, de petits changements dans la tâche de fausse croyance ont entraîné une forte baisse des performances du GPT-3 (alors que les performances du GPT-3 dans d'autres tâches qui mesurent la théorie d'esprit Plus erratique (comme Sean l'écrit, la performance réussie pourrait être attribuée à un facteur de confusion dans la tâche - un "Hans intelligent", faisant référence à un cheval nommé Hans qui semblait être capable d'accomplir certaines tâches intellectuelles simples, mais en réalité s'appuyer uniquement sur des signaux inconscients donnés par des personnes), mais il apparaît sur le modèle de langage au lieu du cheval.
Néanmoins, GPT-3 approche les performances humaines sur plusieurs tâches conçues pour mesurer la théorie de l'esprit, ce qui était inimaginable il y a quelques années à peine, et cela est cohérent avec le fait que les modèles plus grands fonctionnent généralement mieux sur les tâches nécessitant un raisonnement avancé. point de vue sont cohérents .
Ce n'est qu'un des nombreux exemples où les modèles de langage ont montré qu'ils développaient spontanément des capacités de raisonnement avancées. En avril, des chercheurs de Microsoft ont publié un article (indiquant que GPT-4 montrait des signes précoces et alléchants d'intelligence artificielle générale - la capacité de penser d'une manière complexe et humaine.
Par exemple, un chercheur a demandé à GPT-4 de dessiner une licorne en utilisant un langage de programmation graphique obscur appelé TiKZ. GPT-4 a répondu avec quelques lignes de code, que les chercheurs ont ensuite introduites dans le logiciel TiKZ. Les images résultantes, bien que brutes, montrent clairement que GPT-4 a une certaine compréhension de ce à quoi ressemble une licorne.
Actuellement, nous ne comprenons pas vraiment comment les LLM accomplissent de tels exploits. Certaines personnes pensent que des exemples comme celui-ci montrent que le modèle commence à vraiment comprendre le sens des mots dans son ensemble d'apprentissage. D'autres insistent sur le fait que les modèles de langage ne sont que des "perroquets aléatoires" (répétant simplement des séquences de mots de plus en plus complexes sans les comprendre réellement.
Ce débat pointe vers un débat philosophique profond qui ne sera peut-être pas résolu. Néanmoins, nous pensons qu'il est important de se concentrer sur les performances empiriques de modèles tels que GPT-3. Si un modèle de langage peut toujours obtenir les bonnes réponses à un type particulier de question, et que le chercheur est convaincu que les facteurs de confusion peuvent être exclus (par exemple, en s'assurant que le modèle de langage n'a pas été exposé à ces questions pendant la formation), alors peu importe comment il comprend le langage, exactement comme chez l'homme, c'est un résultat intéressant et important.
Une autre raison possible pour laquelle la formation à la prédiction du lemme suivant fonctionne si bien est que le langage lui-même est prévisible. Les régularités du langage sont souvent (mais pas toujours) liées aux régularités du monde physique. Par conséquent, lorsqu'un modèle de langage apprend la relation entre les mots, il apprend généralement aussi implicitement la relation qui existe dans le monde.
De plus, la prédiction peut être à la base de l'intelligence biologique ainsi que de l'intelligence artificielle. Selon des philosophes comme Andy Clark, le cerveau humain peut être considéré comme une « machine de prédiction » dont la tâche principale est de faire des prédictions sur notre environnement, puis d'utiliser ces prédictions pour naviguer avec succès dans l'environnement. La prédiction est essentielle à la fois à l'intelligence biologique et à l'intelligence artificielle. Intuitivement, de bonnes prédictions vont de pair avec de bonnes représentations - des cartes précises sont plus susceptibles d'aider les gens à mieux naviguer que des cartes incorrectes. Le monde est vaste et complexe, et faire des prédictions aide les organismes à naviguer efficacement et à s'adapter à cette complexité.
Un défi majeur dans la construction de modèles de langage a traditionnellement été de trouver les moyens les plus utiles de représenter différents mots, d'autant plus que la signification de nombreux mots dépend fortement du contexte. La méthode de prédiction du mot suivant a permis aux chercheurs d'éviter cette épineuse énigme théorique en la transformant en un problème empirique.
Il s'avère que les modèles de langage sont capables d'apprendre le fonctionnement du langage humain en déterminant les meilleures prédictions du mot suivant si nous donnons suffisamment de données et de puissance de calcul. L'inconvénient est que le fonctionnement interne du système qui en résulte n'est pas encore entièrement compris par les humains.
Note:
Techniquement parlant, les fragments de mots de LLM deviennent des lemmes, mais nous ignorerons ce détail d'implémentation pour garder cet article dans une longueur gérable (voir l'article "Révéler le principe de fonctionnement de GPT Tokenizer").
Les réseaux feedforward sont également connus sous le nom de perceptrons multicouches. Les informaticiens étudient ce type de réseau de neurones depuis les années 1960.
Techniquement, une fois que le neurone a calculé la somme pondérée des entrées, il transmet le résultat à la fonction d'activation. Cet article ignorera ce détail d'implémentation, pour une explication complète du fonctionnement des neurones, consultez :
Si vous voulez en savoir plus sur la rétropropagation, consultez l'explication de Tim 2018 sur le fonctionnement des réseaux de neurones.
En pratique, la formation est généralement effectuée par lots pour une efficacité de calcul. Ainsi, le logiciel peut effectuer une transmission vers l'avant sur 32 000 jetons avant de rétropropager.