Chatbots: solução para conversas contínuas sem travamentos ou desacelerações

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 14, 2024, 11:16 pm

Quando uma conversa entre um ser humano e uma IA envolve muitas rodadas 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 deteriore rapidamente.

Uma equipe de pesquisadores do MIT e de outras instituições identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa contínua sem travar ou desacelerar.

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

Ao garantir 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 funcione de maneira eficiente mesmo em conversas com mais de 4 milhões de palavras. Comparado a outro método que evita travamentos recomputando constantemente parte das conversas anteriores, o StreamingLLM apresentou um desempenho mais rápido em mais de 22 vezes.

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

“Agora, com esse método, podemos implantar persistentemente esses grandes modelos de linguagem. Ao criar um chatbot com o qual sempre possamos conversar e que sempre possa nos responder com base em nossas conversas recentes, poderíamos usar esses chatbots em novos aplicativos”, 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 da EECS, membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; Yuandong Tian, cientista pesquisador na Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, autor sênior e cientista pesquisador na Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

Os grandes modelos de linguagem codificam dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos utilizam o que é conhecido como mecanismo de atenção para usar 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 na memória chamada KV Cache para uso posterior. O mecanismo de atenção cria uma grade que inclui todos os tokens no cache – um “mapa de atenção” que mapeia o quanto cada token ou palavra se relaciona com os outros tokens.

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

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

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 existem cerca de 10.000 tokens em um artigo acadêmico.

Para contornar esses problemas, os pesquisadores utilizam um “cache deslizante” que exclui os tokens mais antigos para adicionar novos tokens. No entanto, o desempenho do modelo costuma cair 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 no cache deslizante, o modelo manteria

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize