Janela de Contexto

A janela de contexto em um modelo de linguagem grande (LLM) refere-se à quantidade de texto que o modelo pode considerar ao gerar uma resposta, influenciando sua capacidade de entender e gerar texto coerente.

A janela de contexto de um Modelo de Linguagem Grande (LLM) define o número máximo de tokens (palavras, sub-palavras ou caracteres) que o modelo pode processar e considerar simultaneamente ao gerar a saída. Esta janela atua como a memória de curto prazo do modelo, abrangendo o prompt de entrada e qualquer texto gerado anteriormente. Uma janela de contexto maior permite que o LLM retenha mais informações da conversa ou documento, levando a uma melhoria na coerência, relevância e compreensão de instruções complexas ou narrativas extensas. Por exemplo, um modelo com uma janela de contexto de 4.096 tokens pode "lembrar" até aproximadamente 3.000 palavras de texto. A arquitetura do LLM, particularmente o mecanismo de atenção (por exemplo, auto-atenção em Transformers), dita a eficiência com que ele pode utilizar essa janela. Existem compromissos: janelas de contexto maiores exigem significativamente mais recursos computacionais (memória e poder de processamento) e podem levar a um aumento na latência durante a inferência. Além disso, os modelos podem ter dificuldades com o fenômeno "perdido no meio", onde a informação no meio de um contexto muito longo é menos efetivamente utilizada do que a informação no início ou no fim. Técnicas como atenção de janela deslizante, atenção esparsa ou geração aumentada por recuperação (RAG) são empregadas para mitigar essas limitações e estender o manuseio efetivo do contexto.

        graph LR
  Center["Janela de Contexto"]:::main
  Pre_computer_science["computer-science"]:::pre --> Center
  click Pre_computer_science "/terms/computer-science"
  Rel_large_language_model["large-language-model"]:::related -.-> Center
  click Rel_large_language_model "/terms/large-language-model"
  Rel_hallucination_ai["hallucination-ai"]:::related -.-> Center
  click Rel_hallucination_ai "/terms/hallucination-ai"
  Rel_token["token"]:::related -.-> Center
  click Rel_token "/terms/token"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Teste de conhecimento

1 / 3

🧒 Explique como se eu tivesse 5 anos

É como o bloco de notas do [LLM](/pt/terms/llm); ele só consegue lembrar o que cabe na página atual ao escrever sua resposta.

🤓 Expert Deep Dive

O tamanho da janela de contexto, tipicamente medido em tokens, é um parâmetro arquitetural crítico que impacta diretamente a capacidade de um LLM de realizar tarefas que exigem dependências de longo alcance. Arquiteturas baseadas em Transformer, dominantes em LLMs modernos, empregam mecanismos de auto-atenção. A complexidade computacional da auto-atenção padrão escala quadraticamente ($O(N^2)$) com o comprimento da sequência $N$ (tamanho da janela de contexto), tornando janelas muito grandes proibitivamente caras em termos de memória e computação. Isso impulsionou a pesquisa em variantes eficientes de atenção, como atenção esparsa (por exemplo, Longformer, BigBird), atenção linear e geração aumentada por recuperação (RAG). O RAG, por exemplo, aumenta o LLM com um sistema externo de recuperação de conhecimento, estendendo efetivamente seu "contexto" acessível além da janela fixa, buscando dinamicamente informações relevantes. Escolhas arquiteturais como codificações posicionais (por exemplo, absolutas, relativas, rotativas) também influenciam o quão bem o modelo pode interpretar as posições dos tokens dentro da janela. Casos extremos incluem o esquecimento catastrófico ao ajustar (fine-tuning) em novos dados e o já mencionado problema "perdido no meio", onde os escores de atenção podem degradar para tokens posicionados longe do início ou fim do prompt.

🔗 Termos relacionados

Pré-requisitos:

📚 Fontes