Chatbot ChatGPT: Superando barreiras de desempenho com StreamingLLM

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 11, 2024, 11:14 am

Quando uma conversa entre um humano e uma IA envolve várias rodadas de diálogo contínuo, é possível que os chatbots, como o ChatGPT, impulsionados por poderosos modelos de aprendizado de linguagem granular, comecem a falhar, causando uma rápida deterioração no desempenho dos bots.

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 constante sem travamentos ou lentidão.

O método deles envolve um ajuste no cache chave-valor (que funciona como memória de conversa) presente no núcleo dos grandes modelos de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que suporta, os primeiros dados são excluídos. 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.

Denominado StreamingLLM, o método permite que um modelo permaneça eficiente mesmo em conversas com mais de 4 milhões de palavras. Ao ser comparado a outro método que evita travamentos recomputando constantemente partes das conversas anteriores, o StreamingLLM foi mais rápido em mais de 22 vezes.

Isso pode possibilitar que um chatbot conduza longas conversas ao longo do dia útil sem precisar ser reiniciado continuamente, viabilizando 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 sempre podemos conversar e que pode nos responder com base em nossas conversas recentes, poderíamos usar esses chatbots em algumas 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 em EECS, membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; Yuandong Tian, pesquisador científico da Meta AI; Beidi Chen, professora assistente na Universidade Carnegie Mellon; e Mike Lewis, autor sênior, pesquisador científico da 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 gerar novo texto com base nesses tokens.

Normalmente, um chatbot IA escreve novo texto com base no texto que acabou de processar. Para isso, ele armazena os tokens mais 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 relevância de cada token ou palavra com relação aos outros tokens.

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

No entanto, quando o cache fica muito grande, o mapa de atenção também pode crescer exponencialmente, tornando a computação mais lenta.

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 exclui os tokens mais antigos para adicionar novos tokens. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é removido, afetando rapidamente a qualidade das palavras recentemente geradas.

Neste novo artigo, os pesquisadores perceberam que manter o primeiro token no cache deslizante permite que o modelo mantenha seu desempenho mesmo quando o

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize