Manter conversas contínuas: A solução para melhorar o desempenho dos chatbots

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 14, 2024, 7:16 am

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

Uma equipe de pesquisadores do MIT e outros lugares identificou uma causa surpreendente desse problema e desenvolveu uma solução simples que permite que um chatbot mantenha uma conversa ininterrupta sem travar ou desacelerar.

Seu método envolve pequenos ajustes no cache chave-valor (que é como uma memória de conversação) no núcleo de muitos modelos grandes de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que sua capacidade permite, 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 a conversa independentemente da duração da conversação.

O método chamado StreamingLLM possibilita que um modelo permaneça eficiente mesmo quando uma conversa ultrapassa 4 milhões de palavras. Em comparação com outro método que evita travamentos recomputando 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 de trabalho sem precisar ser reiniciado continuamente, permitindo a criação de assistentes AI eficientes para tarefas como redação publicitária, 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 sempre podemos conversar e que sempre pode nos responder com base em nossas conversas recentes, poderíamos usar esses chatbots em 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 do EECS, membro do MIT-IBM Watson AI Lab e cientista distinto da NVIDIA; bem como Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente na Carnegie Mellon University; e o autor sênior Mike Lewis, cientista pesquisador da Meta AI. O trabalho será apresentado na Conferência Internacional de Aprendizado Representacional.

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 de atenção que usa esses tokens para gerar novo texto.

Normalmente, um chatbot AI escreve novo texto com base no texto que ele acaba de ver, então ele armazena tokens recentes na memória chamada cache chave-valor 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 mostra quão fortemente cada token ou palavra se relaciona com os outros.

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

No entanto, quando o cache fica muito grande, o mapa de atenção pode se tornar ainda maior, o que desacelera a computação.

Além disso, se codificar conteúdos exigir 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 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 é excluído, reduzindo rapidamente a qualidade das palavras geradas posteriormente.

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

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize