top of page

Il trasferimento KV bidirezionale di vLLM riduce il lavoro ripetuto negli agenti multi-turno

7 giorni fa
Tempo di lettura: 12 min

AWS ha segnalato accelerazioni fino a 3,3 volte nel tempo del primo token utilizzando il trasferimento KV bidirezionale di vLLM, che sposta il calcolo riutilizzabile del modello tra server in entrambe le direzioni. Il tempo al primo token, o TTFT, misura quanto a lungo una richiesta attende prima che inizi la risposta. La modifica affronta una specifica inefficienza: gli agenti elaborano ripetutamente la cronologia della conversazione che la loro infrastruttura di serving ha già calcolato.

Nel suo post del 19 ottobre, AWS ha segnalato miglioramenti fino a 1,6 volte per Qwen3-32B e 3,3 volte per GLM-5-FP8. I suoi benchmark di inferenza multi-turno hanno utilizzato istanze Amazon EC2 P5en collegate tramite Elastic Fabric Adapter, la rete AWS progettata per carichi di lavoro distribuiti esigenti. Si tratta di risultati riportati dall'azienda, non di una garanzia di prestazioni stabilita in modo indipendente.

Il confronto centrale è tra ricalcolare il vecchio contesto e recuperare calcoli riutilizzabili da un altro server. NVIDIA Dynamo fornisce un utile riferimento di settore per questa scelta infrastrutturale. Per gli sviluppatori che realizzano agenti, la domanda immediata è se i loro carichi di lavoro impieghino abbastanza tempo a ripetere vecchio lavoro da giustificare un coordinamento aggiuntivo.

Cosa cambia con il trasferimento KV bidirezionale di vLLM

La funzionalità rende disponibile al server che elabora la richiesta successiva il lavoro completato durante una risposta precedente.

Una cache chiave-valore, o cache KV, archivia dati intermedi di attenzione che un modello linguistico riutilizza durante l'elaborazione di una sequenza. Il prefill elabora i token di input, le unità di testo che un modello acquisisce. Il decode genera la risposta. Nel serving disaggregato, worker separati gestiscono queste fasi.

Il nuovo percorso è importante perché il server che genera una risposta possiede calcoli utili derivanti da tale risposta. Una richiesta successiva può includere quelle parole generate insieme alla conversazione precedente. Se un altro server elabora quella richiesta, il lavoro memorizzato utile può altrimenti rimanere isolato sul lato della generazione.

La guida al connettore NIXL descrive un proxy stateful che monitora le posizioni della cache tra i turni. NIXL, NVIDIA Inference Xfer Library, fornisce il meccanismo di trasferimento. In un turno successivo, il worker di prefill può recuperare blocchi idonei dal worker di decode prima di elaborare nuovo input.

Questo cambia da dove può provenire il lavoro riutilizzabile. Non elimina la necessità di elaborare materiale realmente nuovo.

Si consideri un agente di coding esemplificativo che indaga su una build non riuscita. Legge un errore, propone una spiegazione, invoca uno strumento e riceve il risultato di un test. La richiesta successiva al modello contiene sia la cronologia conversazionale nota sia nuove evidenze. Ripetere i calcoli per la parte nota non aggiunge nulla all'indagine.

Il recupero è interessante quando spostare un calcolo esistente richiede meno tempo che ricostruirlo. Questa condizione è il fulcro economico e tecnico della funzionalità. Un trasferimento che risparmia calcolo ma aggiunge un'attesa più lunga vanificherebbe lo scopo.

Questo spiega anche perché la notizia va oltre un benchmark di modello più veloce. Il modello può rimanere invariato mentre il sistema di serving modifica quanto lavoro precedente sopravvive tra le chiamate. Il comportamento dell'infrastruttura diventa parte della reattività dell'agente.

Per i team di prodotto, questa distinzione aiuta a individuare le responsabilità. Una risposta di follow-up lenta non significa automaticamente che il modello selezionato debba essere sostituito. L'applicazione potrebbe pagare nuovamente per un contesto che ha già elaborato.

Per i team infrastrutturali, cambia l'unità di analisi. Trattare ogni richiesta come non correlata può nascondere opportunità che emergono solo quando le richieste appartengono a un'attività in corso. La conversazione diventa rilevante per la pianificazione e la gestione della cache.

Il cambiamento pratico è quindi più circoscritto della memoria persistente di un agente, ma più concreto. Riguarda il calcolo riutilizzabile associato a una sequenza di input continuativa. Se un agente ricordi i fatti giusti resta un problema applicativo distinto.

Questo confine rende l'annuncio utile. Identifica una fonte misurabile di latenza senza affermare di risolvere la qualità del ragionamento, l'affidabilità degli strumenti o ogni ritardo che circonda un agente.

Le conversazioni in crescita mettono sotto pressione i team di serving

I team più esposti sono quelli che servono chiamate al modello ripetute e ricche di contesto all'interno della stessa attività.

La pressione deriva da una discrepanza tra il comportamento dell'applicazione e l'infrastruttura orientata alle richieste. L'attività di un agente prosegue tra una chiamata e l'altra, mentre il sistema di serving deve comunque decidere quale calcolo sopravviva a ciascuna richiesta.

Un assistente di ricerca esemplificativo rende facile osservare questa discrepanza. Raccoglie documenti, confronta risultati, riceve una correzione e rivede la risposta. Ogni fase introduce nuove informazioni, ma gran parte del contesto di lavoro resta rilevante.

Dal punto di vista dell'utente, queste fasi appartengono allo stesso lavoro. Dal punto di vista del livello di serving, ciascuna fase crea un'altra richiesta con input da elaborare. L'opportunità consiste nel riconoscere la continuità senza presumere che ogni parte dell'input rimanga riutilizzabile.

La distinzione è importante per gli acquirenti enterprise che valutano dimostrazioni di agenti. Un'interazione iniziale reattiva non dimostra che una lunga indagine resterà reattiva. La valutazione dovrebbe seguire l'attività nei turni successivi, incluse correzioni e risposte degli strumenti.

È importante anche per i responsabili engineering che scelgono dove investire. La selezione del modello, la progettazione dell'applicazione e la configurazione del serving affrontano fonti di ritardo diverse. Un'ampia lamentela secondo cui un agente sembra lento offre poche indicazioni finché tali fonti non vengono separate.

La documentazione vLLM opera una distinzione rilevante nelle sue indicazioni sul prefilling disaggregato. Separare prefill e decode permette di ottimizzarne indipendentemente il comportamento in termini di latenza. La documentazione avverte anche che la disaggregazione in sé non migliora il throughput, ovvero il volume di lavoro che un sistema completa nel tempo.

Questo avvertimento evita un facile salto da avvii di risposta più rapidi a una maggiore capacità complessiva. Un'applicazione può migliorare una misura di latenza mentre un altro collo di bottiglia resta invariato. Gli acquirenti dovrebbero chiedere quale risultato miri realmente a ottenere una modifica infrastrutturale proposta.

Un agente di assistenza clienti illustra la differenza. Avviare prima la spiegazione rende la conversazione più reattiva. Non abbrevia necessariamente una lenta ricerca dell'account o il tempo necessario per completare un'azione esterna.

Allo stesso modo, un assistente di coding può iniziare prima a descrivere una correzione senza completare prima la sua suite di test. Il miglioramento delle prestazioni resta prezioso, ma il suo contributo appartiene a una cronologia più ampia dell'attività.

Per i knowledge worker, il collegamento con una base di conoscenza personale è pratico: trovare informazioni utili ed elaborare contesto ripetuto generano attese diverse. Migliorare uno non dimostra che sia migliorato anche l'altro.

L'implicazione per i team di prodotto è misurare sia l'avvio delle risposte sia le attività completate. Altrimenti, un guadagno infrastrutturale può essere sopravvalutato nel marketing o trascurato nello sviluppo.

Ecco perché l'inferenza multi-turno di vLLM merita una valutazione come sequenza. La domanda importante non è semplicemente se un server risponda rapidamente. È se le interazioni ripetute preservino lavoro utile man mano che l'attività cresce.

Il riutilizzo compete con il ricalcolo, non con un modello rivale

Il confronto più solido è tra modi alternativi di servire lo stesso carico di lavoro continuativo.

Sarebbe fuorviante trasformare questo annuncio in una classifica di modelli. AWS ha testato un'ottimizzazione del serving. I risultati non dimostrano che un modello sia diventato più capace di un altro.

Anche il baseline esistente merita un trattamento attento. vLLM supporta già la cache automatica dei prefissi, che riutilizza il calcolo memorizzato quando le richieste condividono una sequenza iniziale. La sua documentazione identifica le domande ripetute sui documenti e le conversazioni multi-turno come carichi di lavoro rilevanti.

Il trasferimento bidirezionale affronta quindi l'accesso al calcolo riutilizzabile tra i worker. Non introduce l'idea generale di evitare l'elaborazione ripetuta dei prompt.

Questa distinzione cambia il modo in cui i team dovrebbero interpretare un confronto. Un deployment che conserva già una cache locale utile parte da una posizione diversa rispetto a uno che ne perde ripetutamente l'accesso. Il beneficio incrementale dipende da ciò che il sistema esistente fa effettivamente.

La separazione tra prefill e decode di vLLM crea un problema di collocazione oltre a un problema di calcolo. Il lavoro utile può esistere da qualche parte nel deployment senza essere disponibile dove serve alla richiesta successiva.

Un'analogia utile è un team di engineering che ripete un'analisi perché il risultato completato si trova presso un altro gruppo. L'ingrediente mancante è l'accesso e il coordinamento. Rendere più veloce il calcolo originale affronterebbe una parte diversa del problema.

La documentazione di NVIDIA sul serving disaggregato offre un confronto neutrale. Dynamo separa i worker di prefill e decode e distingue tale separazione dal routing basato sulla posizione della cache. Avverte inoltre che la disaggregazione non è automaticamente preferibile per ogni carico di lavoro.

Questo rende Dynamo un riferimento di settore, piuttosto che prova di una vittoria competitiva diretta. La documentazione mostra che il posizionamento dei worker, il trasferimento e il riutilizzo sono questioni più ampie del serving. Non fornisce un confronto equivalente con questa configurazione AWS.

Per gli acquirenti, la domanda competitiva utile è se un sistema alternativo gestisca più efficacemente i loro schemi conversazionali in condizioni comparabili. I soli nomi dei prodotti non possono rispondere a questa domanda.

Lo stesso ragionamento si applica all'inferenza multi-turno di vLLM all'interno di un deployment esistente. Un team dovrebbe confrontare il percorso proposto con la propria configurazione attuale reale. Il confronto con una configurazione artificialmente più debole risponde a una domanda più circoscritta.

Esiste anche una scelta su dove debba risiedere la complessità. Mantenere il lavoro locale può semplificare l'accesso ma limitare il posizionamento. Recuperarlo da remoto può ampliare le opportunità di riuso introducendo però lavoro di coordinamento e trasferimento.

Nessuno dei due approcci vince per definizione. L'evidenza decisiva è se il calcolo risparmiato superi il lavoro aggiunto nelle condizioni operative dell'applicazione.

Questa cornice mantiene l'analisi incentrata sull'evento verificato. Evita di inventare una competizione tra AWS e NVIDIA quando l'implementazione stessa utilizza tecnologia di trasferimento NVIDIA.

L'annuncio è meglio compreso come un affinamento dell'inferenza distribuita. Rende disponibile un ulteriore percorso di riutilizzo, lasciando poi agli operatori la responsabilità di stabilire quando tale percorso convenga.

La persistenza della cache diventa parte dell'equazione delle prestazioni

Una funzionalità di riutilizzo genera valore solo finché il calcolo utile resta disponibile quando arriva la richiesta successiva.

La documentazione del connettore specifica un periodo predefinito di conservazione lato decodifica di 480 secondi. Descrive inoltre una soglia predefinita di 64 token riutilizzabili prima che venga attivato un trasferimento inverso. Al di sotto di tale soglia, il sistema ricalcola localmente.

Questi controlli rivelano il compromesso alla base del titolo. Conservare i dati in cache occupa memoria. Recuperarli aggiunge lavoro. Rilasciarli troppo presto elimina una futura opportunità di riutilizzo.

La scelta corretta dipende dalla natura dell'attività, non da una preferenza universale per una maggiore memorizzazione nella cache. Una conversazione che riprende rapidamente presenta un'opportunità diversa rispetto a una che resta in pausa mentre una persona esamina un risultato.

Immaginate un agente di analisi interno in attesa di approvazione prima di proseguire. La sua richiesta successiva potrebbe arrivare dopo una breve verifica o dopo una riunione. Mantenere il calcolo durante entrambi gli intervalli comporta un costo in termini di risorse, anche quando il modello non sta rispondendo attivamente.

Un agente automatizzato crea un modello diverso. Il completamento degli strumenti, i tentativi ripetuti e la pianificazione dell'applicazione possono determinare quando arriva la richiesta successiva. Gli operatori dovrebbero quindi esaminare gli intervalli effettivi tra i turni invece di dedurli da una dimostrazione rifinita.

La soglia di recupero solleva una questione parallela. Il riutilizzo remoto comporta un overhead, quindi evitare il calcolo non è una prova sufficiente di una richiesta più veloce. La quantità di lavoro riutilizzabile deve giustificare il recupero.

Per il trasferimento KV bidirezionale di vLLM, ciò significa che una decisione di configurazione può influenzare sia la latenza sia la pressione sulla memoria. Questi risultati dovrebbero essere esaminati insieme, anziché ottimizzati separatamente.

Un team che celebra tempi di avvio delle risposte migliorati dovrebbe anche chiedersi quali risorse siano rimaste occupate tra una risposta e l'altra. Un altro team che riduce la memoria conservata dovrebbe chiedersi quanto lavoro ripetuto sia tornato come conseguenza.

Si tratta di domande di valutazione, non di prove che la funzionalità danneggi necessariamente la capacità. L'affermazione pubblicata stabilisce un'opportunità di latenza in condizioni dichiarate. L'economia di una distribuzione più ampia richiede ulteriori misurazioni.

Anche la gestione delle sessioni merita un'attenzione simile. Il sistema deve associare una richiesta in continuazione al corretto calcolo precedente. Le modifiche dell'applicazione che interrompono tale associazione possono compromettere un carico di lavoro altrimenti adatto.

Per esempio, un team di prodotto potrebbe riprogettare il modo in cui le conversazioni vengono create o riprese. Quel cambiamento dell'applicazione, apparentemente separato, dovrebbe richiedere una nuova verifica delle prestazioni. Il percorso di riutilizzo dipende dalla continuità che raggiunge il livello di serving.

Di conseguenza, il confine tra prefill e decode di vLLM diventa una preoccupazione operativa per più persone dello specialista del model serving. Gli ingegneri applicativi e gli ingegneri dell'infrastruttura necessitano di una comprensione condivisa di come un'attività prosegua tra richieste diverse.

La lezione più ampia riguarda la conservazione deliberata del lavoro utile. Conservazione della cache, identità della richiesta e decisioni di trasferimento appartengono alla stessa discussione sulle prestazioni. Trattarli come impostazioni non correlate rende più difficile spiegare il comportamento risultante.

Il benchmark misura uno specifico scenario di cache miss

I maggiori guadagni riportati da AWS dovrebbero essere interpretati alla luce della baseline che li ha prodotti.

AWS ha disabilitato il caching locale dei prefissi sul worker di prefill per emulare un'evizione o il routing verso un worker privo dei blocchi in cache della conversazione. Il confronto ha utilizzato un nodo di prefill e un nodo di decode.

Si tratta di uno scenario rilevante, ma non rappresenta ogni distribuzione in produzione. Chiede cosa accade quando il lato prefill non dispone di contesto locale riutilizzabile. Non stabilisce lo stesso vantaggio rispetto a una configurazione che conserva coerentemente quel contesto.

La guida alla riproduzione del benchmark aggiunge un importante dettaglio di implementazione. Le istruzioni fissano versioni software specifiche e includono una patch per restituire i metadati di trasferimento nelle risposte in streaming. Riprodurre il risultato richiede quindi attenzione al percorso software testato.

Questo dettaglio è utile proprio perché è operativo. Un semplice feature flag non è una prova sufficiente che una distribuzione stia effettivamente riutilizzando calcolo remoto. Il flusso della richiesta deve trasportare le informazioni necessarie per trovarlo.

La verifica indipendente resta una questione distinta. Il materiale di riproduzione rende l'esperimento più ispezionabile, ma la pubblicazione delle istruzioni non costituisce di per sé una replica esterna.

Non è necessario liquidare il risultato perché proviene dal fornitore. La risposta appropriata è preservarne l'ambito. AWS riporta un beneficio per una configurazione documentata; gli operatori hanno comunque bisogno di prove per il proprio traffico.

Anche l'espressione “fino a” ha un peso reale. Indica un risultato favorevole osservato, non un esito atteso per ogni richiesta. Input più brevi, modelli di riutilizzo diversi o condizioni di distribuzione differenti richiedono misurazioni proprie.

La latenza di avvio della risposta dovrebbe restare distinta dalla durata totale dell'attività. Un primo token può arrivare prima mentre il resto della risposta richiede un tempo simile. Il lavoro degli strumenti e l'elaborazione dell'applicazione possono restare al di fuori di quel miglioramento.

Allo stesso modo, un confronto favorevole tra impostazioni della funzionalità non stabilisce una riduzione proporzionale della spesa per l'infrastruttura. Una conclusione simile richiederebbe misurazioni di risorse e capacità insieme alla latenza.

Una valutazione utile manterrebbe la baseline di produzione anziché rimuovere le sue ottimizzazioni esistenti. Identificherebbe quindi dove il riutilizzo remoto aggiunge valore oltre tali ottimizzazioni.

Il test dovrebbe includere deliberatamente anche casi sfavorevoli. Richieste senza contesto riutilizzabile, conversazioni riprese e normali interruzioni dell'applicazione aiutano a stabilire i limiti del miglioramento.

Questi casi non sono distrazioni rispetto al benchmark. Determinano con quale frequenza le condizioni favorevoli del benchmark si presentino nel servizio che i clienti utilizzano effettivamente.

Questo è il giusto approccio scettico all'annuncio. Il meccanismo è documentato e il risultato riportato è concreto. La questione irrisolta è la frequenza e il valore di tale opportunità al di fuori della configurazione testata.

Cosa dovrebbero monitorare gli operatori nei prossimi tre mesi

Le prossime prove utili collegheranno guadagni di latenza riproducibili con il normale traffico applicativo e le condizioni operative.

Il primo segnale è una replica indipendente rispetto a una baseline simile alla produzione. Un solido seguito manterrebbe intatto il comportamento di caching locale esistente e mostrerebbe quando il recupero remoto aggiunge un beneficio incrementale.

Queste prove rafforzerebbero la tesi del trasferimento KV bidirezionale di vLLM come aggiunta pratica ai sistemi di serving esistenti. Un miglioramento molto più ridotto ne restringerebbe i migliori casi d'uso senza invalidare il risultato originale di cache miss.

La replica dovrebbe anche rendere il confronto comprensibile. I lettori devono sapere cosa è rimasto costante, cosa è cambiato e quali richieste ne hanno beneficiato. Un moltiplicatore isolato in un titolo non può spiegare tali differenze.

Il secondo segnale è la prestazione in presenza di tempistiche e carichi di conversazione variabili. I rapporti utili includerebbero sia le sessioni in corso sia le conversazioni che si interrompono prima di riprendere. Collegherebbero il comportamento della latenza alla memoria conservata e alla capacità di serving disponibile.

Risultati che preservano la reattività in tali condizioni sosterrebbero una maggiore fiducia nella distribuzione su larga scala. Risultati che richiedono tempistiche insolitamente favorevoli indicherebbero un uso più selettivo.

Questo conta perché il programma delle attività di un agente è spesso determinato al di fuori del server del modello. Un'ottimizzazione di serving deve adattarsi a quel programma, anziché presumere che l'applicazione collabori sempre.

Il terzo segnale è una prova di integrazione più chiara attorno al routing e ai metadati. Gli operatori dovrebbero cercare configurazioni riproducibili che mostrino che il riutilizzo remoto avviene realmente, insieme a un comportamento comprensibile quando non può avvenire.

Ciò ridurrebbe l'incertezza tra l'abilitazione della funzionalità e il conseguimento del suo beneficio. Al contrario, ricorrenti errori di integrazione aumenterebbero lo sforzo operativo necessario per giustificare l'adozione.

Questi segnali offrono anche un modo migliore per confrontare le alternative. NVIDIA Dynamo e altre configurazioni di serving dovrebbero affrontare lo stesso carico di lavoro applicativo e le stesse misure di risultato. Affermazioni di benchmark separate non possono da sole stabilire un vincitore.

Per gli sviluppatori, l'opportunità immediata è investigativa anziché architetturale per impostazione predefinita. Stabilite dove le richieste successive impiegano tempo prima di impegnarvi in una distribuzione più complessa.

Per gli acquirenti enterprise, chiedete se il miglioramento dimostrato resiste in un'attività modellata sulla vostra. Includete turni successivi, correzioni, attese degli strumenti e lavoro ripreso. Un breve scambio iniziale lascia senza risposta la questione centrale del riutilizzo.

Per i team di prodotto, preservate la distinzione tra reattività e utilità. Avvii di risposta più rapidi sono preziosi quando la risposta resta corretta e l'attività continua a completarsi in modo affidabile. La metrica di serving appartiene accanto a questi risultati.

Partite da una sessione rappresentativa di un agente e misurate dove viene impiegato il suo tempo. Separate l'elaborazione dell'input, la generazione della risposta, le attese degli strumenti e il lavoro dell'applicazione prima di scegliere un'ottimizzazione. Quindi confrontate il riutilizzo remoto con il comportamento di caching già presente nella vostra distribuzione. Richiedete prove che il calcolo utile sopravviva tra i turni e raggiunga il worker che ne ha bisogno. Monitorate la latenza delle attività completate insieme alla latenza del primo token ed esaminate l'uso della memoria con lo stesso carico di lavoro. Il trasferimento KV bidirezionale di vLLM offre un modo concreto per recuperare lavoro ripetuto, ma il suo valore dipende dalla frequenza con cui quel lavoro è recuperabile. Usate il benchmark pubblicato come una pista verificabile, quindi valutate la funzionalità rispetto alle conversazioni che la vostra applicazione serve realmente.

 
 

Inizia gratis

Un assistente IA local-first con gestione della conoscenza personale

Per una migliore esperienza con l’IA,

al momento remio supporta solo Windows 10+ (x64) e M-Chip Macs.

Il tuo partner AI al lavoro
Fai di più con remio

Pianifica. Crea. Consegna.
Tutto in un unico posto.

bottom of page