Descoberta e solução para o problema de falhas em chatbots durante diálogos contínuos.

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 15, 2024, 5:16 am

Quando uma conversa entre um humano e um sistema de IA envolve diversos rounds de diálogos contínuos, os poderosos modelos de aprendizado de máquina baseados em linguagem natural que impulsionam chatbots como o ChatGPT às vezes começam a falhar, levando ao rápido deterioramento do desempenho dos bots.

No entanto, uma equipe de pesquisadores do MIT e outras instituições identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa ininterrupta sem travar ou ficar mais lento.

A metodologia dos pesquisadores envolveu uma alteração no cache chave-valor (que é como uma memória da conversa) que está presente em muitos modelos grandes de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que suporta, os primeiros dados armazenados são perdidos. Isso pode levar ao mau funcionamento do modelo.

Ao garantir que esses primeiros dados permaneçam na memória, o método desenvolvido pelos pesquisadores permite que o chatbot continue a conversa independentemente de seu comprimento.

Essa abordagem, chamada StreamingLLM, permite que o modelo seja eficiente mesmo em conversas com mais de 4 milhões de palavras. Quando comparado a outro método que evita travamentos recomputando constantemente partes das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

Isso possibilitaria o uso eficiente de assistentes virtuais para tarefas como redação publicitária, edição e geração de código ao longo do dia sem necessidade constante de reinicialização.

Segundo 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, “agora, com este método, podemos implantar persistentemente esses grandes modelos de linguagem. Ao criar um chatbot com o qual possamos conversar sempre e que possa sempre nos responder com base em nossas conversas recentes, poderíamos usar esses chatbots em algumas novas aplicações”.

Além disso, a pesquisa revelou um fenômeno intrigante. Foi descoberto que o primeiro token armazenado no cache desempenha um papel crucial na capacidade do modelo de gerar novas palavras. Isso é curioso porque geralmente a primeira palavra não está logicamente relacionada à última palavra em uma frase ou texto.

Os pesquisadores também descobriram que alguns modelos usam uma operação chamada Softmax em seu mecanismo de atenção. Essa operação atribui uma pontuação para cada token, representando sua relevância em relação aos outros tokens. No entanto, a operação Softmax requer que todas as pontuações somadas totalizem 1. Como a maioria dos tokens não possui forte relação com os demais, suas pontuações são muito baixas. Nesses casos, o modelo realoca qualquer pontuação restante para o primeiro token – esse primeiro token passou a ser chamado pelos pesquisadores de “attention sink” ou “afundamento da atenção”.

Após essa descoberta, os pesquisadores perceberam que manter os primeiros tokens no cache evita a queda no desempenho do modelo quando seu tamanho é excedido.

A metodologia proposta pelos pesquisadores permitiu que o StreamingLLM mantivesse uma conversa contínua, superando um método popular que recomputa constantemente partes das conversas anteriores.

Ademais, essa nova técnica conseguiu decodificar um novo token em menos tempo do que o método de recomputação. Por exemplo, quando o cache tem 256 tokens, o método de recomputação leva 63 milissegundos para decodificar um novo token, enquanto o StreamingLLM leva apenas 31 milissegundos. Com um cache de 4.096 tokens, a recomputação requer 1411 milissegundos para um novo token, ao passo que o StreamingLLM precisa apenas de 65 milissegundos.

O desempenho e a versatilidade do StreamingLLM tornam-no uma tecnologia altamente promissora, que pode revolucionar a maneira como abordamos as aplicações geradas por IA.

Embora o StreamingLLM seja capaz de manter uma conversa contínua, ele não pode lembrar palavras que não

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize