Chatbots mais eficientes: Pesquisadores desenvolvem método para melhorar o desempenho de chatbots em conversas contínuas

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 2, 2024, 8:14 am

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

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 contínua sem travar ou ficar mais lento.

O método deles envolve um ajuste ao cache chave-valor (que é como uma memória de conversação) no cerne de muitos modelos grandes de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que tem 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 conversando não importa por quanto tempo a conversa dure.

Esse método, chamado StreamingLLM, permite que um modelo permaneça eficiente mesmo quando uma conversa se estende por mais de 4 milhões de palavras. Em comparação com outro método que evita falhas ao recomputar constantemente parte das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

Isso poderia permitir que um chatbot conduzisse longas conversas ao longo do dia útil sem precisar ser reinicializado continuamente, possibilitando assistentes AI eficientes para tarefas como redação, edição ou geração de código.

Agora, com este método, podemos implantar constantemente esses grandes modelos de linguagem. Criando um chatbot com o qual sempre podemos conversar e que pode sempre nos responder com base em nossas conversas recentes, podemos usar esses chatbots em novos aplicativos”, 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 co-autores de Xiao incluem seu orientador, Song Han, professor associado da EECS, membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; bem como Yuandong Tian, cientista pesquisador no Meta AI; Beidi Chen, professor assistente na Carnegie Mellon University; e Mike Lewis, cientista pesquisador no Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

Modelos grandes de linguagem codificam dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos utilizam o que é conhecido como um mecanismo de atenção que usa esses tokens para gerar novo texto.

Normalmente, um chatbot IA escreve novo texto com base no texto que acaba de ver, então ele armazena os tokens recentes na memória (chamada cache KV) para uso posterior. O mecanismo de atenção cria uma grade que inclui todos os tokens no cache: um “mapa de atenção” que especifica a força do relacionamento entre cada token ou palavra.

Entender esses relacionamentos é uma característica que permite aos grandes modelos gerar textos semelhantes aos humanos.

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

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 rolante”, que descarta os tokens mais antigos para adicionar novos. No entanto, o desempenho do modelo muitas vezes cai assim que esse primeiro token é descartado, reduzindo rapidamente a qualidade das palavras geradas posteriormente.

Neste novo artigo, os pesquisadores perceberam que se mantivessem o primeiro token no cache rolante, o desempenho do modelo seria mantido mesmo quando o tamanho do cache fosse ex

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize