Como evitar que chatbots entrem em colapso durante conversas longas

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 10, 2024, 11:16 pm

Quando uma conversa entre um humano e uma IA envolve muitas rodadas de diálogo contínuo, os poderosos modelos de aprendizado de máquina em larga escala que impulsionam os chatbots, como o ChatGPT, às vezes começam a colapsar, fazendo com que o desempenho dos bots se deteriore rapidamente.

No entanto, 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 desacelerar.

Essa solução envolve um ajuste no cache chave-valor (que é como uma memória da conversa) no núcleo de muitos modelos de linguagem em grande escala. Em alguns métodos, quando esse cache precisa armazenar mais informações do que tem capacidade para, as primeiras informações são excluídas. Isso pode fazer com que o modelo falhe.

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

Esse método, chamado StreamingLLM, permite que um modelo permaneça eficiente mesmo quando uma conversa ultrapassa 4 milhões de palavras. Em comparação com outro método que evita travamentos ao recomputar constantemente parte das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

Isso pode permitir que um chatbot conduza longas conversas ao longo do dia útil sem precisar reiniciar continuamente, possibilitando assistentes de IA eficientes para tarefas como redação, edição ou geração de código.

“Agora, com este método, podemos implantar persistentemente esses grandes modelos de linguagem. Ao criar um chatbot com o qual sempre podemos conversar e que pode sempre 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.

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

Um fenômeno intrigante

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

Normalmente, um chatbot escreve novo texto com base no texto que acabou de ver. Portanto, ele armazena os tokens recentes em sua memória cache chave-valor 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 demonstra o quão relacionado cada token ou palavra é a outros tokens.

Compreender essas relações é uma característica que permite que grandes modelos de linguagem gerem texto semelhante ao humano.

No entanto, quando a memória cache fica muito grande, o mapa de atenção pode se tornar ainda mais imenso, o que diminui a velocidade de computação.

Além disso, se a codificação do conteúdo exigir mais tokens do que a memória cache pode armazenar, o desempenho do modelo é afetado. Por exemplo, um modelo popular pode armazenar 4.096 tokens, mas há cerca de 10.000 tokens em um artigo acadêmico.

Para contornar esses problemas, os pesquisadores usam um “cache deslizante” que substitui os tokens mais antigos por novos. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é removido e isso reduz rapidamente a qualidade das palavras recém-geradas.

Neste novo trabalho, os pesquisadores perceberam que se eles mantiverem o primeiro token no cache deslizante, o modelo manterá seu

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize