Aprendizagem pessoal com IA
e orientação prática

Uma nova maneira de manter o ChatGPT em diálogo constante sem perder a memória

Os pesquisadores encontraram uma solução concisa e eficaz para um problema intratável em modelos de linguagem grandes, como o ChatGPT, que, de outra forma, afetaria gravemente o desempenho do modelo.

 


Uma nova maneira de fazer conversas contínuas no ChatGPT sem perder a memória-1

 

Em conversas de IA que envolvem várias rodadas de diálogo contínuo, os modelos avançados de aprendizado de máquina de linguagem em grande escala que impulsionam os chatbots, como o ChatGPT, às vezes falham repentinamente, causando uma queda drástica no desempenho do bot.

Uma equipe de pesquisadores do MIT e de outras instituições descobriu uma causa surpreendente para esse problema e apresentou uma solução fácil, que permite que os chatbots continuem as conversas sem travar ou ficarem lentos.

Sua abordagem adapta o cache de chaves (o equivalente ao armazenamento de memória para diálogo) no centro de muitos modelos de linguagem grandes. Em alguns casos, quando o cache precisa armazenar mais informações do que sua capacidade real, os dados mais antigos são substituídos, o que pode levar à falha do modelo.

Ao reter alguns dos pontos de dados iniciais na memória, o esquema dos pesquisadores permite que os chatbots continuem se comunicando, independentemente da duração da conversa.

Essa abordagem, denominada StreamingLLM, mantém a alta eficiência do modelo mesmo quando o diálogo continua além de quatro milhões de palavras. Em comparação com outra abordagem que evita falhas no sistema ao recomputar constantemente partes de diálogos anteriores, o StreamingLLM tem um desempenho 22 vezes mais rápido.

Isso permitirá que os chatbots realizem longas conversas ao longo do dia sem precisar ser reiniciados, fornecendo efetivamente um assistente de IA para tarefas como escrever, editar e gerar códigos.

"Hoje, com essa abordagem, podemos implementar esses grandes modelos de linguagem de forma contínua. Ao criar um chatbot com o qual podemos nos comunicar a qualquer momento e que pode responder com base no conteúdo de conversas recentes, podemos aproveitar esses chatbots em muitas novas áreas de aplicação", disse Guangxuan Xiao, estudante de pós-graduação em engenharia elétrica e ciência da computação (EECS) e principal autor do artigo.

Entre os coautores de Xiao estão seu mentor Song Han, professor associado da EECS, membro do MIT-IBM Watson AI Lab e cientista renomado da NVIDIA; bem como Yuandong Tian, cientista pesquisador da Meta AI; Beidi Chen, professor assistente da Carnegie Mellon University; e Mike Lewis, cientista pesquisador da Meta AI e autor sênior do artigo. Essa pesquisa será apresentada na Conferência Internacional sobre Representações de Aprendizagem.

 

 

Um fenômeno intrigante

 

Os modelos de linguagem em grande escala codificam dados, como o vocabulário na consulta de um usuário, em formas de representação chamadas "tokens". Muitos modelos empregam os chamados "mecanismos de atenção" que usam esses tokens para criar um novo texto.

Em geral, o chatbot de IA escreve novos conteúdos com base nos textos que viu; portanto, ele armazena tokens recentes em um banco de memória chamado cache KV para serem usados posteriormente. O mecanismo de atenção cria um mapa de grade contendo todos os tokens do cache, um "mapa de atenção", no qual a força da correlação entre cada palavra e outras palavras é marcada.

A compreensão dessas relações ajuda esses modelos de linguagem de grande porte a criar textos semelhantes aos humanos.

No entanto, quando o volume do cache se torna enorme, o mapa de atenção também se expande, levando a uma diminuição na velocidade de computação.

Além disso, se os tokens necessários para codificar o conteúdo excederem o limite do cache, o desempenho do modelo será prejudicado. Por exemplo, um modelo amplamente utilizado é capaz de armazenar 4.096 tokens, mas um artigo acadêmico pode conter cerca de 10.000 tokens.

Para contornar esses problemas, os pesquisadores adotaram uma estratégia de "cache deslizante", eliminando os tokens mais antigos para adicionar novos. No entanto, quando o primeiro token é removido, o desempenho do modelo tende a despencar, o que afeta diretamente a qualidade do vocabulário recém-gerado.

Nesse novo artigo, os pesquisadores descobriram que, se mantiverem o primeiro token constante em um cache deslizante, o modelo manterá seu desempenho mesmo que o tamanho do cache seja excedido.

Mas essa descoberta pode parecer contraintuitiva. A primeira palavra em um romance raramente está diretamente ligada à última palavra, então por que a primeira palavra é crucial para a capacidade do modelo de gerar novas palavras?

Em seu novo artigo, os pesquisadores também revelam as razões por trás desse fenômeno.

 

 

ponto de foco

 

Alguns modelos usam a operação Softmax em seu mecanismo de atenção, que atribui uma pontuação a cada elemento lexical, refletindo seu grau de relação entre si. A operação Softmax exige que todas as pontuações de atenção somem um total de 1. Como a maioria dos elementos lexicais não está intimamente relacionada entre si, suas pontuações de atenção são muito baixas. O modelo atribui qualquer pontuação de atenção restante ao primeiro elemento lexical.

Os pesquisadores chamam esse primeiro elemento lexical de "foco de atenção".

"Precisamos de um foco de atenção, e o modelo escolhe o primeiro elemento lexical como esse ponto de foco porque ele é visível para todos os outros elementos lexicais. Descobrimos que, para manter a dinâmica do modelo, tínhamos que manter constantemente esse ponto de foco de atenção no cache." Han colocou a questão da seguinte forma.

Ao desenvolver o StreamingLLM, os pesquisadores descobriram que colocar quatro elementos léxicos pontuais focados na atenção logo no início do cache resulta em um desempenho ideal.

Eles também observam que a codificação posicional de cada elemento léxico deve permanecer a mesma à medida que novos elementos léxicos são adicionados e os antigos são eliminados. Por exemplo, se o quinto elemento lexical for eliminado, o sexto elemento lexical deverá manter sua codificação como sexto, mesmo que se torne o quinto no cache.

Combinando essas duas ideias, elas permitem que o StreamingLLM mantenha um diálogo coerente e supere as abordagens populares que usam técnicas de recomputação.

Por exemplo, em uma capacidade de cache de 256 palavras, o método que usa a técnica de recomputação leva 63 ms para decodificar uma nova palavra, enquanto o StreamingLLM leva apenas 31 ms. Entretanto, se o tamanho do cache for aumentado para 4096 palavras, a técnica de recomputação leva 1.411 milissegundos para decodificar um novo lexema, enquanto o StreamingLLM ainda leva apenas 65 milissegundos.

"O StreamingLLM emprega uma técnica inovadora de agrupamento de atenção que aborda os problemas de desempenho e estabilidade de memória ao processar textos com até 4 milhões de tokens." Yong Yang, Professor Presidencial Jovem de Ciência da Computação da Universidade Nacional de Cingapura, disse que, embora não tenha participado do trabalho, "os recursos dessa tecnologia não são apenas impressionantes, mas também impressionantes. "O desempenho e a versatilidade do StreamingLLM são um bom presságio para que ele se torne uma tecnologia revolucionária que impulsionará a forma como usamos a IA para gerar aplicativos. "

Tianqi Chen, professor assistente de aprendizado de máquina e ciência da computação da Universidade Carnegie Mellon, que também não participou do estudo, concorda com essa opinião. Ele disse: "O StreamingLLM nos permite dimensionar suavemente os comprimentos de diálogo para modelos de idiomas grandes. Nós o usamos com sucesso para implementar modelos Mistral no iPhone".

A equipe de pesquisa também explorou a aplicação do agrupamento de atenção durante o treinamento do modelo, incluindo vários marcadores de posição na frente de todas as amostras de treinamento.

Eles descobriram que os modelos treinados em conjunto com o agrupamento de atenção foram capazes de manter o desempenho usando apenas um agrupamento de atenção no cache, em comparação com os quatro normalmente necessários para estabilizar o desempenho de modelos pré-treinados.

Entretanto, embora o StreamingLLM permita que o modelo participe de um diálogo contínuo, ele ainda não consegue se lembrar de palavras que não foram depositadas no cache. No futuro, os pesquisadores planejam superar essa limitação explorando maneiras de recuperar tokens excluídos ou permitindo que o modelo se lembre de diálogos anteriores.

O StreamingLLM foi integrado à biblioteca de otimização de modelos de linguagem grande da NVIDIA [TensorRT-LLMMédio.

Este trabalho foi apoiado em parte pelo Laboratório de Inteligência Artificial MIT-IBM Watson, pelo MIT Science Center e pela National Science Foundation.

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Uma nova maneira de manter o ChatGPT em diálogo constante sem perder a memória

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil