Published on maio 14, 2024, 7:16 am
Quando uma conversa entre um humano e uma IA envolve várias rodadas de diálogo contínuo, os poderosos modelos de aprendizado de máquina em grande escala que impulsionam os chatbots, como o ChatGPT, às vezes começam a falhar, causando uma rápida deterioração no desempenho dos bots.
No entanto, pesquisadores do MIT e de outras instituições descobriram a causa surpreendente desse problema e desenvolveram uma solução simples que permite que um chatbot mantenha uma conversa ininterrupta sem travar ou ficar mais lento.
A solução encontrada pela equipe envolve um ajuste no cache chave-valor (que funciona como uma memória de conversação) presente nos principais modelos de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que possui capacidade, as primeiras informações inseridas são descartadas. Isso pode fazer com que o modelo falhe.
Garantindo que esses primeiros dados permaneçam na memória, o método desenvolvido pelos pesquisadores permite que o chatbot continue conversando independentemente da duração da conversa.
Chamado de StreamingLLM, esse método permite que o modelo permaneça eficiente mesmo quando a conversa se estende por mais de 4 milhões de palavras. Em comparação com outro método que evita falhas ao recomputar constantemente parte das conversas anteriores, o StreamingLLM teve um desempenho mais de 22 vezes superior.
Isso pode permitir que um chatbot conduza longas conversas ao longo do dia de trabalho sem precisar ser reiniciado constantemente, possibilitando assistentes virtuais eficientes para tarefas como redação, edição ou geração de código.
Com essa nova abordagem, os grandes modelos de linguagem agora podem ser implantados persistentemente. Ter um chatbot com o qual podemos sempre conversar e que possa sempre responder com base em nossas conversas recentes abre portas para novas aplicações, segundo Guangxuan Xiao, estudante de pós-graduação em engenharia elétrica e ciência da computação do MIT e autor principal do estudo sobre o StreamingLLM.
Os coautores de Xiao incluem seu orientador Song Han, professor associado na EECS (Engenharia Elétrica e Ciência da Computação), membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente na Carnegie Mellon University; além de Mike Lewis, cientista pesquisador da Meta AI. O trabalho será apresentado na Conferência Internacional de Representações de Aprendizado.
Um fenômeno intrigante
Modelos grandes de linguagem codificam dados, como palavras em uma consulta feita pelo usuário, em representações chamadas tokens. Muitos modelos usam um mecanismo conhecido como atenção para gerar novo texto com base nesses tokens.
Geralmente, um chatbot produz novo texto com base no texto que acabou de ver, armazenando os tokens recentes em uma memória chamada cache chave-valor para uso posterior. O mecanismo de atenção cria uma grade que inclui todos os tokens no cache – um “mapa de atenção” que mostra o quanto cada token está relacionado a todos os outros tokens.
Entender essas relações é uma característica que permite que os grandes modelos de linguagem gerem textos semelhantes ao texto humano.
Porém, quando o cache se torna muito grande, o mapa de atenção pode se tornar ainda maior, o que reduz a velocidade de processamento.
Além disso, se a codificação do conteúdo requer mais tokens do que o cache pode armazenar, o desempenho do modelo diminui. Por exemplo, um modelo popular pode armazenar 4.096 tokens, mas um artigo acadêmico tem cerca de 10.000 tokens.
Para contornar esses problemas, os pesquisadores utilizam um “cache deslizante” que descarta os tokens mais antigos para adicionar os novos tokens. No entanto, frequentemente o desempenho do modelo cai assim que o primeiro token é removido e as palavras geradas têm qualidade rapidamente reduzida.
No novo estudo, os pesquisadores perceberam que manter o primeiro token no cache deslizante mantém o desempenho do modelo mesmo quando o tamanho do