Contexto infinito, gerenciamento de memória de vários níveis! Rompa as limitações de contexto de modelos de linguagem grandes, como o ChatGPT

Fonte original: AIGC Open Community

Fonte da imagem: Gerado por Unbounded AI

Atualmente, os principais modelos de linguagem de grande porte, como ChatGPT, Llama 2 e Wenxin Yiyan, foram limitados devido ao problema de arquitetura técnica, e mesmo Claude suporta apenas um máximo de 100.000 entradas de token, o que é muito inconveniente para interpretar centenas de páginas de relatórios, livros e papéis.

Para resolver esse dilema, a UC Berkeley propôs o MemGPT, inspirado no mecanismo de gerenciamento de memória do sistema operacional. A maior inovação deste modelo é imitar o mecanismo de gerenciamento de memória multinível do sistema operacional e quebrar a limitação de contexto fixo de grandes modelos de linguagem através da transmissão de dados entre diferentes camadas de memória.

Endereço Open Source:

Tese:

O MemGPT contém principalmente dois tipos de memória: contexto principal e contexto externo. O contexto principal é equivalente à memória principal do sistema operacional e é uma janela de contexto de comprimento fixo que pode ser acessada diretamente por modelos de linguagem grandes.

O contexto externo é o equivalente ao armazenamento em disco, que contém informações adicionais fora do contexto principal. O MemGPT também fornece uma grande variedade de chamadas de recursos, permitindo que grandes modelos de linguagem gerenciem ativamente sua própria memória sem intervenção humana.

Essas chamadas de recursos podem importar e exportar informações entre os contextos principal e externo. Com base no objetivo da tarefa atual, o modelo de linguagem grande pode decidir de forma independente quando mover as informações de contexto para fazer melhor uso dos recursos de contexto principais limitados.

Os pesquisadores avaliaram em vários ambientes de teste e os resultados mostraram que o MemGPT pode efetivamente processar conteúdo de texto que excede em muito o limite de comprimento de contexto de modelos de linguagem grandes, por exemplo, M**emGPT pode processar documentos que excedem em muito os limites de contexto de GPT-3.5 e GPT-4.

Quando o número de documentos recuperados aumenta, o desempenho do modelo de contexto fixo é limitado pela qualidade do recuperador, enquanto o MemGPT pode recuperar mais documentos chamando o mecanismo de paginação, e sua precisão de Perguntas e Respostas também é melhorada.

Na recém-proposta tarefa de extração de palavras-chave aninhadas em várias etapas, o MemGPT concluiu com êxito a tarefa que exigia consultas multi-hop entre documentos para chegar a uma solução chamando o contexto externo várias vezes, enquanto a precisão do GPT-3.5 e GPT-4 caiu drasticamente para 0 quando o número de camadas aninhadas aumentou.

Contexto Primário

O contexto principal no MemGPT é equivalente à “memória principal” no sistema operacional, que é uma janela de contexto de comprimento fixo que pode ser acessada diretamente por grandes modelos de linguagem. Os investigadores dividiram o contexto principal em três partes:

Instruções do sistema: Esta parte contém a lógica de controle básica do MemGPT, como o modo de chamada de função, etc., com um comprimento fixo e somente leitura.

Contexto da conversa: esta é uma fila de primeiro a entrar, primeiro a sair que contém um histórico de interações recentes do usuário, somente leitura e corta conversas anteriores quando o comprimento é excedido.

Contexto de trabalho: Este é um armazenamento temporário de leitura-gravação no qual modelos de linguagem grandes podem gravar informações de forma autônoma por meio de chamadas de recursos.

É importante notar que essas três partes juntas não podem exceder o comprimento máximo de contexto do modelo de linguagem grande subjacente.

Contexto Externo

O contexto externo contém informações extras fora do contexto principal, atuando como “armazenamento em disco” no sistema operacional. Contextos externos exigem chamadas de função explícitas para importar informações para o contexto principal para o modelo acessar, incluindo os dois tipos a seguir:

Armazenamento de backtracking: contém informações históricas completas de eventos, equivalentes a uma versão não compactada do contexto da conversa.

Armazenamento de arquivamento: um banco de dados de leitura/gravação de uso geral que pode servir como um espaço de estouro para o contexto primário armazenar informações adicionais. Em aplicativos de conversação, o armazenamento de arquivo pode conter informações adicionais sobre a função, as preferências e muito mais de um usuário ou sistema.

O armazenamento de backtracking permite recuperar interações históricas por um período de tempo específico. Na análise de documentos, o armazenamento de arquivos pode suportar pesquisas de conjuntos de documentos maiores.

Edição e Pesquisa Independentes

O MemGPT move ativamente os dados entre os níveis de memória através de chamadas de função geradas por grandes modelos de linguagem para obter edição e recuperação autônomas. Por exemplo, você pode decidir quando mover informações entre contextos para se adequar aos objetivos atuais da tarefa sem envolvimento humano.

A inovação reside na descrição detalhada da arquitetura de memória e métodos de invocação de função nas instruções do sistema, que guiam o modelo de linguagem grande para aprender a usar essas ferramentas para gerenciar a memória.

O modelo de linguagem grande pode ajustar a estratégia de invocação com base no feedback. Ao mesmo tempo, quando o espaço de contexto principal é insuficiente, o sistema lembra o modelo de linguagem grande para salvar informações importantes no tempo e o orienta a gerenciar a memória.

Encadeamento

No MemGPT, vários eventos externos acionam grandes modelos de linguagem para fazer inferências, incluindo mensagens do usuário, avisos de memória do sistema, eventos de interação do usuário e muito mais.

As chamadas de função podem solicitar para obter controle, permitindo chamadas encadeadas. Por exemplo, quando os resultados são paginados, chamadas sucessivas podem coletar dados de páginas diferentes no contexto principal.

A chamada de rendimento, por outro lado, pausa o modelo de linguagem grande até que o próximo evento externo acione a inferência. Esse fluxo de controle baseado em eventos orquestra uma comunicação suave entre o gerenciamento de memória, a inferência do modelo e a interação do usuário.

Analisador & Otimização

O MemGPT usa um analisador para verificar as chamadas de função geradas pelo modelo de linguagem grande, verificando se os parâmetros estão corretos, etc. O resultado é retroalimentado para o modelo após a chamada, para que a estratégia possa ser aprendida a ser ajustada e os erros possam ser reduzidos.

Além disso, as instruções do sistema do MemGPT podem ser atualizadas em tempo real para adicionar orientação personalizada de gerenciamento de memória ao modelo para diferentes tarefas para alcançar a otimização contínua.

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Negocie criptomoedas a qualquer hora e em qualquer lugar
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)