Domenica 25 ottobre 2026
L’edizione di oggi
Millebit
AI · Software · QA
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

Approfondimento

Efficienza dei LLM: compressione, memoria condizionale e progetto del contesto

Testo scritto con l’intelligenza artificiale a partire da 4 fonti citate, senza revisione umana prima della pubblicazione.

Ottimizzazioni diverse, quantizzazione estrema che conserva il tool-calling, primitive di memoria integrata e progettazione del contesto per finestre molto ampie, rendono praticabili prestazioni vicine ai grandi modelli cloud riducendo memoria, latenza e costi operativi.

Illustrazione generata con l’intelligenza artificiale

Saluki 27B comprime Qwen3.8-27B in 7,9 GB, dichiara circa due bit per peso e, nei test degli autori, supera una build da 54 GB su 120 task di function calling scelti dal Berkeley Function Calling Leaderboard1. La tesi: ottimizzazioni diverse, dalla quantizzazione estrema alla memoria condizionale, insieme a pratiche di progettazione del contesto e a flussi di esecuzione locale, spostano l’attenzione dall’aumento dei parametri all’uso efficiente delle risorse.

Compressione estrema che mantiene il tool-calling

La domanda posta dagli autori di Saluki è precisa: questa build è un remix dei bit esistenti o modifica la rappresentazione del modello1? Per rispondere, partono dai file GGUF in una copia non modificata di llama.cpp. Fanno un diff degli header, tensore per tensore, per cercare differenze nei metadati. Passano poi al contenuto e confrontano i byte per capire se riusano i bit della quantizzazione di partenza o se il contenuto cambia. L’analisi scende oltre i nomi dei tensori e controlla la corrispondenza byte per byte1.

Il progetto dichiara la base: la quantizzazione GSQ-RCO di ISTA-DASLab applicata a Qwen3.8-27B1. La verifica non si ferma ai file. La prova in runtime usa una singola GPU e la stessa cornice per entrambe le build. Ogni modello viene caricato in llama.cpp1. L’obiettivo è accertare il comportamento su task di function calling, non solo l’output generativo, e osservare se la compressione preserva capacità come il tool-calling dichiarato nel titolo della fonte1.

Il risultato riportato è netto su quel set di test: una quantizzazione a circa due bit per peso, in questa configurazione, mostra prestazioni di function calling superiori alla build di riferimento più grande su 120 task presi dal Berkeley Function Calling Leaderboard1. La metodologia descritta combina ispezione dei file, confronto byte per byte e prova in esecuzione con condizioni controllate, a partire da file GGUF e dalla stessa base di caricamento1.

Memoria condizionale integrata: la primitiva lookup di Engram

Engram propone un modulo che fornisce ai transformer una primitiva nativa per il recupero di conoscenza. Non un accessorio esterno, ma un meccanismo integrato che il modello usa per recuperare conoscenza quando serve, invece di ricalcolare fatti fissati in addestramento. Scalato a 27 miliardi di parametri, supera un baseline mixture-of-experts a parità di parametri e FLOPs su tutti i benchmark riportati dagli autori3. Il lavoro è descritto nel paper “Conditional Memory via Scalable Lookup”, identificato su arXiv come 2601.07372. Il preprint risulta sottomesso a gennaio 2026 e revisionato a luglio 20263.

L’idea è diretta. I modelli odierni ricalcolano fatti già noti, come “capitale della Francia uguale Parigi”, attivando miliardi di parametri per arrivare a una risposta fissata in addestramento. Gli autori chiedono perché non guardare in una tabella e riservare il calcolo al pezzo difficile del compito3. La fonte sintetizza Engram come una primitiva nativa di lookup: un’operazione di primo livello nel flusso del transformer, pensata per evitare duplicazioni di calcolo su conoscenza ripetitiva3.

Il collegamento con l’efficienza è esplicito nella descrizione. Una memoria interrogabile in modo esplicito riduce il lavoro richiesto ai parametri del modello per recuperare fatti che non richiedono ragionamento, lasciando al calcolo i passaggi che lo richiedono. I risultati riportati dagli autori indicano benefici su ragionamento e codice a parità di risorse rispetto al baseline considerato3.

Progettare il contesto quando la finestra cresce a centinaia di migliaia di token

Le finestre contestuali sono arrivate a centinaia di migliaia di token. I team trattano tutto ciò che il modello vede come un budget unico da progettare: istruzioni di sistema, documenti recuperati, risultati degli strumenti, cronologia della conversazione, memoria2. Più spazio invita a incollare tutto. È una trappola. Il contesto irrilevante diluisce l’attenzione e peggiora l’accuratezza, anche quando la risposta è presente nella finestra2.

La fonte indica cosa entra davvero nel budget del contesto. L’istruzione di sistema, che definisce ruolo, vincoli e formato di output, si imposta una volta e si riusa a ogni chiamata. I documenti recuperati sono i chunk estratti per la domanda specifica, dove conta la pertinenza più del volume. I risultati degli strumenti, ciò che una funzione o una ricerca restituiscono, sono spesso la parte più rumorosa della finestra. La cronologia della conversazione, i turni precedenti, va potata in modo aggressivo nei loop di agenti lunghi2.

Questo orientamento sposta il lavoro sulle scelte di selezione e potatura. Il budget del contesto diventa un vincolo da gestire in modo esplicito. L’aggiunta indiscriminata di testo, anche quando lo spazio lo permette, peggiora i risultati. La fonte mette in guardia contro l’equivalenza tra più spazio e uso migliore, e richiama a una progettazione che massimizza la pertinenza degli elementi inseriti in finestra2.

Da cloud a laptop: esecuzione locale e vincoli pratici

Un esempio concreto di esecuzione leggera arriva da Qwen3-4B su Windows. Tre passaggi e un driver NVIDIA aggiornato: il modello risponde in locale dal browser a partire da un file da 1,24 GB4. Target chiaro: Windows 10 o 11 con una GeForce RTX serie 30, 40 o 50. Obiettivo: far girare un modello da 4 miliardi di parametri senza account, senza cloud, senza compilazione4.

Le installazioni richieste sono minime. Serve solo il driver. Il pacchetto zip include i runtime CUDA necessari, con i file cudart64_12.dll, cublas64_12.dll e cublasLt64_12.dll. Non serve il CUDA Toolkit4. Contano VRAM e disco. Lo zip pesa 1,59 GB e, una volta estratto, occupa 1,89 GB. Il modello si scarica nella stessa cartella. Qwen3-4B richiede 1,24 GB, Llama-3.1-8B 2,39 GB. La GPU deve gestire anche il contesto della chat4.

La base software è Pingala-8. È una build open source, una versione patchata di llama.cpp. Gli autori dichiarano anche dove questa build non arriva, così da chiarire limiti e aspettative del percorso in tre passaggi4. Il flusso operativo resta essenziale. Niente Python. Niente CUDA Toolkit. Niente fase di build. Con una GPU compatibile si ottiene una chat locale, via browser, partendo dal file del modello4.

Queste scelte mostrano come la configurazione incida su peso su disco, dipendenze e gestione del contesto. Il pacchetto include i runtime necessari e punta a ridurre passaggi di installazione. I numeri riportati per dimensioni degli archivi, requisiti del modello e target hardware definiscono il perimetro operativo della guida4.

La stessa attenzione ai dettagli tecnici emerge nelle analisi di compressione. In Saluki, il confronto parte dai file GGUF, passa per il diff degli header e arriva al controllo byte per byte. In esecuzione, la prova usa una singola GPU e la stessa cornice di caricamento per entrambe le build1. Nelle pratiche di contesto, la fonte elenca con precisione cosa entra nel budget e cosa evitare quando la finestra cresce2. In Engram, gli autori descrivono la primitiva di lookup, l’architettura integrata e i risultati rispetto al baseline a parità di risorse, con riferimenti puntuali al preprint e alla sua cronologia su arXiv3.

Questi elementi, presi insieme dalle fonti, delineano tre direttrici concrete: compressione con verifica fine dei binari e del comportamento in esecuzione1, memoria condizionale integrata nel modello con risultati riportati a parità di FLOPs3, progettazione del contesto come budget da governare per evitare degradi di accuratezza anche in finestre molto ampie2. Sul piano pratico, le guide di esecuzione locale indicano dimensioni, dipendenze e requisiti per portare una chat in locale su Windows con GPU recenti4.

Fonti

  1. Saluki 27B: Qwen3.8 quantizzato in 7,9 GB mantiene il tool-calling millebit.com
  2. Finestre contestuali da centinaia di migliaia di token obbligano a progettare il contesto millebit.com
  3. Engram, lookup nativo per i transformer: migliora ragionamento e codice a parità di risorse millebit.com
  4. Qwen3-4B su laptop NVIDIA: guida in tre passi per Windows millebit.com
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 7,9/10.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.