Il problema della ripetizione di calcoli nell’inferenza dei LLM
Ogni volta che un assistente di intelligenza artificiale riceve un documento esteso, deve elaborarlo prima di poter rispondere. Quando gli stessi documenti, istruzioni o cronologia di conversazione riappaiono, gran parte del lavoro di pre‑elaborazione viene ripetuto. Su scala aziendale, questa ridondanza consuma capacità di GPU costose senza produrre valore aggiunto.
Tensormesh affronta questa inefficienza con la Tensormesh Platform, annunciata il 14 ottobre 2026. Il team, già autore del progetto open‑source LMCache, ha aggiunto una “layer” di gestione aziendale al tradizionale meccanismo di cache chiave‑valore (KV) per le organizzazioni che eseguono grandi modelli linguistici sulla propria infrastruttura.
Come funziona la cache KV e perché è importante
L’inferenza dei LLM si compone di due fasi fondamentali: il pre‑riempimento, in cui il modello elabora l’istruzione di ingresso, e la decodifica, in cui genera la risposta token per token. La cache KV conserva gli stati intermedi legati all’attenzione, consentendo al modello di consultare i token già processati senza ricalcolare tutto da zero.
Riutilizzare questi stati in richieste diverse riduce il lavoro di pre‑riempimento quando il contesto di ingresso si ripete. Un esempio tipico è un assistente di supporto che consulta lo stesso manuale di prodotto per centinaia di domande diverse, oppure un agente che include costantemente le stesse istruzioni o tool insieme a compiti variabili.
È importante notare che questo non equivale a memorizzare una risposta già prodotta. Il sistema riutilizza il calcolo associato al contesto condiviso, ma genera comunque una risposta nuova per una domanda diversa.
La documentazione di vLLM sul caching automatico dei prefissi descrive questo vantaggio per query ripetute su documenti e conversazioni multi‑turno, ma sottolinea un limite: il caching dei prefissi accelera il pre‑riempimento, non la generazione dei nuovi token di output. Carichi di lavoro dominati da risposte lunghe o da input quasi sempre unici trarranno meno beneficio.
Per gli acquirenti aziendali la questione cruciale è capire quale percentuale delle proprie richieste contiene contesto riutilizzabile e se è più economico recuperare quel contesto rispetto a ricalcolarlo.
Da cache a infrastruttura gestita
Nel comunicato, Tensormesh evidenzia cinque priorità operative: sicurezza, osservabilità, resilienza, gestione delle politiche e compatibilità multi‑utente. Queste rispondono a esigenze pratiche quali:
- Proteggere i dati memorizzati nella cache.
- Tracciare le metriche di performance.
- Recuperarsi da guasti hardware o software.
- Controllare la ritenzione ed espulsione dei dati.
- Mantenere l’isolamento tra team o clienti che condividono la stessa infrastruttura.
Tensormesh fornisce inoltre API di driver per fissare, localizzare, trasferire, comprimere e cancellare le voci di cache. In questo modo il ciclo di vita della cache diventa una responsabilità operativa esplicita, invece di rimanere interamente gestito dai singoli processi di inferenza.
Il progetto LMCache alla base
LMCache separa la gestione della cache dal motore di servizio e permette il download e il recupero dei dati su più livelli di storage. La sua documentazione descrive il riutilizzo tra richieste, sessioni e istanze del motore, con backend di storage e trasporto plug‑in‑able.
La piattaforma enterprise si costruisce su questi fondamenti. Secondo la guida di installazione, un operatore Kubernetes controlla i componenti del motore di cache: server di cache nei nodi GPU e un coordinatore che orchestra l’intera flotta. Helm è lo strumento di deployment consigliato, mentre una console web e CLI consentono la gestione quotidiana.
Gestione della memoria GPU e strategia di spostamento
La memoria GPU è una risorsa limitata. Conservare al suo interno tutti gli stati potenzialmente riutilizzabili competerebbe con altre esigenze di inferenza. Tensormesh sposta i dati meno utili verso la memoria host o lo storage, aumentando la quantità di informazioni conservabili, ma introducendo costi di larghezza di banda e latenza durante il recupero.
Questa strategia di tiering è cruciale per bilanciare velocità e capacità, soprattutto in scenari in cui la cache supera la capacità della VRAM disponibile.
Oltre i prefissi identici: CacheBlend
Il caching dei prefissi è efficace quando due istruzioni condividono gli stessi token iniziali. Tuttavia, nella generazione aumentata dal recupero (RAG), i documenti pertinenti possono apparire in ordine diverso o dopo testi preliminari differenti.
Consideriamo due richieste ipotetiche che usano gli stessi documenti: una presenta A seguito da B, l’altra B seguito da A. Entrambe contengono materiale riutilizzabile, ma il segmento iniziale comune è breve.
Tensormesh introduce CacheBlend per ampliare il riutilizzo oltre l’inizio dell’istruzione. La documentazione di LMCache spiega che il sistema ricalcola selettivamente una frazione dei token e riutilizza i frammenti già memorizzati. Questo nuovo calcolo è importante perché il contesto circostante un frammento può influenzare lo stato interno del modello.
Il paper di ricerca su CacheBlend, presentato a EuroSys 2025, riporta una generazione del primo token da 2,2 a 3,3 volte più veloce e un throughput da 2,8 a 5 volte superiore rispetto al ricalcolo completo della KV nei carichi di lavoro testati. Gli autori hanno valutato tre modelli open‑source e quattro dataset di riferimento.
Si tratta di risultati ottenuti in condizioni sperimentali specifiche, non di una garanzia di risparmio per ogni implementazione Tensormesh. Tuttavia dimostrano l’interesse tecnico di riutilizzare informazioni oltre il semplice prefisso: si recuperano calcoli utili che altrimenti sarebbero persi.
Riutilizzo tra nodi e compatibilità versionale
L’annuncio menziona trasferimenti KV tra nodi, consentendo a un nodo di ottenere lo stato cache da un altro, e i materiali di prodotto descrivono la separazione tra pre‑processo e decodifica. Tale separazione divide il lavoro di interpretazione delle istruzioni dalla generazione della risposta, permettendo di eseguire le due fasi su worker differenti.
Queste sono modalità complementari di organizzare l’inferenza. Condividere stati compatibili tra nodi evita ricalcoli ridondanti, mentre separare le fasi consente di allocare risorse secondo le specifiche esigenze di ciascuna fase.
Tuttavia, la documentazione pubblica mostra discrepanze sulla disponibilità delle funzionalità. L’introduzione del lancio descrive il sharing tra nodi e la separazione delle fasi, mentre la matrice di compatibilità per versione (aggiornata al 17 settembre) elenca questi elementi nella roadmap, distinguendo tra funzioni già testate e quelle ancora in fase di verifica.
La matrice distingue inoltre tra:
- Funzioni verificate nei test Tensormesh.
- Funzioni supportate nei progetti di origine ma che necessitano di ulteriori test prima di una produzione stabile.
Tra i motori di servizio verificati troviamo vLLM e NVIDIA Dynamo, mentre SGLang e TensorRT‑LLM sono elencati come supportati in via preliminare.
Considerazioni finali per le imprese
Per le organizzazioni che gestiscono flotti di GPU dedicati a LLM, la Tensormesh Platform offre un approccio strutturato al riutilizzo della cache KV, trasformando una semplice ottimizzazione di memoria in un servizio gestito con sicurezza, monitoraggio e policy di retention.
Le aziende dovranno valutare:
- La percentuale di richieste con contesto riutilizzabile.
- Il rapporto costi‑beneficio tra spostamento di dati dalla VRAM allo storage e i guadagni di latenza.
- La compatibilità dei propri modelli e stack (vLLM, Dynamo, ecc.) con le versioni testate di Tensormesh.
- La necessità di funzionalità avanzate come CacheBlend rispetto al semplice caching dei prefissi.
In sintesi, Tensormesh propone una soluzione promettente per ridurre i costi operativi dell’inferenza LLM, soprattutto in scenari caratterizzati da alto riutilizzo di documenti, istruzioni o cronologie di conversazione. La combinazione di gestione aziendale della cache, supporto multi‑livello di storage e innovazioni come CacheBlend potrebbe rappresentare un passo significativo verso inferenze più efficienti e sostenibili.
