Memória aprimorada impede queda no desempenho de chatbots em conversas longas

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 10, 2024, 11:15 pm

Quando uma conversa entre humanos e IA envolve várias rodadas de diálogo contínuo, os modelos poderosos de aprendizado de máquina em linguagem natural que impulsionam os chatbots, como o ChatGPT, às vezes começam a falhar, fazendo com que o desempenho dos bots se deteriore rapidamente.

Uma equipe de pesquisadores do MIT e outros lugares identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa ininterrupta sem travar ou ficar mais lento.

Seu método envolve um ajuste na memória chave-valor (que é como uma memória de conversação) no núcleo de muitos modelos grandes de linguagem. Em alguns métodos, quando essa memória precisa armazenar mais informações do que tem capacidade para, as primeiras peças de dados são removidas. Isso pode fazer com que o modelo falhe.

Garantindo que esses primeiros pontos de dados permaneçam na memória, o método dos pesquisadores permite que um chatbot continue conversando independentemente da duração da conversa.

O método chamado StreamingLLM permite que um modelo permaneça eficiente mesmo quando uma conversa ultrapassa 4 milhões de palavras. Comparado a outro método que evita travamentos recomputando constantemente partes das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

Isso poderia permitir que um chatbot conduzisse longas conversas ao longo do dia útil sem precisar ser reiniciado continuamente, possibilitando assistentes de IA eficientes para tarefas como redação publicitária, edição ou geração de código.

“Agora, com esse método, podemos implantar persistentemente esses grandes modelos de linguagem. Criando um chatbot com o qual sempre podemos conversar, e que sempre pode nos responder com base em nossas conversas recentes, poderíamos usar esses chatbots em novas aplicações”, diz Guangxuan Xiao, estudante de pós-graduação em engenharia elétrica e ciência da computação (EECS) e autor principal de um artigo sobre o StreamingLLM.

Entre os coautores de Xiao estão seu orientador Song Han, professor associado na EECS, membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; Yuandong Tian, cientista de pesquisa no Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e o autor sênior Mike Lewis, cientista de pesquisa no Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

Os modelos grandes de linguagem codificam dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos empregam um mecanismo conhecido como mecanismo de atenção que usa esses tokens para gerar novo texto.

Normalmente, um chatbot escreve um novo texto com base no texto que acabou de ver, então ele armazena os tokens recentes na memória chamada KV Cache para uso posterior. O mecanismo de atenção cria uma grade que inclui todos os tokens na memória cache, um “mapa de atenção” que mostra a força do relacionamento entre cada token ou palavra.

Entender essas relações é uma das características que permitem que os modelos grandes de linguagem gerem textos semelhantes aos escritos por humanos.

No entanto, quando a cache fica muito grande, o mapa de atenção pode se tornar ainda maior, o que torna a computação mais lenta.

Além disso, se o conteúdo a ser codificado requer mais tokens do que a capacidade da cache, o desempenho do modelo cai. Por exemplo, um modelo popular pode armazenar 4096 tokens, mas há cerca de 10000 tokens em um artigo acadêmico.

Para contornar esses problemas, os pesquisadores utilizam uma “cache deslizante” que remove os tokens mais antigos para adicionar novos. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é removido, reduzindo rapidamente a qualidade das palavras recém-geradas.

Neste novo artigo, os pesquisadores perceberam que se mantivessem o primeiro token na cache deslizante, o modelo manteria seu desempenho mesmo quando ex

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize