Novo método permite que chatbots mantenham conversas contínuas sem falhas

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 2, 2024, 6:44 pm

Quando uma conversa entre humanos e IA envolve vários rounds de diálogo contínuo, os poderosos modelos 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 de 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.

Seu método envolve um ajuste ao cache chave-valor (que é como uma memória de conversação) no centro de muitos grandes modelos de linguagem. 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 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 se estende por mais de 4 milhões de palavras. Ao ser comparado a outro método que evita falhas ao recomputar constantemente parte das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

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

“Agora, com este 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.

Os co-autores de Xiao incluem seu orientador, Song Han, professor associado na EECS, membro do laboratório MIT-IBM Watson IA e cientista distinto da NVIDIA; Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; o autor sênior Mike Lewis, cientista pesquisador da Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

Grande parte dos modelos de linguagem codifica dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos empregam um mecanismo de atenção que utiliza esses tokens para gerar novo texto.

Normalmente, um chatbot escreve novo texto com base no texto que acabou de ver e armazena os tokens recentes em uma memória chamada cache KV para uso posterior. O mecanismo de atenção constrói uma grade que inclui todos os tokens no cache – um “mapa de atenção” que mapeia quão fortemente cada token ou palavra está relacionado a cada outro token.

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

Mas quando o cache fica muito grande, o mapa de atenção pode se tornar ainda maior, o que desacelera a computação.

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

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

Neste novo artigo, os pesquisadores perceberam que manter o primeiro token no cache deslizante permite que o modelo mantenha seu desempenho mesmo quando o tamanho do cache é excedido.

Mas isso não

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize