2 points par GN⁺ 2023-09-07 | 1 commentaires | Partager sur WhatsApp
  • fast.ai, en ajustant finement un modèle pour le Kaggle LLM Science Exam, a observé une courbe de perte donnant l’impression qu’un LLM mémorise après avoir vu une seule fois les exemples du jeu de données
  • Les réseaux de neurones classiques apprennent souvent progressivement sur plusieurs epochs, mais dans cette expérience la perte d’entraînement chutait par paliers aux frontières d’epoch, contrairement à l’expérience habituelle
  • Comme un motif similaire apparaissait indépendamment de l’utilisation de Hugging Face Trainer, de LoRA ou d’un fine-tuning complet, il devenait difficile d’y voir un simple bug de bibliothèque
  • Dans les expériences avec taux d’apprentissage cyclique et 1cycle, l’évolution de la perte d’entraînement, de la perte de validation et du MAP@3 correspondait globalement à l’hypothèse de mémorisation, et une dégradation de la perte de validation ne signifiait pas forcément une baisse de précision
  • Si les LLM préentraînés apprennent très vite, il faut réexaminer des stratégies de fine-tuning comme le catastrophic forgetting, l’augmentation de données, le mélange de données et le dropout

Des courbes de perte différentes de l’apprentissage habituel des réseaux de neurones

  • Un classifieur neuronal ajuste ses probabilités de sortie en voyant à plusieurs reprises les entrées et les étiquettes correctes
    • Le passage complet sur l’ensemble des données d’entraînement s’appelle une epoch
    • La perte (loss) indique à quel point le modèle se trompe, avec une pénalité plus forte pour les prédictions fausses émises avec confiance
  • En général, au début de l’entraînement, la perte d’entraînement baisse rapidement puis ralentit progressivement, tandis que la perte de validation s’améliore plus lentement
    • Il est courant que le début et la fin d’une epoch ne soient pas clairement visibles sur le seul graphe de perte
    • L’expérience empirique suggérait qu’un réseau de neurones avait besoin de plusieurs epochs pour bien assimiler une image précise
  • fast.ai a découvert un motif différent en entraînant un modèle à résoudre des QCM scientifiques sur le Kaggle LLM Science Exam
    • Le modèle a été entraîné pendant 3 epochs avec le grand jeu de questions créé par Radek Osmulski
    • À la fin de chaque epoch apparaissait une chute en escalier, où la perte d’entraînement baissait brusquement

Du soupçon de bug à l’hypothèse de mémorisation

  • Au départ, l’équipe a soupçonné un bug dans le processus d’entraînement
    • Par exemple, si le modèle continuait à apprendre pendant l’évaluation sur l’ensemble de validation, il pourrait sembler s’améliorer soudainement juste après la validation
    • La possibilité d’un problème avec Hugging Face Trainer, alors utilisé, a été examinée en premier
  • Des développeurs open source du Discord Alignment Lab AI ont répondu qu’ils avaient déjà observé des courbes de perte similaires
    • Comme les premières personnes à répondre utilisaient toutes Trainer, l’hypothèse d’un bug de bibliothèque semblait plausible
    • Par la suite, des cas montrant la même courbe avec des boucles d’entraînement personnalisées ont été partagés
  • L’équipe a aussi vérifié s’il s’agissait d’un phénomène propre à LoRA, mais le même motif est apparu avec un fine-tuning complet
    • Dans la communauté du fine-tuning de LLM, ce type de courbe de perte était déjà proche d’un phénomène courant

Un motif de mémorisation rapide observé dans l’expérience Kaggle

  • L’interprétation proposée par les collègues open source était que la courbe de perte montrait un surapprentissage
    • Cela voulait dire que le modèle apprenait au point de reconnaître les entrées après les avoir vues une ou deux fois, ce qui paraissait d’abord impossible
    • Sur le premier graphe, la perte passait de 0,8 à 0,5 après la première epoch, puis de 0,5 à moins de 0,2 après la deuxième
    • Au milieu des deuxième et troisième epochs, il semblait n’y avoir presque aucun nouvel apprentissage
  • Si cette interprétation est correcte, le modèle avait pratiquement mémorisé l’ensemble d’entraînement en ne voyant chaque ligne que 3 fois
    • Pour chaque question, le seul signal reçu par le modèle est la comparaison entre l’étiquette correcte et son propre choix
    • Malgré cela, la perte d’entraînement diminuait fortement

Évolution de la perte avec un taux d’apprentissage cyclique

  • Le modèle Kaggle a été entraîné pendant 2 epochs avec un planning de taux d’apprentissage cyclique, basé sur l’article de Leslie Smith de 2015, Cyclical Learning Rates for Training Neural Networks
  • La courbe de la première epoch ressemblait à un motif d’apprentissage classique
    • Le taux d’apprentissage était augmenté progressivement pendant les 10 % initiaux
    • Ensuite, le taux d’apprentissage était réduit selon un planning cosinus
    • Une fois le taux d’apprentissage suffisamment élevé, la perte d’entraînement et la perte de validation diminuaient rapidement, puis le rythme ralentissait
  • Dans la deuxième epoch, comme le jeu de données n’avait pas été remélangé, les premiers lots réapparaissaient avec un faible taux d’apprentissage
    • Ces lots n’avaient eux aussi été exposés qu’avec un faible taux d’apprentissage lors de la première epoch, si bien que le modèle n’avait pas beaucoup appris à partir d’eux
    • Vers la fin des 10 % initiaux, les lots vus avec un taux d’apprentissage élevé lors de la première epoch réapparaissaient, et la perte d’entraînement chutait brutalement
  • Sur la même section, la perte de validation empirait
    • Cela peut être interprété non pas comme une meilleure généralisation du modèle, mais comme un état où il a mémorisé les données d’entraînement et devient très sûr des bonnes réponses
    • Comme la fonction de perte pénalise davantage les mauvaises réponses données avec confiance, la perte de validation se dégrade
  • En fin de courbe, la perte d’entraînement empirait de nouveau
    • Une dégradation de la perte d’entraînement avec un taux d’apprentissage raisonnable n’est pas habituelle
    • Selon l’hypothèse de mémorisation, le modèle n’a pas réussi à mémoriser efficacement les lots vus avec un faible taux d’apprentissage, tandis que son excès de confiance sur les lots précédents s’est prolongé
    • Ensuite, à mesure que le modèle réajustait son niveau de confiance vers quelque chose de plus raisonnable, la perte de validation redescendait

Expérience 1cycle et différence entre métriques d’évaluation

  • L’expérience suivante a utilisé le 1cycle training pendant 3 epochs
    • Le taux d’apprentissage n’était augmenté progressivement qu’une seule fois, sur les 10 % de lots au début de l’entraînement
    • Sur les lots restants, le taux d’apprentissage était réduit selon un planning cosinus
    • Contrairement à l’expérience précédente, il n’y avait pas de répétition d’un échauffement puis d’une décroissance séparés à chaque epoch
    • Le rang LoRA a été augmenté pour ralentir la vitesse d’apprentissage
  • Les courbes obtenues correspondaient globalement à l’interprétation précédente, mais la hausse de la perte de validation est apparue à l’epoch 3, et non à l’epoch 2
    • Dans l’expérience précédente, la perte d’entraînement descendait à environ 0,2 dès la deuxième epoch, permettant des prédictions très confiantes
    • Dans l’expérience 1cycle, ce niveau de confiance n’était atteint qu’à la troisième epoch, et la hausse de la perte de validation apparaissait à ce moment-là
  • Une dégradation de la perte de validation ne signifie pas forcément un véritable surapprentissage
    • La métrique du leaderboard Kaggle est le Mean Average Precision @ 3, une précision fondée sur le classement des 3 premières prédictions de QCM
    • Le MAP@3 de validation par lot dans l’entraînement 1cycle a continué à s’améliorer lors de la dernière epoch, même si la perte de validation se dégradait
  • Des logs supplémentaires et un notebook de reproduction sont disponibles dans le rapport de Johno

Pourquoi l’apprentissage à partir d’un seul exemple pourrait être possible

  • Il n’existe pas de loi fondamentale disant qu’un réseau de neurones ne peut pas reconnaître une entrée à partir d’un seul exemple
    • Les chercheurs et praticiens ont simplement constaté empiriquement que les réseaux de neurones ont besoin de nombreux exemples
    • Si la surface de perte explorée par la descente de gradient stochastique (SGD) est accidentée, il est difficile de se déplacer beaucoup en une seule fois
  • On connaît des facteurs qui rendent la surface de perte plus lisse
  • Les LLM préentraînés peuvent avoir une surface de perte très lisse dans une région proche d’un minimum de perte
    • De nombreux travaux de fine-tuning dans la communauté open source se déroulent probablement dans ce type de région
    • Cela rejoint les prémisses de l’article ULMFiT de 2018
  • L’idée de base d’ULMFiT était qu’un modèle performant en modélisation du langage construit en interne de riches abstractions et des couches de capacités
    • Ces couches peuvent être appliquées à d’autres tâches avec peu de fine-tuning
    • Les LLM actuels sont beaucoup plus grands que les modèles étudiés dans ULMFiT, et pourraient donc disposer de couches d’abstraction plus riches
  • Le fine-tuning sur des QCM scientifiques peut s’apparenter à l’exploitation de capacités et de connaissances déjà présentes dans le modèle
    • Les ajustements de poids nécessaires peuvent être peu nombreux
    • Un modèle de langage préentraîné auquel on ajoute une petite tête de classification aléatoire peut se trouver dans une position où il se déplace en douceur vers une bonne configuration de poids
    • Avec l’optimiseur Adam, des gradients cohérents et lisses peuvent augmenter le taux d’apprentissage dynamique effectif, conduisant à de grands pas

Questions soulevées pour les stratégies de fine-tuning

  • Si le modèle apprend très vite, les hypothèses de base des méthodes d’entraînement existantes peuvent être remises en cause
    • Un modèle qui apprend lentement peut examiner longtemps des données variées pendant plusieurs epochs et en extraire progressivement des informations généralisables
    • Un modèle qui apprend vite peut mémoriser immédiatement les exemples vus, créant d’autres phénomènes
  • Le catastrophic forgetting pourrait devenir plus marqué
    • Après avoir vu 10 exemples d’une relation très courante puis 1 contre-exemple moins courant, le modèle peut mémoriser le contre-exemple au lieu de réduire légèrement le souvenir des 10 exemples précédents
  • L’effet anti-surapprentissage de l’augmentation de données pourrait lui aussi s’affaiblir
    • Si le LLM extrait bien les représentations de l’information en entrée, un mélange par paraphrase ou back-translation peut revenir à lui fournir essentiellement la même information
  • Parmi les pistes d’atténuation figurent le dropout et la stochastic depth
    • Le dropout est déjà un peu utilisé dans des techniques de fine-tuning comme LoRA
    • Il ne semble pas encore exister de cas d’usage significatif de la stochastic depth en NLP
  • Une autre approche consiste à maintenir un mélange riche de jeux de données tout au long de l’entraînement
    • Llama Code a subi un catastrophic forgetting où d’autres capacités se dégradaient fortement pendant que ses performances en code s’amélioraient
    • À l’époque, la part de données non-code était de 10 %
    • Avec un mélange proche de 50/50, il aurait peut-être été possible de gagner en performance de programmation sans perdre les capacités existantes

1 commentaires

 
GN⁺ 2023-09-07
Avis sur Hacker News
  • Merci d’avoir posté cet article sur HN. Je suis l’un des coauteurs de cet article, et explorer avec Johno ce phénomène étrange de mémorisation rapide des LLM a été vraiment passionnant.
    Je travaille avec les réseaux de neurones depuis 30 ans et je fais du fine-tuning de modèles de langage depuis 2017, mais ce comportement m’a beaucoup surpris. D’autres personnes ont observé des phénomènes similaires dans les LLM, mais je n’ai pas encore vu d’analyse de ce type, et il est possible que nous ayons manqué quelque chose.

    • Dans l’article Palm-E (https://palm-e.github.io/), il est intéressant de voir que si l’on défige le LLM et qu’on l’entraîne uniquement sur de nouvelles données d’images, on observe comme prévu un important oubli catastrophique sur les tâches de traitement du langage naturel, mais que cet effet diminue fortement à mesure que la taille du LLM initial augmente.
      Le modèle 12B perdait en moyenne -87,3 % de performance, le 84B -61,6 %, et le 562B seulement -3,9 %. J’avais l’impression qu’on était tout près d’une intuition importante, et je me demande si éviter l’oubli catastrophique ne pourrait pas être simplement une question d’échelle.
    • Il me semble que ne pas préciser ce qu’est le modèle de base est une grosse erreur, et qu’il ne faut pas attribuer cela aux LLM en général.
      Je ne suis pas chercheur, mais il est clair que tous les LLM n’ont pas la même architecture, et même avec des architectures similaires ils peuvent évoluer de façon à se comporter fonctionnellement de manière assez différente sur les mêmes entrées. Pourtant, beaucoup d’articles semblent traiter les LLM comme s’il s’agissait d’une seule architecture et d’un seul modèle.
    • Jeremy, j’aime toujours ton travail. L’astronomie étant mon domaine, j’ajouterai techniquement que, dans l’exemple MOND décrit ici, la bonne réponse devrait en fait être le choix (E).
    • Jeremy, si tu calcules une fois la perte du batch, que tu mets à jour le gradient, puis que tu recalcules la perte du même batch avec no_grad, tu devrais pouvoir mesurer précisément combien le modèle a appris en une étape.
      Tracer la différence entre la première et la deuxième perte, au niveau du batch ou de l’observation/la question, pourrait donner des résultats intéressants.
    • Très intéressant. Une discussion similaire avait déjà eu lieu dans une issue de Hugging Face transformers, et à l’époque aussi la mémorisation nous avait semblé l’explication la plus probable. C’est bien de voir que d’autres arrivent à la même conclusion.
      https://github.com/huggingface/transformers/issues/18730
  • Je ne sais pas si les gens utilisent vraiment l’expression « over confident » dans ce sens. C’est assez trompeur, et ce qui se passe ici devrait plutôt être appelé surapprentissage.
    Si l’on pense les données comme des points, un modèle qui généralise bien essaie de construire la fonction la plus simple qui ajuste assez correctement les points des données d’entraînement. Mais si l’on continue l’entraînement, les paramètres peuvent devenir très grands et la courbe de la fonction peut osciller fortement, bien au-delà de la plage réelle des données, pour passer exactement par les données d’entraînement.
    Elle s’ajuste donc techniquement mieux aux données d’entraînement, mais devient une fonction étrange qui produit des sorties extrêmes sur de nouvelles données, avec une généralisation presque catastrophique. Cela dit, le surapprentissage n’est pas la même chose que la mémorisation. Un grand modèle peut mémoriser un petit jeu de données sans surapprentissage, car il a tellement de paramètres qu’il suffit de très peu de changements pour ajuster les données d’entraînement. Dans ce cas, l’entraînement s’arrête mais il n’y a pas de généralisation ; on parle alors de sous-détermination.
    Certains modèles produisent aussi une sortie et un niveau de confiance, donc « excès de confiance » peut aussi signifier que le modèle a prédit à tort une confiance élevée, c’est-à-dire une faible variance d’erreur.

    • Si l’on considère comme fonction un réseau de neurones auquel on applique argmax sur les probabilités de sortie, alors ce n’est pas du tout du surapprentissage. La précision de classification sur les données non vues, c’est-à-dire l’ensemble de validation, continue de s’améliorer.
      Le point clé ici est un problème de calibrage : https://en.m.wikipedia.org/wiki/Calibration_(statistics). Cela signifie que les probabilités de sortie du réseau de neurones ne reflètent pas les probabilités réellement observées. Si les probabilités sont systématiquement sous-estimées, on parle de « sous-confiance » ; si elles sont surestimées, d’« excès de confiance ».
      Dans ce cas, même si le calibrage se dégrade et que la perte de validation augmente, le classifieur sur les données non vues peut tout de même continuer à s’améliorer.
    • On n’emploie pas le terme surapprentissage pour un modèle dont la précision s’améliore. Je trouve cela trompeur.
    • Comme la perte sur l’ensemble d’entraînement s’améliore tandis que la perte sur l’ensemble de validation se dégrade, je considère cela comme une forme de surapprentissage. Mais ce n’est pas le surapprentissage habituel, où la précision sur l’ensemble de validation se dégrade.
      Ici, la précision sur les données de validation continue de s’améliorer, mais lorsque le modèle se trompe, il se trompe avec plus de confiance qu’avant. Par exemple, s’il se trompait auparavant en étant sûr à 60 % que la réponse était X, il se trompe toujours en répondant X, mais avec une confiance plus élevée, disons 70 %. C’est donc une forme étrange de surapprentissage, et le terme plus précis d’« excès de confiance » semble bien convenir.
  • Je ne suis pas spécialiste des LLM, mais du point de vue général du machine learning, cela n’a rien de très surprenant.
    On a déjà un modèle génératif de plusieurs milliards de paramètres qui attribue une certaine masse de probabilité aux échantillons de fine-tuning. On calcule alors le gradient qui augmente cette masse de probabilité, puis on fait un pas dans cette direction. Au fond, l’auteur s’étonne que ce seul pas augmente fortement la masse de probabilité des échantillons.
    Mais les modèles génératifs sont extrêmement surparamétrés, et ils accordent déjà une certaine masse de probabilité aux échantillons de fine-tuning. Dans un espace de paramètres à plusieurs milliards de dimensions, il serait plutôt surprenant qu’il n’existe pas de direction permettant d’augmenter rapidement la probabilité d’un nombre relativement faible d’échantillons.

    • J’ai pensé la même chose. Je n’ai pas du tout trouvé cela surprenant, au point de me demander si je ne ratais pas quelque chose.
  • Ce résultat ne découlait-il pas déjà assez clairement du fait que la plupart des LLM actuels sont entraînés sur une seule époque ?
    Si l’on n’entraîne que sur une époque, cela signifie qu’un simple second passage sur les données soulève déjà un risque de surapprentissage. Cela dit, cela semble quelque peu contredire les résultats de cet article [0], selon lequel les données anciennes restent aussi bonnes que les nouvelles jusqu’à au moins 4 époques.
    [0] : https://arxiv.org/abs/2305.16264

    • Petite correction : une bonne partie des LLM publics sont entraînés au moins un peu plus d’une époque, et on fait généralement plusieurs époques sur certains sous-ensembles de données, comme Wikipedia.
    • Ils ne sont pas entraînés sur une seule époque. On fait plusieurs époques sur les données de haute qualité. L’équipe Llama de Meta a aussi montré qu’en entraînant davantage, avec plus de tokens, la perte continue de diminuer.
  • Ce n’est peut-être pas lié, mais j’ai demandé à ChatGPT d’écrire du code pour contrôler par programme, dans PowerShell, les détails des filtres de colonnes d’une feuille de calcul Excel.
    Tout ce qu’il a essayé ne marchait pas ; c’était presque bon, mais ça ne fonctionnait pas. Au final, j’ai trouvé du code C# qui corrigeait le problème, je l’ai collé dans ChatGPT et, après qu’il l’a lu, je lui ai demandé de corriger le problème en PowerShell ; il a dit avoir compris la solution, a modifié le script, et ça a parfaitement fonctionné.
    Pour une raison ou une autre, ce comportement a été assez révélateur. En fournissant dans la question du matériel sur lequel il n’avait pas été entraîné, il a résolu le problème. Je comprends comment c’est possible du point de vue de l’apprentissage du langage, mais j’ai trouvé vraiment génial qu’un LLM puisse faire ce genre de chose.

    • Anecdote intéressante. Je pense qu’il existe actuellement une tendance commune, à propos des LLM, à trop se concentrer sur la recherche de connaissances dans le modèle, et à sous-estimer la partie « modèle de langage ».
      Ces systèmes parlent et expliquent si bien qu’on les anthropomorphise facilement. Ils le font tellement bien qu’on finit par considérer comme une simple brique de base ce qui est un immense accomplissement quasi magique d’ingénierie statistique. Mais cette brique est en or.
      Traduire, éditer, résumer, étendre et extrapoler du langage naturel vers du code, du texte vers de l’audio, d’une image vers une autre image, d’une langue naturelle vers une autre : c’est ce que font ces modèles. La « connaissance » intrinsèque n’est que du contexte.
      Je vois les embeddings vectoriels un peu différemment : c’est une forme de catalogage sémantique, comme la classification décimale de Dewey, qui permet la recherche. Mais faire directement dans le modèle de la récupération de données du type « qui était président des États-Unis en 1984 ? » ne m’intéresse personnellement pas beaucoup.
  • Je me demande si des LLM ont déjà été utilisés pour enrichir leurs propres données d’entraînement.
    Je me demande ce qui se passerait si l’on entraînait un LLM avec peu d’entrées, puis qu’on générait beaucoup d’entrées synthétiques pour les ajouter aux données d’entraînement. Je vois ça comme une sorte de « rêve ». Peut-être que ça ne ferait qu’ajouter du bruit, mais les LLM peuvent enrichir eux-mêmes le contexte et améliorer leur sortie en « pensant à voix haute » ; je me demande donc s’ils ne pourraient pas faire la même chose pour les données d’entraînement.

    • Oui. Une bonne partie des recherches récentes utilise les sorties de LLM comme données d’entraînement, et c’est une direction de recherche qui a eu beaucoup de succès.
    • En pratique, c’est ce que fait le RLHF. On prend comme guide un petit jeu de données sélectionné par des humains indiquant ce qui constitue une bonne ou une mauvaise sortie, puis on fait en sorte que le LLM s’auto-entraîne uniquement à partir de ses propres sorties.
    • Fait intéressant, cette conclusion est exactement à l’opposé de celle du commentaire frère, selon lequel un petit corpus sélectionné par des humains peut être plus efficace qu’un grand jeu de données synthétique.
    • Si un modèle s’entraîne sur les mêmes données que celles qu’il a générées, aucune nouvelle information n’est ajoutée au système. Il renforcera à la fois ce qu’il prédit déjà correctement et ce qu’il prédit mal, donc il n’y aura pas d’amélioration.
      En revanche, il est courant de générer des données d’entraînement synthétiques avec un grand modèle pour entraîner un autre modèle plus petit. On peut ainsi transférer les connaissances d’un modèle vers un autre.
    • On peut trouver la réponse en l’essayant soi-même : générer des données aléatoires selon un certain modèle, ajuster une régression linéaire ou une autre distribution, puis tirer des échantillons de cette distribution et les ajouter à l’ensemble d’entraînement.
  • Je trouve que le titre prête à confusion.
    Dans le contexte de l’apprentissage, apprendre à partir d’un seul exemple est souhaitable, alors que la mémorisation ne l’est pas, non ? Le premier est l’objectif que l’on vise pour se rapprocher de la façon dont les animaux apprennent, tandis que la seconde est un mode de défaillance fréquent. L’article semble montrer un cas de mémorisation inexpliquée, pas d’apprentissage.

  • En entraînant un ViT depuis zéro, j’ai vu des courbes de perte similaires ; cela m’a toujours intrigué, mais j’avais de plus gros problèmes et je ne me suis pas penché dessus en profondeur.
    La différence, c’est que la perte d’entraînement augmente pendant chaque époque. Les chutes brutales entre les époques sont suffisamment importantes pour que, globalement, la perte d’entraînement baisse, et la perte de validation continue aussi de baisser. Le modèle arrive assez près de l’état de l’art, donc ça semble « normal ».
    Je n’ai jamais entraîné de réseau de neurones convolutif à cette échelle, donc je ne sais pas si on y verrait le même phénomène, mais si c’était le cas, quelqu’un l’aurait sans doute mentionné. Je me dis donc que ce type de courbe de perte étrange pourrait être propre aux modèles fondés sur les Transformers.

    • Le texte original disait que les LLM ont besoin d’une abstraction puissante ; les réseaux Transformer sont fondamentalement dans ce cas, et cela se voit clairement quand on les entraîne depuis zéro.
      Pendant longtemps, le modèle ne va quasiment nulle part et semble totalement inutile, puis, à un moment donné, après plusieurs cycles d’entraînement, quand les poids trouvent un certain minimum sur la surface d’erreur, il se met soudain à faire correctement le travail. C’est parce que le Transformer a appris une abstraction qui fonctionne sur toutes les données d’entrée du point de vue du mécanisme d’attention. Il suffit de penser à la façon dont on parcourt une phrase en la lisant. J’explique cela de mémoire à partir d’un article vu autrefois sur HN, donc ce n’est pas une explication parfaite.
    • J’ai déjà vu, dans les courbes de perte d’entraînement d’autres personnes, une perte qui monte pendant l’époque puis chute brusquement à la fin de l’époque. Je ne l’ai jamais observé moi-même, et je n’ai aucune idée de la cause.
    • Après la première époque, le temps moyen écoulé depuis la dernière utilisation d’un élément de données donné pour l’entraînement est court au début de l’époque, puis augmente au fil de celle-ci. Je m’attendrais à ce que ce temps soit positivement corrélé à la perte de l’itération en cours.
    • Si la perte augmente aussi pendant la première époque, ça paraît un peu étrange.
  • Je me demande maintenant si cela signifie qu’il serait efficace, en termes de calcul, d’apprendre ou de mémoriser à la volée des informations comme le contexte du chat en cours dans une partie des poids du modèle.
    L’encodage one-shot, que l’hippocampe fait très bien, permet de transformer une expérience en souvenir récupérable, relié à des concepts sémantiques appris auparavant. En fait, cela s’améliore entre l’enfance et l’âge adulte, à mesure que la conceptualisation sémantique des événements devient plus riche.
    Si la mémorisation d’événements par les LLM est accélérée par ce cadre sémantique profond, cela pourrait-il ouvrir une voie vers de longues fenêtres de contexte ?

    • C’est possible, mais il y a beaucoup de choses qu’on ignore. Le problème est de savoir si la mémorisation à la volée s’accompagne d’un oubli catastrophique d’autres informations, et comment contrôler ce qui est mémorisé récemment par rapport à ce qui est retenu sur le long terme.
    • Ce n’est que l’avis d’un débutant, mais l’idée me plaît. Il faudrait une copie modifiable du modèle qui soit propre à chacun, et en général c’est énorme. Il faut aussi de la rétropropagation, donc un peu plus de calcul.
      Avec un modèle local plus petit que GPT-3.5/4, cela pourrait être possible. Il faudrait aussi décider ce qui doit rester en mémoire à long terme et ce qui doit rester en mémoire à court terme.
  • Si c’est vrai, cela étaye l’idée que des jeux de données sélectionnés par des humains, bien plus petits que les jeux de données synthétiques générés par des LLM, ont une valeur bien supérieure.

    • C’est le camp qui dispose du plus d’information qui gagne. Quand l’information a une structure, on peut largement l’exploiter pour générer des données synthétiques.
      On peut citer Apple Sim comme exemple. C’est un dépôt de modèles 3D d’intérieurs : en contrôlant le moteur de rendu, on peut générer plusieurs niveaux d’information, puis les utiliser sur de vraies photos. Comme cette approche est employée dans l’image de manière générale, l’espace vectoriel est assez naturel pour les embeddings. Dit de façon algébrique, il n’est pas nécessaire d’ajouter beaucoup de structure.
      Si le domaine a une forte nature algébrique, on peut aussi générer arbitrairement de bons exemples, et je recommanderais ce type de situation à tout le monde.
    • Google est arrivé à cette conclusion il y a environ deux ans, mais n’a pas encore montré de résultats vraiment probants. Le mot clé ci-dessus est sélectionnés.
    • Il doit exister une forme de métrique de valeur qui équilibre quantité et qualité, et à une époque comme la nôtre, où l’on comprend moyennement le fonctionnement de la technologie, on devrait pouvoir l’exploiter. Autrement dit, il y a un gain potentiel à tirer des données synthétiques.
      Cela dit, je pense qu’un jour le principe selon lequel il n’y a pas de repas gratuit finira par s’appliquer, et les données synthétiques ne se préoccupent pas toujours du processus de génération des données pour les valeurs aberrantes.
    • Difficile d’être d’accord. Je dirais plutôt que l’IA de l’époque d’ULMFiT a enfin mis fin au besoin de données sélectionnées par des humains.
      ChatGPT 4 est déjà utilisé comme modèle oracle pour entraîner des modèles d’IA courants. Un modèle oracle véritablement gigantesque rendra l’essentiel superflu, à l’exception d’une très petite part d’intervention humaine.
    • Pourquoi ne pouvons-nous que théoriser tout cela ? Pourquoi ne pouvons-nous pas savoir comment et pourquoi ces choses fonctionnent ?