2 points par GN⁺ 2024-03-17 | 1 commentaires | Partager sur WhatsApp
  • Quiet-STaR est une méthode qui utilise du texte web général comme signal d’apprentissage, plutôt que des jeux de données QA avec réponses correctes, afin d’entraîner les modèles de langage à générer des justifications internes avant de parler
  • Alors que le STaR existant n’apprenait qu’à partir des justifications menant à la bonne réponse, Quiet-STaR récompense les justifications qui améliorent la prédiction du texte futur, exploitant ainsi le raisonnement implicite présent dans les textes non structurés
  • La méthode échantillonne en parallèle des justifications à toutes les positions de tokens, puis mélange les prédictions avec et sans justification pour apprendre à mieux prédire le texte réel qui suit
  • Après une poursuite du pré-entraînement de Mistral 7B sur OpenWebMath et C4, la précision augmente sans fine-tuning propre à chaque tâche : GSM8K passe de 5,9 % à 10,9 %, et CommonsenseQA de 36,3 % à 47,2 %
  • L’effet est plus marqué sur les tokens difficiles à prédire, et plus le nombre de tokens utilisés pour la pensée interne est élevé, plus l’amélioration des performances en raisonnement direct tend à être importante

Faire du texte ordinaire une cible d’apprentissage du raisonnement

  • Quand les humains écrivent ou parlent, ils s’arrêtent parfois brièvement pour réfléchir, et une grande partie du sens d’un texte réside dans des raisons et implications qui ne sont pas explicites entre les phrases
  • Les approches existantes centrées sur le raisonnement se sont surtout concentrées sur la réponse à des questions ou l’exécution de tâches d’agents, mais Quiet-STaR considère que le raisonnement est implicitement présent dans presque tous les textes
  • Voici des exemples de raisonnement implicite
    • Les étapes intermédiaires non explicitées dans une démonstration
    • La théorie consistant à inférer l’état mental de l’interlocuteur dans une conversation

Étendre STaR à la modélisation du langage

  • STaR (Self-Taught Reasoner) est une méthode qui, dans des jeux de données de questions-réponses, échantillonne des justifications à partir d’un petit nombre d’exemples, n’apprend que celles qui mènent à la bonne réponse et fait résoudre itérativement des problèmes plus difficiles
  • STaR a pour limite de dépendre de données soigneusement curées, comme des jeux de données QA de haute qualité
    • Ces jeux de données ne peuvent couvrir que certaines tâches de raisonnement
    • Il peut être nécessaire de fournir les justifications elles-mêmes ou une tâche de raisonnement spécifique
  • Plutôt que de cibler des tâches comme des QA mathématiques spécifiques, Quiet-STaR entraîne un modèle de langage à générer, à partir de textes Internet à grande échelle, des justifications utiles pour inférer le texte futur
  • Cette approche s’appuie sur l’intuition du paradigme de la modélisation du langage selon laquelle « les modèles de langage sont des apprenants multitâches non supervisés »

Procédure d’apprentissage : think, talk, learn

  • Quiet-STaR fonctionne en trois étapes
    • think : générer en parallèle, après chaque token du texte, des justifications expliquant le texte futur
    • talk : mélanger les prédictions du token suivant avec et sans justification
    • learn : avec une récompense basée sur REINFORCE, augmenter la vraisemblance des justifications qui aident à prédire le texte futur et écarter celles qui la dégradent
  • Pendant l’apprentissage, pour une thought donnée, le modèle marque le début et la fin de la pensée avec des méta-tokens apprenables comme START et END
  • Après la génération d’une justification, une mixing head décide dans quelle mesure la prédiction fondée sur cette justification doit être prise en compte pour prédire les tokens futurs

Les défis de mise en œuvre pour faire réfléchir à chaque token

  • Dans du texte ordinaire, il faut générer une justification pour chaque token, ce qui est coûteux en calcul
  • Pour réduire ce coût, les auteurs proposent et implémentent un algorithme d’échantillonnage parallèle par token qui génère des justifications à toutes les positions de tokens d’une chaîne
  • Ils traitent aussi le problème du fait qu’un modèle de langage ne sait pas, au départ, générer ni utiliser des pensées internes
    • Ils introduisent des méta-tokens personnalisés indiquant le début et la fin d’une pensée
    • Le modèle apprend quand il doit générer une justification et quand il doit prédire à partir de celle-ci
  • Pour éviter un apprentissage myope ne considérant qu’un seul prochain token, ils utilisent une perte non myope (non-myopic loss) qui inclut plusieurs tokens à venir
  • Une technique de teacher-forcing étendue intègre à l’apprentissage les prédictions au-delà du seul token suivant

Configuration expérimentale et résultats

  • Les expériences sont menées en appliquant Quiet-STaR à Mistral 7B
  • Pour la poursuite du pré-entraînement, les jeux de données de texte web OpenWebMath et C4 (Colossal Clean Crawled Corpus) sont utilisés
  • Les performances de raisonnement direct en zéro-shot s’améliorent sans fine-tuning propre à chaque tâche
    • GSM8K : 5,9 %→10,9 %
    • CommonsenseQA : 36,3 %→47,2 %
  • Sur GSM8K comme sur CommonsenseQA, l’amélioration des performances augmente de façon cohérente avec le nombre de tokens de pensée utilisés pendant l’apprentissage de Quiet-STaR
  • Dans le texte naturel, la perplexity des tokens difficiles à prédire s’améliore
  • Les justifications générées aident de manière disproportionnellement plus importante les tokens difficiles à prédire

Les apports de Quiet-STaR

  • Quiet-STaR généralise STaR pour apprendre le raisonnement à partir de divers textes non structurés, plutôt que de tâches de raisonnement curées
  • Son algorithme d’échantillonnage parallèle rend scalable la procédure d’apprentissage consistant à générer des justifications à toutes les positions de tokens d’une chaîne donnée
  • Les méta-tokens personnalisés indiquant le début et la fin d’une pensée servent à apprendre au modèle le timing de la génération de justifications et de la prédiction fondée sur celles-ci
  • La mixing head décide a posteriori dans quelle mesure la prédiction du prochain token issue d’une thought donnée doit être intégrée à la prédiction courante
  • Une perte de modélisation du langage incluant plusieurs tokens à venir améliore l’effet des pensées
  • Sur plusieurs tâches, l’utilisation de pensées permet de mieux prédire les tokens difficiles que les modèles entraînés sur le même texte web, et l’ampleur de l’amélioration augmente avec des thoughts plus longues

1 commentaires

 
GN⁺ 2024-03-17
Avis sur Hacker News
  • Par exemple, il semble intuitivement évident qu’un réseau profond de 50 couches ne peut raisonner qu’environ 50 étapes sur des questions symboliques.
    Ce qui paraît plus complexe vient du fait que le modèle effectue 50 étapes dans un ou plusieurs sous-espaces qu’il a appris, et qu’une de ces « étapes » peut faire davantage qu’une étape humaine.
    Les humains peuvent raisonner au-delà de ça, mais il leur faut alors une vraie réflexion, de la délibération, et parfois un bloc-notes.
    S’attendre à ce que ChatGPT fasse correctement une multiplication à 4 chiffres sans aucune pensée ni « papier » est assez étonnant, et en réalité peu de gens font ce genre de calcul mentalement.

    • C’est vrai, mais il faut aussi tenir compte de l’aspect autorégressif.
      Dans cet exemple, il y a 50 étapes par exécution du modèle, et le modèle est exécuté une fois pour chaque token de sortie.
      Le calcul de ce que le modèle peut réellement « penser » est donc plus complexe.
      Bien sûr, une fois qu’un token est émis, il est, avec les réglages par défaut, engagé sur ce token, mais cela ne veut pas dire qu’il ne continue pas à « penser » en générant les tokens suivants.
      Le contexte et les tokens de sortie précédents sont l’entrée de l’étape suivante du modèle ; on peut donc les voir comme le bloc-notes mentionné.
    • Cet article suit cette intuition et examine les limites des transformeurs sur des tâches synthétiques. Cela inclut des tâches comme la multiplication, qui exigent plusieurs étapes de raisonnement : https://arxiv.org/abs/2305.18654
      Les résultats expérimentaux suggèrent que les grands modèles de langage à transformeurs ont tendance à résoudre le raisonnement compositionnel multi-étapes non pas comme une capacité systématique de résolution de problèmes, mais en le ramenant à une correspondance de sous-graphes linéarisés.
      Ils montrent aussi, avec un argument théorique sur des problèmes abstraits de raisonnement multi-étapes, que les performances de la génération autorégressive peuvent chuter rapidement à mesure que la complexité de la tâche augmente.
    • On passe ici à côté d’un détail important : le nombre de tokens. Même si la profondeur du réseau donne 50 « étapes », il peut utiliser des tokens supplémentaires.
      En supposant que le ruban ne s’épuise pas, il n’y a pas de raison qu’un grand modèle de langage soit limité à de simples opérations.
    • Si l’on réfléchit à la façon dont fonctionne la rétropropagation, cette explication n’a pas beaucoup de sens. Les couches ne sont pas contraintes à fonctionner uniquement de manière indépendante.
      Et si l’on tient compte du caractère autorégressif du modèle, ça ne colle pas vraiment non plus.
  • Edsger Dijkstra avait un style anglais précis, et même si sa langue maternelle était le néerlandais, je pense qu’il utilisait l’anglais mieux que beaucoup de locuteurs natifs.
    Dans un EWD, il se souvenait avoir appris enfant qu’il ne fallait « pas commencer à parler avant de savoir déjà comment on allait terminer sa phrase ».
    Il me semble probable qu’il y ait un lien de causalité entre ces deux observations.

    • Quand j’étais jeune, j’ai vécu quelque temps à l’étranger et j’ai suivi des cours de langue. Dans le même cours, il y avait un homme d’âge mûr qui parlait très mal la nouvelle langue, mais qui avait toujours le don de faire rire les gens.
      Je me demandais comment il faisait, et un jour, en déjeunant avec lui, il me l’a expliqué sérieusement.
      Il disait qu’il ne prononçait jamais une seule phrase avant de l’avoir entièrement formulée dans sa tête, qu’il faisait repasser les mots plusieurs fois pour affiner la phrase, puis qu’il imaginait la réaction de son interlocuteur, et ne parlait que lorsqu’il visualisait la réaction souhaitée.
      Ce conseil pointait aussi directement le fait que je parlais sans réfléchir, et j’ai eu l’impression qu’il avait lu et répondu exactement à une question que je ne lui avais pas posée.
      Quand j’ai essayé cette méthode, elle récompensait les efforts fournis, mais je n’ai jamais réussi à en faire une habitude, et aujourd’hui encore ma bouche a tendance à aller plus vite que mon esprit.
    • Pour moi, ça ressemble à l’enfer. C’est une façon de faire qui fait complètement disparaître la spontanéité et le sentiment d’être dans l’instant.
      Avant, j’essayais de réfléchir de manière obsessionnelle à ce que j’allais dire avant de parler, et même si je suis plutôt maladroit socialement, ça ne m’a absolument pas aidé.
      J’aime l’écriture parce qu’elle est asynchrone et permet d’organiser précisément ses pensées et de les corriger, mais dans les situations sociales, c’est un gros obstacle.
    • Je vois deux choses. Premièrement, écrire et parler sont différents. L’écriture est asynchrone, on peut donc réfléchir et corriger avant de publier.
      Deuxièmement, quand on parle dans une langue qui n’est pas sa langue maternelle, on réfléchit davantage à ce qu’on va dire. On utilise moins d’expressions idiomatiques, on se concentre plus sur le fait que le sens passe correctement, et on semble plus attentif au risque de vexer l’autre.
      Ce n’est pas nouveau. Des domaines comme la science se sont beaucoup développés dans des langues qui n’étaient pas la langue maternelle des chercheurs, comme le français, l’allemand ou le latin.
      Le jargon propre à chaque domaine joue aussi un rôle. Si je disais simplement « Kubernetes is een open-bron houder orkestratiesysteem voor het automatiseren van de inzet, schalen, en het beheer van zachte waren », la moitié de mon public natif serait perplexe.
    • J’aime lire ses EWD. Un professeur qui avait travaillé avec lui m’a dit qu’il faisait utiliser un stylo aux étudiants pendant les examens.
      Était-ce pour réduire le risque que les étudiants fassent des erreurs ?
    • Moi aussi, j’ai appris l’anglais dans des manuels, et l’une des choses qui me paraissaient les plus étranges était que les locuteurs natifs confondent couramment “their, there, they’re”.
      Je n’aurais jamais imaginé pouvoir faire ce genre d’erreur ; ça me semblait comparable à confondre “wet” et “vet”.
      Il y a clairement une différence entre l’usage de la langue par les locuteurs natifs et par les non-natifs.
  • C’est une idée qui m’est venue il y a quelques jours : la façon dont, dans les systèmes fondés sur de grands modèles de langage, le schéma de raisonnement par chaîne de pensée contribue à améliorer les performances me semble faire écho au modèle des deux systèmes de l’esprit décrit par Kahneman dans Thinking, Fast and Slow
    Je n’ai pas relu le livre depuis des années, mais il me semble me souvenir qu’il disait que l’on utilise surtout le « System 1 » pour les pensées demandant peu d’effort et peu de calcul. Par exemple 1+1=? ou « le ciel est ____ »
    À l’inverse, le « System 2 » sert aux tâches délibérées, conscientes et cognitivement coûteuses : grandes multiplications, problèmes de raisonnement, usage d’outils, prise de décision en général, tout ce qui demande de la concentration ou des ressources cérébrales
    La critique selon laquelle « les grands modèles de langage sont des perroquets stochastiques, donc ils ne sont pas intelligents » ressemble en fait à l’observation que le modèle est seulement équipé pour utiliser le « System 1 »
    Quand on invite un grand modèle de langage à réfléchir étape par étape, on lui donne un espace de travail où noter ses propres pensées et les reprendre en compte lors de la prédiction du prochain token ; cela devient donc une sorte de System 2 rudimentaire, un bac à sable pour la délibération
    Les humains aussi, lorsqu’ils utilisent le System 2, gardent devant leur esprit un diorama du monde et simulent la façon dont l’environnement réagirait à une action donnée. On imagine ce qu’un ami répondrait, comment une plaque d’acier plierait sous une force, comment le code casserait, comment un pneu adhérerait, puis on explore l’arbre des possibles pour choisir l’action au meilleur gain
    Je ne suis pas spécialiste, mais cet article semble avoir repéré un cadre similaire. Il se pourrait notamment que les modèles d’action que l’on voit en robotique intègrent à l’avenir des mécanismes itératifs de délibération/simulation

    • Je précise d’emblée que cela peut sonner comme une pure invention, une anecdote non scientifique, ou quelque chose de naïf ou d’immature. Heureusement, personne n’est obligé d’y croire
      Il y a quelques semaines, dans un état où je n’étais ni complètement éveillé ni endormi, je suis entré dans une boucle où je remarquais le processus suivant : mon cerveau à pensée rapide crachait des mots et des concepts à la vitesse de la lumière, tandis que mon cerveau à pensée lente les transformait en vraies phrases
      C’était comme si je voyais la chaîne de pensée sous forme de liste d’idées ; cette liste se remplissait à une vitesse absurde, puis était résumée en une vraie « pensée » composée d’une liste de mots soigneusement choisis
      Depuis, j’en suis venu à croire que ce que nous reconnaissons comme une pensée est en fait la sortie sélectionnée issue du processus de brainstorming immédiatement précédent
    • Je ne dirais pas que les grands modèles de langage ne possèdent aucune intelligence. Ils reposent sur la prédiction, et je crois que la capacité que nous reconnaissons comme intelligence est précisément la capacité de prédiction. Le cortex aussi a évolué pour prédire
      Cela dit, l’intelligence n’est pas binaire : elle se situe sur un spectre. Ma définition serait « le degré de capacité à prédire correctement des résultats futurs à partir d’expériences passées », et cela dépend des mécanismes dont dispose un système, biologique ou artificiel, pour reconnaître des schémas et faire des prédictions
      L’intelligence dépend aussi de l’expérience, car on ne peut pas reconnaître ce dont on n’a pas fait l’expérience, et donc on ne peut pas non plus le prédire. Cela dit, il vaudrait peut-être mieux disposer d’un vocabulaire qui distingue capacité de prédiction et expérience, plutôt que de les regrouper toutes les deux sous le terme « intelligence »
      Si l’on compare les dispositifs de prédiction des grands modèles de langage et le cerveau humain, il manque beaucoup de choses. « Penser avant de parler » en est une, et les approches Q* ou par arbre de pensées devraient aider sur ce point
      On pourrait peut-être aussi intégrer des structures récurrentes comme les boucles thalamo-corticales dans l’approche grands modèles de langage/Transformers, mais à mon avis, la pièce décisive qui manque pour atteindre des capacités de niveau humain est l’apprentissage en ligne : la capacité d’agir, d’observer le résultat, et d’en tirer un apprentissage
      Avec les approches actuelles, on pourra peut-être créer une AGI « apprise dans les livres », mais on n’apprend pas une compétence sans pratique ni expérimentation. Qu’il s’agisse de développement ou d’autre chose, on ne peut pas apprendre seulement en lisant des livres ou en analysant les résultats produits par d’autres ; il faut comprendre les conséquences réelles de ses propres prédictions et actions, et apprendre à partir de là
    • Andrej Karpathy dit la même chose en citant le même livre dans sa vidéo de novembre 2023 « [1hr Talk] Intro to Large Language Models »
      Lien vers le passage concerné : https://youtu.be/zjkBMFhNj_g?t=2120
    • La plupart des affirmations de ce livre n’ont-elles pas été réfutées ? Il me semble que certaines l’ont été par l’auteur lui-même
      Je l’ai lu avec plaisir et j’y ai trouvé beaucoup d’intuitions, mais plus tard un ami du domaine m’a dit que le livre n’était pas exact et que l’auteur avait « retiré » certaines de ses affirmations
    • Les gens disent souvent que les grands modèles de langage ne font que produire par réflexe des mots, ou plus exactement un flux de tokens, à partir des textes qu’ils ont lus auparavant ou d’une partie de la fenêtre de leur propre réponse, et qu’ils ne pensent donc pas vraiment. C’est vrai
      Mais quand je parle, il m’arrive aussi de ne pas savoir ce que je vais dire avant de m’entendre le dire
      Parfois, je délibère et je planifie en testant des formulations dans ma tête, mais la plupart du temps, j’ai plutôt l’impression d’être un grand modèle de langage qui génère simplement un flux de tokens
  • Encore un article de reinforcement learning dont le baseline est médiocre. GSM8k impose une forme de sortie assez spécifique, et ils ont utilisé un Mistral en réglage 0-shot non instruct
    Après amélioration, la précision était de 11 %, alors que le few-shot prompting atteint 37 %[1]. GPT-4 peut monter à environ 97 % avec du prompting
    [1]: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderb...

    • Pour un scientifique sérieux, partir de méthodes et de baselines connus puis les améliorer, c’est aussi de la bonne science
      Il serait sans doute possible d’étendre cela jusqu’à l’état de l’art, mais l’objectif peut être simplement de mesurer, dans un cadre simple, l’effet de leurs modifications
      On peut laisser aux ingénieurs le soin de combiner plusieurs systèmes pour produire des performances state of the art
  • Est-ce lié au fameux Q* d’OpenAI, le modèle q-star ? Les auteurs de cet article ne semblent pas avoir de lien
    Le nom se recoupe-t-il simplement par hasard ?

    • On dirait un jeu de mots autour du même terme tape-à-l’œil
    • J’ai pensé la même chose. L’article STaR que celui-ci prolonge date de 2022, donc il est au moins possible que q-star s’en soit inspiré
      Cela dit, le Q pourrait vouloir dire autre chose
  • C’est la pièce manquante pour entraîner une IA dotée de capacités de raisonnement
    Il existe énormément de tâches où la réponse est connue, mais pas les étapes de raisonnement. Avec cette méthode, on peut atteindre cette capacité avec moins de données annotées
    Ce qui est intéressant, c’est que les pensées générées peuvent être difficiles à comprendre pour un humain tout en aidant beaucoup plus à obtenir la bonne réponse
    Si cela arrive, alors nous aurons créé quelque chose de plus intelligent que nous

  • Ce matin, j’ai essayé quelque chose de globalement similaire au niveau du prompt, mais les résultats ont été désastreux. Cela dit, l’idée brute que j’avais en tête allait plus loin : introduire des méta-tokens de flux de contrôle qui aideraient les grands modèles de langage à réexplorer leur propre contexte
    Dans cette perspective, on peut repenser le contexte comme une mind map structurée qui s’auto-édite, et le contexte linéaire à un instant T devient la trace d’exécution, jusqu’à présent, de l’exploration de cette mind map
    Certains méta-tokens pourraient avoir des effets de bord, comme mettre en évidence, structurer, résumer ou oublier certaines parties du contexte
    Cela pourrait permettre une sortie structurée native, l’implémentation d’une mémoire, etc., sans formats syntaxiques comme JSON ni constructions de programmation à la LMQL
    L’objectif n’est pas seulement de donner aux grands modèles de langage des capacités de logique/raisonnement, mais aussi de leur fournir les moyens de créer leur propre architecture cognitive
    Si l’on implémente aussi une mémoire ou un scratchpad en utilisant des tokens ... dans la sortie structurée, on obtient en bonus la possibilité d’inspecter ce genre de structure cognitive
    Bien sûr, je n’ai absolument aucune idée de la manière de l’implémenter. Je ne suis qu’un touriste du machine learning

  • Ils ne citent pas l’article sur le calcul adaptatif appris appliqué aux RNN pour la modélisation du langage [1], paru près de huit ans avant leurs propres travaux
    [1] https://openreview.net/pdf?id=S1LVSrcge
    Microsoft avait aussi quelque chose de similaire à cette époque pour la reconnaissance d’images : un CNN pour l’entrée et du calcul adaptatif à l’étape de classification

  • Utiliser Base Mistral 7B pour l’évaluation n’est vraiment pas approprié. Une équipe d’Intel a essayé d’utiliser exactement la même entourloupe avec NeuralChat https://huggingface.co/Intel/neural-chat-7b-v3#quantitative-...

  • La phrase « La majeure partie du sens d’un texte est cachée entre les lignes. Si le lecteur ne comprend pas pourquoi telle phrase apparaît dans le document, il n’en a qu’une compréhension superficielle » ne me semble pas vraie pour ma façon de lire, ni pour celle de la plupart des gens que je connais
    Presque toujours, nous disposons d’un modèle du monde, et nous savons dans une certaine mesure pourquoi ces phrases apparaissent dans un livre
    Quand on lit un manuel de mécanique des fluides, on peut ne pas comprendre les maths, mais on sait que ces phrases sont des énoncés mathématiques destinés à aider à apprendre la théorie, et qu’elles suivent des motifs visant à enseigner des concepts importants
    Par exemple, les concepts s’appuient sur les précédents. L’équation de Bernoulli apparaît parce que le principe de conservation de l’énergie a été présenté avant, et elle est là parce qu’on suppose que je comprends ce dernier