Inovação de memória do GPT-4o – agulha no palheiro de agulhas
(nian.llmonpy.ai)- needle-in-a-needlestack é uma página pública que reúne em um só lugar textos e códigos de experimentos relacionados a GPT-4o, Llama, Jamba, Sonnet e Gemini
- O projeto vem acompanhado de um repositório de código, permitindo conferir diretamente os materiais do experimento Needle in a Needlestack
- Os textos por modelo comparam resultados como os do Llama 3.1 8B e do Jamba 1.5, com foco em processamento de contexto longo e diferenças de escalabilidade
- GPT-4o-mini é apresentado como um caso comparável ao GPT-4 Turbo, mas com preço 98,5% menor; o Sonnet 3.5 é apresentado como um caso melhor que o Sonnet 3.0 no NIAN
- A própria página é open source, e é possível participar da edição da documentação pelo link “Improve this page” no GitHub
Links relacionados ao Needle in a Needlestack
- Needle in a Needlestack Code: repositório de código do Needle in a Needlestack
- GPT-4o’s Memory Breakthrough!: texto sobre a inovação de memória do GPT-4o
- GPT4o-mini comparable to GPT-4 Turbo, for 98.5% lower price: texto afirmando que o GPT-4o-mini é comparável ao GPT-4 Turbo, mas com preço 98,5% menor
Textos comparativos por modelo
- Llama 3.1 8B: Excels in 8K Contexts, Challenged by Expansion: conteúdo sobre o Llama 3.1 8B ser forte em contextos de 8K, mas enfrentar dificuldades de expansão
- Jamba 1.5: New model with new architecture crushes Needle-in-a-Needlestack: conteúdo sobre o Jamba 1.5, com nova arquitetura, superar amplamente o Needle-in-a-Needlestack
- Sonnet 3.5 Does Much Better at NIAN Than 3.0: conteúdo sobre o Sonnet 3.5 ser muito melhor que o Sonnet 3.0 no NIAN
- Gemini 1.5 Flash Outperforms Much More Expensive Models: conteúdo sobre o Gemini 1.5 Flash superar modelos muito mais caros
Documentação open source
- Este site é open source
- Pelo link Improve this page, é possível editar a página no GitHub
2 comentários
Os avanços tecnológicos são realmente impressionantes... T_T
Comentários do Hacker News
Este teste foi baseado no dataset de limeriques publicado em 2021: https://zenodo.org/records/5722527
Acho muito provável que o GPT-4o tenha sido treinado com esses dados. Não haveria motivo para não incluí-los. Fico me perguntando por que a equipe do NIAN não gera limeriques com vários modelos e verifica se os resultados não estão no dataset. Assim daria para descartar a possibilidade de os modelos terem sido treinados com esses limeriques
Comparei dois pequenos documentos jurídicos, e ele alucinou completamente que havia uma cláusula em um e ausente no outro. Fez isso em três trechos diferentes dos contratos
Verifiquei com
ctrl-fe ela estava presente igualmente nos dois lados. É só uma amostra, mas esse número de 90% não parece muito plausível. No total, eram cerca de 80 mil tokensEu não esperava uma resposta correta, porque me parece uma tarefa difícil com um número fixo de attention heads, mas mesmo assim pareceu muito pior que Claude Opus ou GPT-4
LLMs fazem esse trabalho melhor se você dividir os dois documentos em trechos menores e processá-los repetidamente por trecho. Eles não têm capacidade de raciocínio ou memória para analisar estruturalmente dois blocos de texto além de pedaços relativamente pequenos. Em compensação, funcionam muito bem quando você vai percorrendo progressivamente pequenos trechos semanticamente independentes e relevantes
É um erro presumir que são máquinas mágicas. Elas têm limites e capacidades, e como qualquer outra ferramenta, é preciso entender o que conseguem e o que não conseguem fazer, e de preferência por quê. Isso ainda é um avanço bastante novo para 99,9% dos desenvolvedores, mas não entendo por que as expectativas continuam praticamente infinitas. Tecnologias anteriores costumavam receber um padrão mais razoável do tipo “ok, vamos descobrir como usar isso direito”. Talvez seja porque falam como gente e acabam parecendo ter capacidades que não têm, ou porque soam parecidas demais com humanos e então são criticadas por não serem humanas. Há exagero e subestimação ao mesmo tempo. Até XML passou por um ciclo parecido de hype, em que parecia que ia acabar com a fome no mundo
needle-in-a-needlestack, ao contrário de needle-in-a-haystack, trata de encontrar um dado específico em meio a dados parecidos entre si. Por exemplo, encontrar um entre milhares de limeriques
O teste needle-in-a-haystack mostra de forma muito limitada a real capacidade do modelo de lidar com contexto longo. Ele foi usado principalmente porque os primeiros modelos eram péssimos nessa tarefa e era fácil de testar
Na prática, a maioria dos modelos mais recentes vai bastante bem nessa tarefa específica, mas a capacidade de fazer coisas complexas de verdade além de 32K tokens cai bastante. O RULER é um teste muito melhor: https://github.com/hsiehjackson/RULER
Também queria ver isso com o Gemini Pro 1.5. Na semana passada tentei colocar Moby Dick inteiro e, em outra ocasião, todos os livros publicados por Byung Chul-Han; em ambos os casos, ele sempre encontrou literalmente trechos que mencionavam ou respondiam à minha pergunta, sem alucinações
Dá para consultar o BooookScore apresentado na ICLR na semana passada (https://openreview.net/forum?id=7Ttk3RzDeu) e o preprint recente FABLES (https://arxiv.org/abs/2404.01261)
Também vi alguém analisando um arquivo de log gigantesco, mas para identificar o ponto em que o modelo começa a deixar passar coisas, algo como esse needle-in-a-needlestack é realmente necessário. Pelo menos os desenvolvedores do modelo podem usar isso para analisar modelos candidatos
Alguém deveria criar um teste de “síntese no haystack” que avalie não só busca, mas também profundidade de compreensão, conexão e abstração entre várias informações
Quando uma pessoa lê um livro, ela forma uma “intuição geral” sobre ele. Precisamos de uma forma de quantificar isso. Testes de needle-in-a-haystack parecem simples demais e dão a sensação de que não vão longe o suficiente
Se ele entende o contexto, deveria conseguir escrever a nova parte da história e desenvolver os arcos dos personagens usando motivações que o leitor percebe intuitivamente. Mas, para isso ser útil, seria preciso manter tudo rigorosamente privado, então isso só serviria mais como benchmark privado. Ou talvez pudesse virar um prêmio de prestígio, avaliado pela confiabilidade das conclusões em si, em vez de pela divulgação da metodologia para melhorar a área
O GPT-4o ainda não consegue lidar com a interseção entre duas ideias diferentes que não estejam no conjunto de treino. Nem sequer consegue criar variações aleatórias sobre a interseção entre duas ideias diferentes. Indo além, nem deveríamos esperar que o modelo faça esse tipo de coisa. Isso não faz justiça ao modelo, à utilidade real dele e às coisas surpreendentes que ele consegue fazer sem compreensão. Acreditar que o modelo entende é enganar a si mesmo
Agora dá para usar GPT para transformar dados dinâmicos brutos em um layout HTML bonito na hora. Isso pode economizar bastante tempo de desenvolvimento em páginas como changelogs ou logs de auditoria com pouco tráfego, além de manter o HTML atualizado mesmo quando a estrutura dos dados muda
Nas tentativas anteriores, o GPT-4-Turbo às vezes ignorava quase completamente o contexto e as instruções, então não funcionava de forma consistente
Este post mostra o quanto a capacidade do GPT-4o de prestar atenção ao contexto em toda a janela de entrada melhorou em relação ao GPT-4 Turbo e Claude-3 Sonnet
Já fazia tempo que needle-in-a-haystack precisava de uma evolução, e este “Needle In A Needlestack” é um bom próximo passo. O NIAN cria um prompt contendo milhares de limeriques e faz perguntas sobre um limerique em uma posição específica
Em todo o resto era ok, e eu até gostava da vibe, o que tornava isso ainda mais frustrante. Ontem à noite testei o 4o e ele ainda reconhecia perfeitamente uma classe C++ que eu tinha colado 20 perguntas antes. Não me importa se é inteligente; importa se é útil, e isso contribui muito para a utilidade
Estou cada vez mais convencido de que ninguém na internet pública sabe fazer uma avaliação de LLM de verdade
Para esse teste ter significado, precisamos saber que os dados do conjunto de teste não estão incluídos nos dados de treino
Parece ótimo. O maior problema do GPT-4.0 era a queda de qualidade conforme a conversa ficava longa, e isso era especialmente importante em projetos de programação
Agora quero saber se isso melhorou. Vou testar hoje