Chatbots: Nova solução permite conversas ininterruptas com modelos de IA

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 2, 2024, 2:44 am

Quando uma conversa humana-AI envolve várias rodadas de diálogo contínuo, os modelos poderosos de aprendizado de máquina em larga escala que impulsionam chatbots como o ChatGPT às vezes começam a entrar em colapso, fazendo com que o desempenho dos bots se deteriore rapidamente.

Mas agora, pesquisadores do MIT e de outros lugares descobriram uma causa surpreendente desse problema e desenvolveram uma solução simples que permite que um chatbot mantenha uma conversa sem parar, sem travar ou desacelerar.

Seu método envolve uma modificação no cache-chave (que é como uma memória de conversa) no cerne de muitos modelos linguísticos grandes. Em alguns métodos, quando esse cache precisa armazenar mais informações do que sua capacidade permite, as primeiras informações são eliminadas. Isso pode fazer com que o modelo falhe.

Garantindo que esses primeiros 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 seja eficiente mesmo quando a conversa se estende por mais de 4 milhões de palavras. Em comparação com outro método que evita travamentos ao recomputar constantemente parte das conversas anteriores, o StreamingLLM apresentou um desempenho mais rápido – mais de 22 vezes mais rápido.

Isso poderia permitir que um chatbot conduzisse longas conversas ao longo do dia de trabalho sem precisar ser reiniciado continuamente, facilitando assim a criação de assistentes virtuais eficientes para tarefas como redação, edição ou geração de código.

“Com este método, podemos implantar persistentemente esses grandes modelos linguísticos. Ao criar 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 StreamingLLM.

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

Um fenômeno intrigante

Grandes modelos linguísticos codificam dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos usam o que é conhecido como mecanismo de atenção para gerar novo texto com base nesses tokens.

Normalmente, um chatbot escreve novo texto com base no que acabou de ver no texto anterior, então 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: uma espécie de “mapa de atenção” que mostra a intensidade das relações entre cada token ou palavra.

Entender essas relações é uma característica que permite aos grandes modelos linguísticos gerar textos semelhantes aos humanos.

No entanto, quando o cache fica muito grande, o mapa de atenção pode se tornar enorme e isso diminui a velocidade de cálculo.

Além disso, se codificar o 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, 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 tokens. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é eliminado, 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 seu desempenho mesmo quando

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize