ChatGPT: Solução para conversas contínuas sem interrupções entre humanos e IA

Picture of Maurício "o Estagiario"

Maurício "o Estagiario"

Textos otimizado com nossa IA

Published on maio 2, 2024, 2:45 pm

Quando uma conversa entre humano e IA envolve várias 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 sem interrupções, sem travar ou diminuir a velocidade.

O método deles envolve um ajuste ao cache chave-valor (que é como uma memória da conversa) no cerne de muitos modelos de linguagem grandes. Em alguns métodos, quando esse cache precisa armazenar mais informações do que a capacidade disponível, os primeiros dados são removidos. 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 independentemente da duração da conversa.

O método chamado StreamingLLM permite que um modelo permaneça eficiente mesmo em uma conversa com mais de 4 milhões de palavras. Quando comparado a outro método que evita falhas ao recomputar constantemente partes das conversas anteriores, o StreamingLLM foi mais rápido em mais de 22 vezes.

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

“Agora, com esse método, podemos implantar persistentemente esses modelos de linguagem grandes. Ao criar um chatbot com o qual possamos sempre conversar e que possa sempre responder com base em nossas conversas recentes, podemos 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 do artigo sobre o 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; Yuandong Tian, cientista de pesquisa na Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, cientista de pesquisa da Meta AI. O trabalho será apresentado na Conferência Internacional sobre Representações de Aprendizado.

Um fenômeno intrigante

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

Normalmente, um chatbot AI escreve um novo texto com base no texto que acabou de ver e armazena os tokens recentes na memória chamada KV Cache para uso posterior. O mecanismo de atenção cria uma grade que inclui todos os tokens no cache, um “mapa de atenção” que mostra o quanto cada token ou palavra está relacionado a outros tokens.

Compreender essas relações é uma característica que permite aos grandes modelos de linguagem gerarem textos semelhantes aos humanos.

Porém, quando o cache se torna muito grande, o mapa de atenção pode se tornar ainda maior, o que desacelera o processo computacional.

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 utilizam um “cache deslizante” que remove os tokens mais antigos para adicionar novos tokens. No entanto, o desempenho do modelo geralmente cai assim que o primeiro token é removido, reduzindo rapidamente a qualidade das palavras recém-geradas.

Neste novo artigo, os pesquisadores perceberam que manter o primeiro token no cache deslizante faz com que o modelo mantenha seu desempenho mesmo quando todo o espaço do cache é preenchido.

Mas isso não fazia sentido algum. A primeira

Compartilhe

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print

Leia mais sobre este assunto:

Conteudize