L’innovation mémoire de GPT-4o – une aiguille dans une pile d’aiguilles
(nian.llmonpy.ai)- needle-in-a-needlestack est une page publique qui rassemble au même endroit des articles d’expérimentation et du code liés à GPT-4o, Llama, Jamba, Sonnet et Gemini
- Le dépôt de code du projet est également fourni, ce qui permet de consulter directement les ressources des expériences Needle in a Needlestack
- Les articles par modèle comparent les résultats de Llama 3.1 8B, Jamba 1.5 et d’autres, en se concentrant sur les différences de traitement de longs contextes et de scalabilité
- GPT-4o-mini est présenté comme un cas comparable à GPT-4 Turbo tout en étant 98,5 % moins cher, tandis que Sonnet 3.5 est présenté comme meilleur que Sonnet 3.0 sur NIAN
- La page elle-même est open source, et il est possible de contribuer à la modification de la documentation via le lien « Improve this page » sur GitHub
Liens liés à Needle in a Needlestack
- Needle in a Needlestack Code : dépôt de code Needle in a Needlestack
- GPT-4o’s Memory Breakthrough! : article sur l’innovation mémoire de GPT-4o
- GPT4o-mini comparable to GPT-4 Turbo, for 98.5% lower price : article indiquant que GPT-4o-mini est comparable à GPT-4 Turbo, tout en étant 98,5 % moins cher
Articles comparatifs par modèle
- Llama 3.1 8B: Excels in 8K Contexts, Challenged by Expansion : contenu indiquant que Llama 3.1 8B est performant sur les contextes 8K, mais rencontre des difficultés lors de l’expansion
- Jamba 1.5: New model with new architecture crushes Needle-in-a-Needlestack : contenu indiquant que Jamba 1.5, avec sa nouvelle architecture, surpasse largement Needle-in-a-Needlestack
- Sonnet 3.5 Does Much Better at NIAN Than 3.0 : contenu indiquant que Sonnet 3.5 est nettement meilleur que Sonnet 3.0 sur NIAN
- Gemini 1.5 Flash Outperforms Much More Expensive Models : contenu indiquant que Gemini 1.5 Flash surpasse des modèles beaucoup plus coûteux
Documentation open source
- Ce site est open source
- Le lien Improve this page permet de modifier la page sur GitHub
2 commentaires
Les avancées technologiques sont vraiment incroyables.. T_T
Avis de Hacker News
Ce test repose sur le jeu de données de limericks publié en 2021 : https://zenodo.org/records/5722527
Je pense qu’il est très probable que GPT-4o ait été entraîné sur ces données. Il n’y aurait pas vraiment de raison de ne pas les inclure. Je me demande pourquoi l’équipe NIAN ne génère pas des limericks avec plusieurs modèles, puis ne vérifie pas que les résultats ne figurent pas dans le jeu de données. Cela permettrait d’exclure la possibilité que les modèles aient été entraînés sur ces limericks
J’ai comparé deux petits documents juridiques, et il a complètement halluciné en affirmant qu’une clause figurait dans l’un mais pas dans l’autre. Il l’a fait à trois endroits différents du contrat
En vérifiant avec
ctrl-f, elle figurait bien à l’identique dans les deux. Ce n’est qu’un échantillon, mais le chiffre de 90 % ne me semble pas crédible. L’ensemble faisait environ 80 000 tokensJe ne m’attendais pas à une bonne réponse, car je pense que c’est une tâche difficile avec un nombre fixe de têtes d’attention, mais il m’a semblé bien pire que Claude Opus ou GPT-4
Les LLM s’en sortent mieux pour cette tâche si l’on découpe les deux documents en sections plus petites et qu’on les traite section par section de façon répétée. Ils n’ont ni capacité de raisonnement ni mémoire leur permettant d’analyser structurellement deux gros blocs de texte au-delà de fragments relativement petits. En revanche, si on les parcourt progressivement sous forme de petits morceaux sémantiquement indépendants et pertinents, cela fonctionne plutôt bien
C’est une erreur de les considérer comme des machines magiques. Ils ont des limites et des capacités, et comme pour tout autre outil, il faut comprendre ce qui marche, ce qui ne marche pas, et idéalement pourquoi. Pour 99,9 % des développeurs, cela reste une avancée assez nouvelle ; je ne comprends pas pourquoi les attentes sont pratiquement infinies. Avec les technologies précédentes, le critère était plus raisonnable : « bon, trouvons comment bien l’utiliser ». Peut-être est-ce parce qu’ils parlent comme des humains et semblent donc posséder des capacités qu’ils n’ont pas, ou parce qu’ils ressemblent trop à des humains, au point qu’on leur reproche de ne pas en être. Il y a à la fois de l’emballement et de la sous-estimation. Même XML a connu un cycle de hype similaire, où l’on aurait presque cru qu’il allait mettre fin à la faim dans le monde
Needle-in-a-needlestack consiste à retrouver une donnée précise parmi des données similaires, contrairement à needle-in-a-haystack, qui consiste à chercher parmi des éléments différents. Par exemple, retrouver un limerick particulier parmi des milliers de limericks
Le test needle-in-a-haystack ne montre que de manière très limitée la capacité réelle d’un modèle à gérer de longs contextes. Il est surtout utilisé parce que les premiers modèles étaient très mauvais sur cette tâche et qu’elle est facile à tester
En réalité, la plupart des modèles récents s’en sortent plutôt bien sur cette tâche isolée, mais leur capacité à effectuer des tâches complexes au-delà de 32K tokens chute fortement. RULER est un bien meilleur test : https://github.com/hsiehjackson/RULER
J’aimerais aussi voir ça avec Gemini Pro 1.5. La semaine dernière, j’ai essayé d’y mettre Moby Dick en entier, et une autre fois tous les livres publiés par Byung Chul-Han ; dans les deux cas, il a retrouvé à chaque fois, mot pour mot, les passages qui mentionnaient ma question ou y répondaient, sans hallucination.
Voir BooookScore (https://openreview.net/forum?id=7Ttk3RzDeu), présenté à l’ICLR la semaine dernière, et le preprint récent FABLES (https://arxiv.org/abs/2404.01261).
J’ai aussi vu quelqu’un analyser un énorme fichier de logs, mais pour identifier le moment où le modèle commence à rater quelque chose, il faut vraiment un test de type needle-in-a-needlestack comme celui-ci. À tout le moins, les développeurs de modèles peuvent s’en servir pour analyser les modèles proposés.
Quelqu’un devrait créer un test de « synthèse dans la meule de foin » qui évalue non seulement la recherche, mais aussi la profondeur de compréhension, les connexions et l’abstraction entre différents éléments d’information.
Quand une personne lit un livre, elle développe une « intuition globale » de ce livre. Il nous faut un moyen de quantifier cela. Les tests needle-in-haystack me semblent trop simples et ne vont pas assez loin.
S’il comprend le contexte, il devrait être capable d’écrire une nouvelle partie de l’histoire et d’utiliser les motivations des personnages, telles qu’un lecteur les perçoit intuitivement, pour développer leur arc narratif. Mais pour que ce soit utile, il faudrait garder l’ensemble strictement privé, donc cela ne pourrait presque servir que de benchmark privé. Ou alors en faire une sorte de prix prestigieux, jugé sur la crédibilité même de ses conclusions plutôt que sur une méthodologie publiée pour faire progresser le domaine.
GPT-4o n’arrive toujours pas à traiter l’intersection de deux idées différentes absentes du jeu d’entraînement. Il n’arrive même pas à produire des variations aléatoires sur l’intersection de deux idées différentes. Plus largement, il ne faut pas s’attendre à ce que le modèle fasse ce genre de choses. Ce n’est pas juste envers les modèles, leur utilité réelle et les choses étonnantes qu’ils accomplissent sans compréhension. Croire que le modèle comprend, c’est se tromper soi-même.
On peut maintenant utiliser GPT pour transformer à la volée des données dynamiques brutes en belles mises en page HTML. Pour des pages peu consultées comme des journaux de changements ou des journaux d’audit, cela peut réduire fortement le temps de développement et maintenir le HTML à jour même quand la structure des données change.
Les tentatives précédentes ne fonctionnaient pas de façon cohérente, car GPT-4-Turbo ignorait parfois presque entièrement le contexte et les consignes.
Cet article montre à quel point la capacité de GPT-4o à prêter attention à toute la fenêtre d’entrée s’est améliorée par rapport à GPT-4 Turbo et Claude-3 Sonnet.
Il fallait depuis un moment une évolution du test needle-in-a-haystack, et ce « Needle In A Needlestack » est une bonne étape suivante. NIAN crée un prompt contenant des milliers de limericks, puis pose une question sur un limerick situé à une position précise.
C’était d’autant plus frustrant que tout le reste était correct et que j’aimais bien son ton. J’ai essayé 4o hier soir, et il reconnaissait encore parfaitement une classe C++ que j’avais collée 20 questions plus tôt. Je me moque de savoir s’il est intelligent ; ce qui compte, c’est qu’il soit utile, et ça contribue énormément à son utilité.
Je suis de plus en plus convaincu que presque personne sur l’Internet public ne sait faire une évaluation sérieuse des LLM.
Pour que ce test ait du sens, il faut savoir que les données du jeu de test ne figuraient pas dans les données d’entraînement.
Ça fait plaisir à entendre. Le plus gros problème avec GPT-4.0 était la baisse de qualité à mesure que la conversation s’allongeait, ce qui comptait particulièrement pour les projets de code.
Je me demande si cela s’est amélioré. Je vais le tester aujourd’hui.