Pesquisadores do MIT desenvolvem solução para evitar problemas de desempenho em chatbots

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 14, 2024, 1:15 pm

Quando uma conversa entre um humano e uma IA envolve muitas rodadas de diálogo contínuo, os modelos poderosos de aprendizado de máquina em larga escala que impulsionam os chatbots como o ChatGPT às vezes começam a colapsar, fazendo com que o desempenho dos bots se deteriore rapidamente.

Uma equipe de pesquisadores do MIT e outros lugares identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa sem interrupção, sem travamento ou desaceleração.

O método deles envolve um ajuste ao cache chave-valor (que é como uma memória da conversa) no núcleo de muitos modelos de linguagem em grande escala. Em alguns métodos, quando esse cache precisa armazenar mais informações do que possui capacidade para, as primeiras informações são descartadas. 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 a conversar, não importando por quanto tempo a conversa se estenda.

O método chamado StreamingLLM permite que um modelo continue eficiente mesmo quando uma conversa ultrapassa 4 milhões de palavras. Quando comparado a outro método que evita travamentos recomputando constantemente parte das conversas anteriores, o StreamingLLM foi mais rápido mais de 22 vezes.

Isso pode permitir que um chatbot conduza longas conversas ao longo do dia de trabalho sem precisar ser reiniciado continuamente, possibilitando 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 podemos conversar e que pode sempre 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 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 da Meta AI; Beidi Chen, professora assistente na Carnegie Mellon University; e Mike Lewis, pesquisadora na Meta AI. O trabalho será apresentado na Conferência Internacional de 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 empregam o que é conhecido como mecanismo de atenção que usa esses tokens para gerar novo texto.

Normalmente, um chatbot AI escreve novo texto com base no texto que acabou de ver, 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 – um “mapa de atenção” que mostra a força das relações entre cada token ou palavra.

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

Mas quando o cache se torna muito grande, o mapa de atenção pode ficar 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 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 descarta os tokens mais antigos para adicionar novos tokens. No entanto, frequentemente o desempenho do modelo cai assim que o primeiro token é removido, reduzindo rapidamente a qualidade das novas palavras geradas.

Neste novo artigo, os pesquisadores perceberam que se mantiverem o primeiro token no cache deslizante, o modelo manterá seu desempenho mesmo quando o tamanho do cache for excedido.

Mas isso não faz

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize