IT
Una rappresentazione condivisa della cache serve più layer del modello
BellowsKV: One Latent for Many Layers, Expanded on Demand · arXiv:2610.35023
In parole semplici
I modelli linguistici conservano traccia delle parole precedenti per rispondere usando un input lungo, ma ogni layer mantiene una propria cache. BellowsKV è un metodo di compressione che non richiede di addestrare di nuovo il modello: conserva una sola rappresentazione per token per i layer vicini, poi permette a ciascun layer di ricostruire le proprie chiavi e i propri valori di attenzione quando servono.
Gli autori hanno rilevato che gli input dei layer vicini erano simili, mentre le voci delle rispettive cache non lo erano. Su tre modelli, la versione quantizzata ha mantenuto in media circa il 97–98% dei punteggi dei modelli con cache non compressa nelle 11 attività con contesto lungo, con una compressione di circa 13–14 volte.
La ricerca
Un modello linguistico con contesto lungo conserva in ogni layer una traccia separata dei token precedenti, e ogni richiesta richiede la propria cache.
Durante la generazione, i layer adiacenti possono condividere memoria e recuperare comunque le diverse chiavi e i diversi valori di attenzione di cui ciascuno ha bisogno?
BellowsKV è un metodo che, senza nuovo addestramento, conserva una rappresentazione condivisa calibrata per ogni token tra layer adiacenti e ricostruisce poi le chiavi e i valori separati di ciascun layer.
Tre modelli istruiti a seguire istruzioni sono stati valutati con il sistema degli autori di xKV su LongBench, una raccolta di 11 attività in inglese che comprende risposte a domande, sintesi e ricerca di dettagli in testi lunghi.
Per ogni attività, il punteggio è stato diviso per quello ottenuto dallo stesso modello con cache non compressa, poi è stata calcolata la media. La versione quantizzata di BellowsKV ha mantenuto il 97–98% con una compressione di 13–14x; xKV ha mantenuto il 54–84% a circa 16x.
I risultati supportano la possibilità di conservare la rappresentazione condivisa alla dimensione completa usando meno bit, anche se i rapporti di compressione differiscono.
I risultati su LongBench riguardano tre modelli e 11 attività, con input più lunghi di 4.000 e fino a 32.000 token. Inoltre, i punti di confronto di BellowsKV usano rapporti di compressione inferiori a quelli di xKV e CommonKV.
Cosa mostrano le prove
- Individuare il collo di bottiglia della memoria
BellowsKV è un metodo che comprime la cache key-value (KV) di un modello senza addestrarlo di nuovo: si tratta dei dati che ogni layer conserva sui token precedenti. Ogni richiesta mantiene una cache separata per ciascun layer, quindi input più lunghi e batch più grandi durante l'erogazione aumentano l'uso di memoria.
La domanda è se layer adiacenti possano condividere i dati conservati e recuperare comunque le proprie chiavi e i propri valori di attenzione.
- Capire quali informazioni condividono i layer
Gli autori hanno confrontato token per token i layer vicini nei modelli Llama e Qwen non compressi. Per gli stati interni e le voci della cache hanno usato la similarità coseno, una misura di quanto i vettori puntino in direzioni simili.
Gli stati interni erano molto simili, mentre le chiavi e i valori corrispondenti avevano una similarità prossima a zero. Questo indica che le informazioni condivise si trovano negli input usati per formare la cache, non nelle voci della cache riutilizzabili da un altro layer.
- Ricostruire la cache di ogni layer
BellowsKV ricava una proiezione dai dati di calibrazione per ogni gruppo di layer adiacenti. Usa la proiezione per conservare una rappresentazione condivisa per token, poi ogni layer applica la propria proiezione per ricostruire chiavi e valori.
Il metodo mantiene la rappresentazione condivisa alla sua dimensione completa e la comprime rappresentando i valori con meno bit oppure rimuovendo token selezionati con una decisione unica per gruppo.
- Misurare le prestazioni mantenute
LongBench comprende 11 attività in inglese: rispondere a domande, riassumere e trovare informazioni in testi lunghi. Il sistema di valutazione degli autori di xKV ha misurato tre modelli istruiti a seguire istruzioni con input più lunghi di 4.000 e fino a 32.000 token.
Per ogni attività, il paper ha diviso il punteggio con cache compressa per quello ottenuto dallo stesso modello con cache non compressa, poi ha calcolato la media sulle attività. La versione quantizzata di BellowsKV ha mantenuto il 97–98% con una compressione di 13–14x; xKV ha mantenuto il 54–84% a circa 16x.
- Esaminare l'ipotesi sul rango
Un controllo ha confrontato la base di xKV a un quarto del rango e in fp16, con una compressione di 16x, con xKV-hold, che mantiene la base vicino al rango completo, ma la conserva a quattro bit e raggiunge 15,06x. La percentuale di punteggi mantenuti è salita su Llama e Mistral, rispettivamente dall'83,5% al 97,6% e dal 79,5% al 99,2%, ma è scesa dal 54,4% al 23,4% su Qwen.
Poiché rango e precisione sono cambiati insieme, il controllo non permette di isolare nessuno dei due fattori; inoltre, gli autori non spiegano il risultato su Qwen.
- Verificare il recupero su altri modelli
BrowseComp-Plus valuta il recupero seguito da una risposta in un solo turno; il suo valutatore assegna punteggi alle risposte su 830 domande. Con un prompt di 32.768 token riempito di passaggi fuorvianti difficili, i punteggi di BellowsKV a una compressione di 14,61x erano vicini a quelli della cache non compressa: 86,02 contro 85,54 su Qwen3-32B e 85,78 contro 86,14 su Qwen3-30B-A3B.
È un'evidenza aggiuntiva su due modelli e un'attività, non una conferma delle prestazioni in generale su altre attività.
Dettagli
- Autori del paper originale
- Jiamu Zhang, Hanjie Chen
- Inviato ad arXiv
- Licenza
- CC BY 4.0