Chatbots de IA: Como evitar a deterioração do desempenho em conversas contínuas?

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 14, 2024, 5:16 pm

Quando uma conversa entre um ser humano e uma IA envolve muitas rodadas de diálogo contínuo, os potentes modelos de aprendizado de máquina de linguagem ampla que impulsionam os chatbots como o ChatGPT às vezes começam a falhar, causando uma rápida deterioração no desempenho dos bots.

Uma equipe de pesquisadores do MIT e outros locais identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa sem interrupções sem travar ou ficar lento.

O método deles envolve um ajuste ao cache chave-valor (que funciona como uma memória da conversa) no cerne de muitos modelos grandes de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que pode suportar, as primeiras informações são descartadas. Isso pode fazer com que o modelo falhe.

Ao garantir que esses primeiros dados permaneçam na memória, o método dos pesquisadores permite que um chatbot continue conversando, não importa quanto tempo a conversa dure.

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

Isso poderia permitir que um chatbot conduza longas conversas ao longo do dia de trabalho sem precisar ser reiniciado continuamente, tornando possíveis assistentes virtuais 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 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, cientista pesquisador na Meta AI; Beidi Chen, professora assistente na Universidade Carnegie Mellon; e o autor sênior Mike Lewis, cientista pesquisador na Meta AI. O trabalho será apresentado na International Conference on Learning Representations.

Um fenômeno intrigante

Modelos de linguagem ampla 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 que usa esses tokens para gerar novo texto.

Normalmente, um chatbot AI escreve novo texto com base no texto que acaba de ver. Portanto, ele armazena os tokens recentes em uma memória chamada KV Cache para uso posterior. O mecanismo de atenção constrói uma grade que inclui todos os tokens no cache – um “mapa de atenção” que indica quão fortemente cada token ou palavra se relaciona com todos os outros tokens.

Entender essas relações é uma característica que permite que os grandes modelos de linguagem gerem textos semelhantes a 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 processamento.

Além disso, se o conteúdo a ser codificado requer mais tokens do que o cache pode armazenar, o desempenho do modelo cai. 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 substitui os tokens mais antigos pelos novos tokens. No entanto, o desempenho do modelo costuma despencar assim que o primeiro token é removido e a qualidade das palavras geradas posteriormente se deteriora rapidamente.

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

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize