Published on maio 10, 2024, 7:16 am
Quando uma conversa entre humanos e IA envolve várias rodadas de diálogo contínuo, os poderosos modelos de aprendizado de máquina baseados em linguagem que impulsionam 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 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 desacelerar.
O método envolve algumas modificações no cache chave-valor (que funciona como memória de conversação) presente em muitos vocabulários modelos de linguagem. Em alguns métodos, quando esse cache precisa armazenar mais informações do que tem capacidade para, as primeiras informações armazenadas são removidas. Isso pode fazer com que o modelo falhe.
Ao garantir que esses primeiros pontos de dados permaneçam na memória, o método desenvolvido pelos pesquisadores permite que um chatbot continue conversando independentemente da duração da conversa.
O método chamado StreamingLLM possibilita que um modelo seja eficiente mesmo em conversas com mais de 4 milhões de palavras. Quando comparado a outro método que evita falhas recomputando partes das conversas anteriores constantemente, o StreamingLLM foi mais de 22 vezes mais rápido.
Isso pode permitir que um chatbot conduza longas conversas durante todo o dia de trabalho sem precisar ser reiniciado continuamente, possibilitando assistentes 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 usar esses chatbots em novas aplicações”, diz Guangxuan Xiao, estudante de pós-graduação de 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 distinguido da NVIDIA; Yuandong Tian, cientista de pesquisa na Meta AI; Beidi Chen, professor assistente na Universidade Carnegie Mellon; e Mike Lewis, autor sênior do trabalho científico na Meta AI. A apresentação será realizada na Conferência Internacional sobre Representações de Aprendizagem.
Um fenômeno intrigante
Os grandes modelos de linguagem codificam dados, como palavras em uma consulta do usuário, em representações chamadas tokens. Muitos modelos usam o que é conhecido como mecanismo de atenção para gerar novo texto com base nesses tokens.
Normalmente, um chatbot IA escreve novo texto com base no texto que acabou de ver e armazena os tokens recentes em uma memória chamada Cache KV para uso posterior. O mecanismo de atenção constrói uma matriz que inclui todos os tokens no cache – um “mapa de atenção” que mostra a força da relação entre cada token ou palavra.
Entender essas relações é uma das características que permitem grandes modelos de linguagem gerarem textos semelhantes aos humanos.
No entanto, quando o cache fica muito cheio, o mapa de atenção pode ficar ainda maior, o que diminui a velocidade do cálculo.
Além disso, se a codificação do conteúdo 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 remove os tokens mais antigos para adicionar novos tokens. No entanto, o desempenho do modelo muitas vezes cai assim que o primeiro token é removido e as palavras recém-geradas perdem qualidade rapidamente.
Neste novo trabalho, os pesquisadores perceberam que se mantiverem o primeiro token no cache deslizante, o modelo manterá seu desempenho mesmo quando exceder o tamanho do cache.
Mas isso não fazia sentido. A