Como garantir o desempenho contínuo de chatbots em conversas longas?

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 2, 2024, 2:45 am

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

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

O método utilizado envolve um ajuste no cache chave-valor (que funciona como uma memória da conversa) presente no cerne de muitos modelos de linguagem grandes. Em alguns métodos, quando esse cache precisa armazenar mais informações do que suporta, as primeiras informações são descartadas. 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 dialogando independentemente da duração da conversa.

O método, chamado StreamingLLM, permite que um modelo mantenha sua eficiência mesmo quando a conversa estende por mais de 4 milhões de palavras. Em comparação com outro método que evita falhas ao recomputar constantemente partes das conversas anteriores, o StreamingLLM foi mais de 22 vezes mais rápido.

Isso poderia permitir que um chatbot conduzisse longas conversas durante todo o dia de trabalho sem precisar ser reiniciado continuamente, tornando os assistentes de IA eficientes para tarefas como redação, edição ou geração de código.

“Agora, com este método, podemos implantar persistentemente esses grandes modelos de linguagem. Ao criar um chatbot com o qual possamos sempre conversar e que possa sempre nos responder com base em nossas conversas recentes, poderíamos utilizar 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 do artigo sobre o 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; assim como Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, cientista pesquisador da Meta AI e autor sênior. O trabalho será apresentado na Conferência Internacional sobre Representação 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 utilizam um mecanismo conhecido como atenção que utiliza esses tokens para gerar novo texto.

Normalmente, um chatbot de IA escreve novo texto com base no texto que acabou de ver. Portanto, ele armazena os tokens recentes em memória chamada KV Cache para usar posteriormente. O mecanismo de atenção cria uma grade que inclui todos os tokens no cache, um “mapa de atenção” que mostra o quão fortemente cada token ou palavra se relaciona com os outros tokens.

Entender essas relações é uma das características que permite que grandes modelos de linguagem gerem texto semelhante ao humano.

No entanto, quando o cache se torna muito grande, o mapa de atenção pode ficar ainda maior, o que diminui a velocidade de 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 cai. Por exemplo, um modelo popular consegue armazenar 4.096 tokens, mas há cerca de 10.000 tokens em um artigo acadêmico.

Para contornar esses problemas, os pesquisadores utilizam um “cache deslizante” que descarta os tokens mais antigos para adicionar novos. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é removido, reduzindo rapidamente a qualidade das palavras geradas recentemente.

Neste novo artigo, os pesquisadores perceberam que se mantivessem o primeiro token no cache deslizante, o modelo manteria seu desempenho mesmo quando as dim

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize