Il contesto impossibile diventa possibile

Ottenere quasi 100.000 token di contesto con un Large Language Model da 27 miliardi di parametri su una scheda consumer con soli 32 GB di VRAM suonava fino a ieri come un esercizio di overclocking estremo. Eppure l’utente Reddit BitGreen1270 ha dimostrato che è fattibile, spingendosi addirittura a 115.000 token, utilizzando una NVIDIA RTX 5090, la quantization Q8 del modello e una gestione chirurgica della cache chiave-valore. Il setup è quello tipico di chi sviluppa in self-hosted: un server Ubuntu headless con 64 GB di RAM, llama-server attivato con Flash Attention e speculative decoding (draft-mtp, massimo 4 bozze).

L’esperimento non ha pretese scientifiche, ma illumina una traiettoria concreta per chi progetta stack di inference on-premise. Fino a oggi, contesti così ampi erano appannaggio di costose GPU enterprise con 80 GB di VRAM o più; ora una singola scheda consumer di ultima generazione, purché gestita con le giuste leve di configurazione, può servire sessioni di coding assistito, analisi documentale o conversazioni prolungate senza mai uscire dal perimetro aziendale.

Per AI-RADAR, che si occupa di mappare le scelte di deployment che privilegiano sovranità dei dati e controllo totale, questo test è più di un aneddoto: mostra il confine mobile tra hardware consumer ed esigenze enterprise, e solleva domande che riguardano il costo totale di possesso, la qualità effettiva e la riproducibilità del risultato su altri modelli e task.

I numeri emersi – velocità di inference nell’ordine dei 140 token al secondo per codice Python e un tasso di accettazione dei draft speculativi superiore a 0,69 nel caso più spinto – non vanno presi come benchmark assoluti, ma indicano che non esiste un crollo drammatico delle prestazioni quando si forza il contesto. Il segnale, per chi valuta l’infrastruttura LLM, è che il compromesso tra qualità, memoria e finestra di token può essere spostato molto più in là di quanto si pensasse.

La cache KV: il regolatore nascosto della VRAM

La ragione tecnica di questo risultato sta nella possibilità di quantizzare anche la cache chiave-valore, non solo i pesi del modello. Nei Transformer, la cache KV immagazzina le rappresentazioni di chiavi e valori di ogni token elaborato, ed è il vero motore del consumo di VRAM quando si allunga la finestra di contesto. Con la sola quantization del modello a Q8, BitGreen1270 riportava una finestra nativa di circa 60.000 token; per arrivare oltre ha agito proprio sui formati della cache, utilizzando i flag -ctk e -ctv di llama.cpp.

Le tre configurazioni testate sono un mini-albero delle decisioni per l’amministratore di sistema che deve fare i conti con l’ultimo gigabyte di memoria video. Opzione 1: 95K token con chiavi e valori entrambi a Q8_0, VRAM residua di appena 230 MB a freddo e 90 MB dopo il benchmark. Opzione 2: 105K token, chiavi Q8_0 e valori Q5_1, margine tra 320 e 180 MB. Opzione 3: 115K token, chiavi Q8_0 e valori Q4_0, da 290 a 150 MB liberi. In tutti i casi si viaggia sul filo dei 100-300 MB, e l’autore ha dovuto regolare anche parametri come -b e -ub per risparmiare circa 100 MB, sufficienti a fare la differenza tra funzionamento e crash.

La lezione è chiara: quando si spinge l’hardware al limite, la quantization della cache KV diventa una leva imprescindibile, e ogni scelta sui formati di chiavi e valori apre un diverso equilibrio tra memoria occupata, fedeltà delle rappresentazioni e velocità. La metrica sintetica del tasso di accettazione dei draft speculativi – che misura quanto le bozze generate dal modello draft vengono effettivamente utilizzate dal modello principale – offre un proxy indiretto della qualità: più alto è il tasso, più il modello si comporta come se avesse a disposizione una cache non degradata.

Perché l’opzione più aggressiva funziona (per ora)

Il dato forse più sorprendente è che la configurazione 3, quella che adotta la quantization più spinta sui valori (Q4_0), ha registrato il tasso aggregato di accettazione migliore (0,6969) e il tempo totale più basso (14,93 secondi su 9 richieste), davanti alla più conservativa opzione 1 (0,6619, 15,41 s) e all’opzione 2 (0,6346, 15,84 s). La velocità in token/s per lo scenario di coding Python oscilla tra 138,7 e 142,0, senza un declino all’aumentare della finestra. Il modello, un Qwen3.6-27B, sembra quindi tollerare una forte compressione dei valori senza che la qualità percepita ne risenta vistosamente.

Questo comportamento potrebbe dipendere dal fatto che nei meccanismi di attenzione le chiavi giocano un ruolo più critico nell’indirizzare la ricerca, mentre i valori possono essere approssimati con meno danni. Inoltre, la famiglia Qwen è nota per una buona resilienza alla quantization, ma l’assenza di test oggettivi – l’utente ammette di basarsi su impressioni soggettive – impone cautela. Tuttavia, che l’opzione con valori a Q4_0 abbia raggiunto 115K token senza degradare il tasso di accettazione è un segnale che i progettisti di pipeline di inference dovrebbero prendere in seria considerazione.

Il meccanismo dello speculative decoding aggiunge un ulteriore strato: il draft model, anch’esso quantizzato, beneficia di una cache più compressa e può addirittura accelerare la generazione, compensando eventuali imprecisioni. In un contesto di deployment on-premise, dove spesso il vincolo primario è la capienza della VRAM e non la latenza pura, l’approccio di spingere la quantization della cache diventa un moltiplicatore di capacità senza richiedere investimenti hardware aggiuntivi.

On-premise: dalla fattibilità aneddotica alla strategia di deployment

Per chi valuta un parco macchine self-hosted, l’esperimento ricalcola il TCO in modo radicale. Una RTX 5090 ha un costo di listino nell’ordine delle migliaia di euro, contro le decine di migliaia di una GPU server con 80 GB di VRAM. Se una singola scheda consumer può gestire un LLM da 27B quantizzato a Q8 con contesti superiori a 100K token, moltissimi scenari di analisi documentale, revisione di codice estesa o assistenti conversazionali diventano economicamente sostenibili senza dover ricorrere a infrastrutture cloud o datacenter.

Certo, il test è condotto su un modello specifico e con un carico di lavoro particolare (programmazione assistita), ma il principio è generalizzabile: una volta scelta la famiglia di modelli e la quantization adatta al proprio dominio, la regolazione fine della cache KV può moltiplicare la finestra utile. I flag -ctk e -ctv di llama.cpp offrono un controllo granulare che permette di costruire configurazioni su misura, bilanciando precisione e memoria secondo le esigenze del caso d’uso. A questo si aggiunge la possibilità di usare tecniche come Flash Attention, già abilitata nel test, che libera ulteriore banda di memoria.

Il risvolto sulla sovranità dei dati è immediato: l’intero processo di inference rimane confinato su macchine di proprietà, con la possibilità di gestire dati sensibili senza trasferirli a servizi esterni. Per settori come quello legale, sanitario o finanziario, dove la riservatezza è un requisito normativo, la prospettiva di un modello di grandi dimensioni a contesto esteso interamente on-premise sposta l’asticella di ciò che è fattibile in-house.

Il nodo della qualità: quando il giudizio soggettivo non basta

Il grande assente di questo esperimento è la valutazione oggettiva della qualità del testo generato. BitGreen1270 aveva già notato che la quantization Q8 del modello produceva risultati soggettivamente migliori rispetto a Q6 o Q5, e su questa base ha costruito il proprio setup. Ma quando si applica una quantization aggressiva anche alla cache KV, il giudizio “a occhio” rischia di occultare degrado sottile in compiti complessi, come il ragionamento multi-step o la coerenza su lunghi contesti.

L’industria tende a considerare la famiglia Qwen particolarmente tollerante alla quantization, ma non esistono ancora benchmark standardizzati che misurino la qualità di un modello quantizzato su finestre così ampie. Per chi fa deployment on-premise, questo significa dover investire in test interni, magari usando metriche di similarità rispetto all’output del modello non quantizzato o task specifici di needle-in-a-haystack. Senza una validazione rigorosa, il rischio è di scegliere configurazioni che sembrano veloci e capienti, ma sacrificano precisione dove conta.

È qui che si inserisce la missione di AI-RADAR: offrire framework di valutazione che aiutino a mappare il trade-off tra risorse e qualità su casi d’uso concreti. L’esperimento mostra che il confine è mobile, ma non fornisce coordinate certe. La prossima sfida per la community del self-hosted sarà sviluppare protocolli di test che restituiscano indicatori affidabili, magari correlando il tasso di accettazione speculativa con metriche di scoring automatico, per guidare le scelte senza affidarsi al solo intuito.

Cosa tenere d’occhio: segnali dal confine dell’hardware consumer

La dimostrazione sulla RTX 5090 non è un punto di arrivo, ma un termometro di una tendenza che va monitorata. L’aumento della VRAM sulle schede consumer – la serie 5000 di NVIDIA ha portato per la prima volta 32 GB sul mercato di fascia alta – sta ridefinendo i confini di ciò che è possibile fare in locale. Se i produttori manterranno questa progressione, modelli ancora più grandi o quantizzati con meno compromessi saranno alla portata di un server sotto la scrivania.

Sul versante software, l’ecosistema llama.cpp continua a raffinare i formati di quantization (k-quants, i-quants) e le ottimizzazioni come Flash Attention e speculative decoding. L’integrazione di queste tecniche abbassa la barriera tecnica per l’utente enterprise che vuole mantenere il controllo sull’intera pipeline. D’altro canto, la concorrenza di framework come vLLM o TensorRT-LLM sul fronte consumer potrebbe frammentare il panorama degli strumenti, rendendo più complessa la scelta.

Infine, il passo successivo sarà la possibilità di fare fine-tuning low-rank (LoRA) direttamente su modelli quantizzati, mantenendo il setup su singola GPU. Se a una finestra di 100K token si aggiungerà la capacità di adattare il modello ai dati proprietari senza spostarsi su hardware più potente, il paradigma on-premise farà un salto di qualità definitivo. Per ora, l’esperimento di BitGreen1270 è un promemoria potente: con la giusta combinazione di scelte tecniche, il “troppo grande per la mia scheda” sta diventando rapidamente “c’è margine anche per allargare il contesto”.