Chatbots contínuos: os pesquisadores do MIT desenvolvem método para evitar falhas em conversas longas

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 11, 2024, 5:15 pm

Quando uma conversa humano-IA envolve muitas rodadas de diálogo contínuo, os poderosos modelos de aprendizado de máquina em linguagem natural que impulsionam chatbots como o ChatGPT, às vezes, começam a apresentar falhas, levando a uma rápida deterioração no desempenho dos bots.

No entanto, 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 sem interrupções, sem travamentos ou redução na velocidade.

O método criado pelos pesquisadores envolve um ajuste à memória cache chave-valor (que é como uma memória de conversação) presente nos modelos de linguagem natural. Em alguns métodos, quando essa memória precisa armazenar mais informações do que suporta, os primeiros dados são eliminados. Isso pode causar falhas no modelo.

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

Denominado StreamingLLM, esse método permite que o modelo seja eficiente mesmo em conversas com 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 significa que um chatbot pode conduzir longas conversas ao longo do dia de trabalho sem precisar ser reiniciado constantemente, permitindo assistentes de IA eficientes para tarefas como redação, edição ou geração de código.

“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 responder com base em conversas recentes, poderíamos usá-los em novas aplicações”, diz Guangxuan Xiao, estudante de pós-graduação em engenharia elétrica e ciência da computação do MIT e autor principal do artigo sobre o StreamingLLM.

Os coautores de Xiao incluem seu orientador Song Han, professor associado na EECS (Engenharia Elétrica e Ciência da Computação), membro do Laboratório de IA MIT-IBM Watson e pesquisador distinto da NVIDIA; Yuandong Tian, cientista de pesquisa na Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, pesquisador na Meta AI.

Esse 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 utilizam um mecanismo conhecido como atenção para gerar novo texto com base nesses tokens.

Normalmente, um chatbot gera novo texto usando textos que acabou de ler. Assim, ele armazena os tokens recentes em uma memória chamada cache-chave valor para usar posteriormente. O mecanismo de atenção cria uma grade que contém todos os tokens no cache – um “mapa de atenção” que mostra quão fortemente cada token ou palavra está relacionada a cada outro token.

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

Porém, quando o cache fica muito grande, o mapa de atenção pode se tornar ainda maior, causando uma desaceleração no processamento.

Além disso, se a codificação 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 há cerca de 10.000 tokens em um artigo acadêmico.

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

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

Mas isso

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize