Cosa contiene il context window
I modelli linguistici non conservano memoria tra una richiesta e l'altra: il context window è tutta la loro memoria di lavoro per una chiamata. Si riempie di token (in inglese circa tre quarti di parola ciascuno): il prompt di sistema, i turni precedenti della conversazione, i documenti forniti per il retrieval e i token che il modello genera come risposta. Quando un compito supera il context window, i token più vecchi vanno eliminati o riassunti. Per questo le lunghe esecuzioni degli agenti e i lavori su codebase molto grandi sono limitati dalla dimensione del contesto. I modelli open-weight attuali che serviamo, come MiniMax M2.7, offrono context window di circa 192K token.
Durante l'inferenza tutto il contesto in ingresso viene letto nella fase di prefill, in cui il modello elabora in parallelo ogni token del prompt per costruire il suo stato interno, la KV cache. Solo dopo può emettere il primo token. Ogni token generato durante il decode torna poi a consultare, tramite l'attention, il contesto memorizzato. Il context window non è quindi solo un limite di capacità: è proprio ciò che viene elaborato a ogni richiesta, e la sua dimensione determina direttamente le prestazioni di quella richiesta.
Perché la lunghezza del contesto incide su velocità e costi
Il costo del contesto non è lineare. Il meccanismo di attention alla base del transformer confronta ogni token con tutti gli altri, quindi il lavoro del prefill cresce in modo quadratico con la lunghezza del prompt: un prompt di 1.000 token comporta circa un milione di confronti di attention, uno di 10.000 token cento milioni. In produzione, il prefill di un prompt da 128K token può richiedere diversi secondi, e quello di un prompt da un milione di token decine di secondi, prima che compaia un solo token di output. Per questo i valori di tempo al primo token non hanno senso se non si conosce la lunghezza dell'input.
Il contesto consuma anche memoria, e la memoria è il vero vincolo durante la generazione. La KV cache conserva chiavi e valori per ogni token del context window e cresce con la lunghezza del contesto: per un grande modello denso può arrivare a decine di gigabyte con un contesto di 128K. Rileggere questa cache e i pesi del modello per ogni token generato è un problema di larghezza di banda della memoria, non di calcolo. Per questo l'utilizzo delle GPU tende a crollare con i contesti lunghi, ed è lì che l'hardware progettato attorno alla memoria aiuta di più. Metodi come PagedAttention gestiscono la cache in modo più efficiente, così un sistema può servire più richieste a contesto lungo nello stesso momento.
Leggere con occhio critico le promesse sul contesto
Un context window pubblicizzato come molto ampio non significa che il modello lo usi tutto bene, né in fretta. Due provider che servono lo stesso modello con lo stesso context window nominale possono differire molto: nella velocità con cui elaborano un prompt lungo e nella stabilità sotto carico. Un numero da titolo di giornale nasconde queste differenze. Se il contesto conta per il tuo workload, confronta il tempo di prefill alla tua lunghezza di input reale e la velocità di output sostenuta, non solo il context window massimo. Sulla nostra infrastruttura UE il prefill gira su hardware dataflow progettato per tenere i dati sul chip, e così accorcia l'attesa che un prompt lungo impone prima del primo token.
Fonti
Guarda queste metriche misurate dal vivo sulla nostra infrastruttura UE: numeri reali da hardware di produzione, verificati in modo indipendente.
Vedi i benchmark dal vivo