La revolución de memoria de GPT-4o: una aguja en un pajar de agujas
(nian.llmonpy.ai)- needle-in-a-needlestack es una página pública que reúne en un solo lugar artículos y código experimental relacionados con GPT-4o, Llama, Jamba, Sonnet y Gemini
- También se ofrece el repositorio de código del proyecto, por lo que se puede revisar directamente el material experimental de Needle in a Needlestack
- Los artículos de cada modelo comparan resultados como Llama 3.1 8B y Jamba 1.5, centrándose en las diferencias de manejo de contexto largo y escalabilidad
- GPT-4o-mini se presenta como un caso similar a GPT-4 Turbo pero con un precio 98.5% menor, y Sonnet 3.5 como un caso mejor que Sonnet 3.0 en NIAN
- La página en sí es open source, por lo que se puede participar en la edición de la documentación mediante el enlace “Improve this page” en GitHub
Enlaces relacionados con Needle in a Needlestack
- Needle in a Needlestack Code: repositorio de código de Needle in a Needlestack
- GPT-4o’s Memory Breakthrough!: artículo sobre la revolución de memoria de GPT-4o
- GPT4o-mini comparable to GPT-4 Turbo, for 98.5% lower price: artículo que dice que GPT-4o-mini es comparable a GPT-4 Turbo con un precio 98.5% menor
Artículos comparativos por modelo
- Llama 3.1 8B: Excels in 8K Contexts, Challenged by Expansion: Llama 3.1 8B destaca en contextos de 8K, pero tiene dificultades al escalar
- Jamba 1.5: New model with new architecture crushes Needle-in-a-Needlestack: Jamba 1.5 supera ampliamente a Needle-in-a-Needlestack con una nueva arquitectura
- Sonnet 3.5 Does Much Better at NIAN Than 3.0: Sonnet 3.5 rinde mucho mejor que Sonnet 3.0 en NIAN
- Gemini 1.5 Flash Outperforms Much More Expensive Models: Gemini 1.5 Flash supera a modelos mucho más caros
Documentación open source
- Este sitio es open source
- Se puede editar la página en GitHub mediante el enlace Improve this page
2 comentarios
El avance tecnológico es realmente impresionante.. T_T
Opiniones de Hacker News
Esta prueba se basa en el dataset de limericks publicado en 2021: https://zenodo.org/records/5722527
Creo que es muy probable que GPT-4o haya sido entrenado con estos datos. No habría una razón particular para no incluirlos. Me pregunto por qué el equipo de NIAN no genera limericks con varios modelos y verifica que los resultados no estén en el dataset. Eso permitiría descartar la posibilidad de que los modelos hayan sido entrenados con esos limericks
Comparé dos documentos legales pequeños y alucinó por completo diciendo que había una cláusula en uno que no estaba en el otro. Lo hizo en tres secciones distintas del contrato
Al verificarlo con
ctrl-f, estaba incluida de forma idéntica en ambos. Es solo una muestra, pero una cifra de 90% no me parece plausible. En total eran unas 80 mil tokens aproximadamenteNo esperaba la respuesta correcta porque creo que es una tarea difícil con una cantidad fija de attention heads, pero me pareció mucho peor que Claude Opus o GPT-4
Los LLM hacen mejor esta tarea si se dividen los dos documentos en secciones más pequeñas y se procesan iterativamente por sección. No tienen capacidad de inferencia ni memoria para analizar estructuralmente dos bloques de texto más allá de fragmentos relativamente pequeños. En cambio, si se recorren progresivamente fragmentos pequeños que sean semánticamente independientes y relevantes, funcionan bastante bien
Es un error asumir que son máquinas mágicas. Tienen límites y capacidades y, como con cualquier otra herramienta, hay que entender qué pueden y qué no pueden hacer, y conviene saber por qué. Para el 99.9% de los desarrolladores sigue siendo un avance bastante nuevo, así que no entiendo por qué las expectativas son prácticamente infinitas. Con tecnologías anteriores, el estándar era más razonable: “bueno, veamos cómo usar esto correctamente”. Tal vez sea porque hablan como personas y eso hace que parezca que tienen capacidades que no tienen, o porque suenan demasiado humanas y se les reprocha no ser humanas. Hay exageración, pero también subestimación al mismo tiempo. Incluso XML pasó por un ciclo de entusiasmo similar en el que parecía que iba a terminar con el hambre en el mundo
needle-in-a-needlestack es, a diferencia de needle-in-a-haystack, que consiste en encontrar algo entre cosas distintas, el problema de encontrar un dato específico entre datos similares. Por ejemplo, encontrar uno entre miles de limericks
La prueba needle-in-a-haystack muestra de manera muy limitada la capacidad real de un modelo para manejar contexto largo. Se usa principalmente porque los primeros modelos hacían esta tarea pésimamente y era fácil de probar
De hecho, la mayoría de los modelos modernos son bastante buenos en esta única tarea, pero en la práctica su capacidad para hacer cosas complejas por encima de 32K tokens cae mucho. RULER es una prueba mucho mejor: https://github.com/hsiehjackson/RULER
También me gustaría ver esto con Gemini Pro 1.5. La semana pasada probé metiendo Moby Dick completo y, en otra ocasión, todos los libros publicados por Byung-Chul Han; en ambos casos encontró literalmente, cada vez, partes de las frases que mencionaban o respondían mi pregunta, y no hubo alucinaciones.
Se pueden consultar BooookScore (https://openreview.net/forum?id=7Ttk3RzDeu), presentado la semana pasada en ICLR, y el preprint reciente FABLES (https://arxiv.org/abs/2404.01261).
También vi a alguien analizar un archivo de logs enorme, pero para identificar el punto en el que el modelo empieza a omitir cosas, realmente hace falta algo como este needle-in-a-needlestack. Como mínimo, puede servirles a los desarrolladores de modelos para analizar sus modelos propuestos.
Alguien debería crear una prueba de “síntesis en el haystack” que evalúe no solo la búsqueda, sino la profundidad de comprensión, las conexiones y la abstracción entre distintos datos.
Cuando una persona lee un libro, desarrolla una “intuición general” sobre él. Necesitamos una forma de cuantificar eso. Siento que la prueba needle-in-haystack es demasiado simple y no llega lo suficientemente lejos.
Si entiende el contexto, debería poder escribir una nueva parte de la historia y usar las motivaciones de los personajes que el lector percibe intuitivamente para desarrollar sus arcos. Pero, para que sea útil, habría que mantener todo estrictamente privado, así que solo serviría casi como benchmark privado. O bien podría convertirse en una especie de premio prestigioso, evaluado por la credibilidad de sus conclusiones, en vez de publicar la metodología para mejorar el campo.
GPT-4o todavía no puede manejar la intersección de dos ideas distintas que no estén en el conjunto de entrenamiento. Ni siquiera puede crear variaciones aleatorias sobre la intersección de dos ideas distintas. Más aún, no deberíamos esperar que el modelo haga eso. No es justo con el modelo, con su utilidad real ni con las cosas sorprendentes que logra sin comprensión. Creer que el modelo entiende es engañarse a uno mismo.
Ahora se puede usar GPT para convertir datos dinámicos sin procesar en layouts HTML atractivos al vuelo. En páginas de bajo tráfico, como registros de cambios o logs de auditoría, puede reducir mucho el tiempo de desarrollo y mantener el HTML actualizado aunque cambie la estructura de los datos.
Los intentos anteriores no funcionaban de forma consistente porque GPT-4-Turbo a veces ignoraba casi por completo el contexto y las instrucciones.
Este artículo muestra cuánto mejoró la capacidad de GPT-4o para prestar atención a toda la ventana de entrada frente a GPT-4 Turbo y Claude-3 Sonnet.
Hacía falta desde hace tiempo una mejora de needle-in-a-haystack, y este “Needle In A Needlestack” es un buen siguiente paso. NIAN crea un prompt con miles de limericks y hace preguntas sobre el limerick ubicado en una posición específica.
Era más frustrante porque en todo lo demás estaba bien y me gustaba su tono. Anoche probé 4o y todavía reconocía perfectamente una clase de C++ que había pegado 20 preguntas antes. No me importa si es inteligente; me importa si es útil, y esto aporta muchísimo a la utilidad.
Cada vez estoy más convencido de que en el internet público parece no haber nadie que sepa hacer una evaluación decente de LLMs.
Para que esta prueba tenga sentido, habría que saber que los datos del conjunto de prueba no estaban incluidos en los datos de entrenamiento.
Suena bien. El mayor problema de GPT-4.0 era que la calidad caía a medida que la conversación se alargaba, y eso era especialmente importante en proyectos de programación.
Me pregunto si ahora habrá mejorado. Lo voy a probar hoy.