Chatbots contínuos: resolvendo o problema da deterioração do desempenho

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 humano-IA envolve várias rodadas de diálogo contínuo, os poderosos modelos de aprendizado de máquina baseados em linguagem, que impulsionam chatbots como ChatGPT, às vezes começam a falhar, causando um rápido deterioramento no desempenho dos bots.

Uma equipe de pesquisadores do MIT e de outros lugares descobriu uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa sem interrupções, sem travar ou desacelerar.

O método utilizado pelos pesquisadores envolve uma modificação no cache chave-valor (que funciona como uma memória da conversa) presente nos principais modelos de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que pode suportar, as primeiras informações são eliminadas. 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 a conversar independentemente do tempo que a conversa dure.

O método, chamado StreamingLLM, permite que um modelo seja eficiente mesmo quando uma conversa ultrapassa 4 milhões de palavras. Comparado com outro método que evita falhas ao recomputar constantemente parte das conversas anteriores, o StreamingLLM apresentou um desempenho mais de 22 vezes superior.

Isso poderia permitir que um chatbot conduza longas conversas ao longo do dia útil sem precisar reiniciar constantemente, possibilitando assistentes virtuais 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. Ao criar um chatbot com o qual possamos sempre conversar e que possa sempre nos responder com base nas 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 e autor principal do artigo sobre o StreamingLLM.

Os coautores de Xiao incluem seu orientador, Song Han, professor associado de engenharia elétrica e ciência da computação (EECS), membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; bem como Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, autor sênior do artigo e cientista pesquisador da Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

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

Normalmente, um chatbot IA escreve novo texto com base no texto que acabou de ver. Por isso ele armazena os tokens recentes na memória, chamada cache KV (chave-valor), para uso posterior. O mecanismo de atenção cria uma matriz que inclui todos os tokens no cache: um “mapa de atenção” que mostra quão relacionado cada token ou palavra é a outras palavras.

Entender essas relações é uma das características que permitem que os modelos de linguagem gerem texto semelhante ao humano.

No entanto, quando o cache fica muito grande, o mapa de atenção também pode se tornar enorme, 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 diminui. Por exemplo, um modelo popular pode armazenar 4.096 tokens, enquanto há cerca de 10.000 tokens em um artigo acadêmico.

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

Nesse novo artigo, os pesquisadores perceberam que manter o primeiro token no cache deslizante permite que o modelo mantenha

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize