Como é que uma janela de contexto deslizante altera a utilização da memória da IA local?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Uma janela de contexto deslizante limita a memória de atenção ativa, excluindo o estado de tokens mais antigos depois de a janela retida atingir o limite configurado.

A atenção causal completa mantém as chaves e os valores de toda a sequência ativa, pelo que a memória KV aumenta à medida que uma conversa, um documento ou uma resposta gerada se tornam mais longos. A atenção com janela deslizante altera essa relação: cada token presta atenção diretamente apenas a uma região recente limitada, permitindo substituir ou omitir entradas antigas da cache quando a implementação suporta armazenamento rotativo. O modelo consegue processar um fluxo longo com um conjunto de trabalho mais previsível, mas o histórico descartado deixa de estar disponível através do mesmo caminho de atenção direta.

A Atenção Completa Continua a Expandir o Histórico KV Ativo

Na inferência normal com contexto completo, cada token retido contribui com tensores de chaves e valores nas camadas de atenção do modelo. Uma conversa mais longa aumenta, portanto, a cache que tem de permanecer endereçável.

O Mistral 7B introduziu a atenção com janela deslizante como forma de reduzir o custo de inferência ao processar sequências longas.

A memória dos pesos não muda com a duração da conversa, mas muda a memória de execução disponível para a cache KV, os utilizadores e o trabalho temporário.

Uma Janela Fixa Pode Limitar o Crescimento da Cache Após o Aquecimento

Se cada camada retiver apenas a janela mais recente de tokens, as entradas KV antigas podem sair do conjunto de trabalho ativo à medida que chegam novos tokens. A memória aproxima-se então de um limite máximo baseado no tamanho da janela, e não na duração total do fluxo.

O Longformer formaliza a atenção local por janela, cujo cálculo aumenta de acordo com a vizinhança selecionada, em vez de considerar todos os pares de tokens.

Uma memória intermédia KV rotativa pode reutilizar posições físicas depois de a janela estar cheia, tornando o uso da memória mais estável durante uma conversa local prolongada ou um fluxo de transcrição.

Este benefício depende de o ambiente de execução eliminar ou substituir efetivamente o estado que fica fora da janela. Uma arquitetura de modelo que utilize atenção local não garante que todos os motores de disponibilização aloquem a cache da mesma forma.

As Camadas Empilhadas Podem Transportar Informação Para Além de Uma Única Janela Local

Num determinado nível, um token lê uma vizinhança recente do nível anterior. As camadas mais profundas recebem representações que já contêm informação combinada de vizinhanças anteriores.

A arquitetura Mistral explica este campo recetivo empilhado: a informação pode propagar-se para mais longe do que uma única janela ao longo de várias camadas Transformer.

A propagação indireta não é o mesmo que manter acesso direto e exato a todos os tokens antigos. O modelo recebe representações transformadas, e não uma tabela ilimitada de consulta a todo o histórico.

-15% OFF

Eliminar o Estado KV Antigo Altera o Que o Modelo Pode Recuperar Diretamente

Quando um token inicial sai de todas as janelas de atenção relevantes, os tokens posteriores deixam de poder prestar atenção à sua chave e ao seu valor originais através do caminho normal de atenção local.

O StreamingLLM demonstra que a eliminação de tokens recentes pode prejudicar o comportamento do modelo depois de a sequência exceder o tamanho da cache.

Sumidouros de atenção, tokens globais, resumos, recuperação ou camadas híbridas específicas da arquitetura podem preservar determinadas informações de longo alcance, mantendo limitada a maior parte da memória da cache.

A poupança de memória tem, portanto, uma fronteira semântica: os detalhes antigos podem ter de ser resumidos, recuperados novamente ou mantidos intencionalmente fora da região normal da janela deslizante.

O Tamanho da Janela Deve Ser Testado Com o Ambiente de Execução e o Fluxo de Trabalho Reais

Estime o limite máximo da cache com base no tamanho da janela, no número de cabeças KV, na dimensão das cabeças, no número de camadas, na precisão, no tamanho do lote e nos utilizadores ativos. Depois, confirme o comportamento observado do alocador, em vez de presumir que o limite teórico é totalmente alcançado.

A análise da ZimaSpace sobre o Kimi K3 separa o estado fixo do estado que aumenta com os tokens ao abordar a memória de contextos longos. Diferentes arquiteturas de atenção podem impor limites diferentes, mesmo quando anunciam um máximo de contexto semelhante.

Teste conversas curtas, fluxos mais longos do que a janela, factos colocados perto do início, vários utilizadores em simultâneo e um reinício limpo. Registe a memória máxima, a latência até ao primeiro token, a velocidade de geração e se a informação inicial continua disponível.

Uma janela mais pequena é útil quando liberta memória suficiente para melhorar a fiabilidade ou a simultaneidade sem remover informações que o fluxo de trabalho local tem de preservar.

FAQ

Uma janela deslizante é o mesmo que eliminar a conversa?

Não. A aplicação pode continuar a armazenar a transcrição completa, mas o modelo pode prestar atenção diretamente apenas à janela recente, a menos que o conteúdo antigo seja resumido ou recuperado novamente.

A atenção com janela deslizante utiliza sempre memória constante?

Pode limitar a cache de atenção de uma sequência, mas a memória total continua a incluir os pesos, outras camadas, utilizadores ativos, buffers temporários e reservas do ambiente de execução.

Um modelo consegue lembrar-se de factos mais antigos do que a sua janela?

Por vezes, através de representações propagadas, atenção global, resumos, recuperação ou memória da aplicação, mas o acesso direto ao estado original dos tokens é limitado pela arquitetura.

Centro de Tecnologia e IA

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.