Com o aumento do uso de modelos de linguagem grandes (LLMs) pelas empresas, melhorar a precisão do conhecimento do modelo e reduzir as alucinações tornou-se um desafio significativo. Pesquisadores do Meta AI apresentaram em um novo artigo uma "camada de memória escalável", que pode oferecer uma solução para esse problema.
A ideia central da camada de memória escalável é adicionar mais parâmetros aos LLMs sem aumentar os recursos computacionais necessários para a inferência, melhorando assim sua capacidade de aprendizado. Essa arquitetura é adequada para cenários de aplicação que exigem o armazenamento de uma grande quantidade de conhecimento factual, mas também desejam manter a velocidade de inferência.
Os modelos de linguagem tradicionais usam "camadas densas" para codificar grandes quantidades de informações. Em uma camada densa, quase todos os parâmetros são ativados simultaneamente durante a inferência, permitindo o aprendizado de funções complexas, mas isso requer recursos computacionais e energéticos adicionais. Para conhecimento factual simples, uma camada simples com uma arquitetura de memória associativa é mais eficiente e fácil de entender, e esta é a função da camada de memória. A camada de memória codifica e recupera conhecimento por meio de um mecanismo simples de ativação esparsa e pesquisa chave-valor. Embora as camadas esparsas ocupem mais memória do que as camadas densas, elas usam apenas um pequeno número de parâmetros ao mesmo tempo, melhorando assim a eficiência computacional.
Embora as camadas de memória existam há muitos anos, elas raramente são usadas em arquiteturas modernas de aprendizado profundo, principalmente porque não são otimizadas para aceleradores de hardware atuais. Os LLMs de ponta atuais geralmente empregam alguma forma de arquitetura de "mistura de especialistas", que tem semelhanças com as camadas de memória. Os modelos de mistura de especialistas consistem em vários componentes de especialistas menores e especializados, que são ativados por um mecanismo de roteamento durante a inferência.
Para superar os desafios da camada de memória, que é leve computacionalmente, mas consome muita memória, os pesquisadores do Meta propuseram várias melhorias para torná-la viável em aplicações em larga escala. Eles configuraram a camada de memória para paralelização, permitindo o armazenamento de milhões de pares chave-valor em várias GPUs sem diminuir a velocidade do modelo. Além disso, eles desenvolveram núcleos CUDA específicos para lidar com operações de alta largura de banda de memória e implementaram um mecanismo de compartilhamento de parâmetros que permite que várias camadas de memória compartilhem um conjunto de parâmetros de memória.
Modificando o modelo Llama, substituindo uma ou mais camadas densas por uma camada de memória compartilhada, os pesquisadores testaram o modelo aprimorado com memória. Sua pesquisa descobriu que o modelo de memória teve um desempenho superior em várias tarefas, especialmente em tarefas que exigem conhecimento factual, com desempenho significativamente melhor do que a linha de base densa, e até mesmo competindo com modelos que usam de 2 a 4 vezes mais recursos computacionais.
Link para o artigo: https://arxiv.org/abs/2412.09764
Destaques:
🧠 A camada de memória escalável pode melhorar a capacidade de aprendizado de modelos de linguagem sem aumentar os recursos computacionais.
💡 A pesquisa descobriu que a camada de memória teve um desempenho superior em várias tarefas, especialmente aquelas que exigem conhecimento factual.
🚀 Os pesquisadores do Meta apelam para a integração de camadas de memória nas arquiteturas de IA de próxima geração para reduzir o esquecimento e as alucinações.