Home Tecnologia IndexCache, un nuovo ottimizzatore di attenzione sparsa, offre un’inferenza 1,82 volte più...

IndexCache, un nuovo ottimizzatore di attenzione sparsa, offre un’inferenza 1,82 volte più veloce su modelli AI a lungo contesto

7
0

Elaborare 200.000 token attraverso un modello linguistico di grandi dimensioni è costoso e lento: più lungo è il contesto, più rapida sarà la spirale dei costi. I ricercatori della Tsinghua College e di Z.ai lo hanno fatto ha creato una tecnica chiamata IndexCache che riduce fino al 75% del calcolo ridondante nei modelli di attenzione scarsa, offrendo un time-to-first-token fino a 1,82 volte più veloce e un throughput di generazione 1,48 volte più veloce a quella lunghezza di contesto.

La tecnica si applica ai modelli che utilizzano l’architettura DeepSeek Sparse Consideration, comprese le ultime famiglie DeepSeek e GLM. Può aiutare le aziende a fornire esperienze utente più rapide per modelli su scala di produzione e contesto lungo, una capacità già dimostrata nei take a look at preliminari sul modello GLM-5 da 744 miliardi di parametri.

Il collo di bottiglia dei DSA

I grandi modelli linguistici si basano sul meccanismo di auto-attenzione, un processo in cui il modello calcola la relazione tra ogni token nel suo contesto e tutti i precedenti per prevedere il token successivo.

Tuttavia, l’attenzione a sé stessi ha una grave limitazione. La sua complessità computazionale scala quadraticamente con la lunghezza della sequenza. Per le applicazioni che richiedono finestre di contesto estese (advert esempio, elaborazione di documenti di grandi dimensioni, flussi di lavoro con agenti in più fasi o ragionamento con una lunga catena di pensiero), questo ridimensionamento quadratico porta a velocità di inferenza lente e costi di elaborazione e memoria significativi.

Scarsa attenzione offre una soluzione di principio a questo problema di scalabilità. Invece di calcolare la relazione tra ogni token e tutti quelli precedenti, la scarsa attenzione ottimizza il processo facendo in modo che ciascuna question selezioni e si occupi solo del sottoinsieme di token più rilevante.

Architettura DeepSeek Sparse Consideration (DSA) (fonte: arXiv)

DeepSeek Scarsa attenzione (DSA) è un’implementazione altamente efficiente di questo concetto, introdotta per la prima volta in DeepSeek-V3.2. Per determinare quali token contano di più, DSA introduce un leggero “modulo indicizzatore fulmineo” su ogni livello del modello. Questo indicizzatore assegna un punteggio a tutti i token precedenti e seleziona un piccolo batch per l’elaborazione del meccanismo di attenzione principale principale. In questo modo, DSA riduce il pesante calcolo dell’attenzione centrale da quadratico a lineare, accelerando notevolmente il modello e preservando la qualità dell’output.

Ma i ricercatori hanno identificato un difetto persistente: lo stesso indicizzatore DSA opera ancora con una complessità quadratica su ogni singolo livello. Anche se l’indicizzatore è computazionalmente più economico del processo di attenzione principale, man mano che la lunghezza del contesto aumenta, il tempo impiegato dal modello nell’esecuzione di questi indicizzatori sale alle stelle. Ciò rallenta notevolmente il modello, soprattutto durante la fase iniziale di “precompilazione” in cui il immediate viene elaborato per la prima volta.

Imposta sull'indice DSA

La tassa di indicizzazione DSA aumenta con la lunghezza del contesto (fonte: arXiv)

Caching dell’attenzione con IndexCache

Per risolvere il collo di bottiglia dell’indicizzatore, il workforce di ricerca ha scoperto una caratteristica cruciale del modo in cui i modelli DSA elaborano i dati. Il sottoinsieme di token importanti selezionati da un indicizzatore rimane notevolmente stabile mentre i dati si spostano attraverso strati di trasformazione consecutivi. Check empirici sui modelli DSA hanno rivelato che gli strati adiacenti condividono tra il 70% e il 100% dei token selezionati.

Per sfruttare questa ridondanza multistrato, i ricercatori hanno sviluppato IndexCache. La tecnica suddivide gli strati del modello in due categorie. Un piccolo numero di livelli completi (F) conserva i propri indicizzatori, assegnando attivamente un punteggio ai token e scegliendo quelli più importanti da memorizzare nella cache. Il resto degli strati diventa condiviso (S), non eseguendo alcuna indicizzazione e riutilizzando gli indici memorizzati nella cache dallo strato F precedente più vicino.

IndexCache

IndexCache divide i livelli in livelli completi e condivisi

Durante l’inferenza, il modello controlla semplicemente il tipo di layer. Se raggiunge un livello F, calcola e memorizza nella cache nuovi indici. Se si tratta di un livello S, salta i calcoli e copia i dati memorizzati nella cache.

Esiste una vasta gamma di tecniche di ottimizzazione che cercano di affrontare il collo di bottiglia dell’attenzione comprimendo la cache KVdove sono memorizzati i valori di attenzione calcolati. Invece di ridurre l’ingombro della memoria come avviene con la compressione della cache KV normal, IndexCache attacca il collo di bottiglia del calcolo.

“IndexCache non è una tradizionale tecnica di compressione o condivisione della cache KV”, ha detto a VentureBeat Yushi Bai, coautore dell’articolo. “Elimina questa ridondanza riutilizzando gli indici su più livelli, riducendo così il calcolo anziché semplicemente l’impronta della memoria. È complementare agli approcci esistenti e può essere combinato con essi.”

I ricercatori hanno sviluppato due approcci di distribuzione per IndexCache. (Vale la pena notare che IndexCache si applica solo ai modelli che utilizzano l’architettura DSA, come gli ultimi modelli DeepSeek e l’ultima famiglia di modelli GLM.)

Per gli sviluppatori che lavorano con modelli DSA normal in cui la riqualificazione è irrealizzabile o troppo costosa, hanno creato un metodo senza formazione basandosi su un algoritmo di “selezione di livelli avidi”. Eseguendo un piccolo set di dati di calibrazione attraverso il modello, questo algoritmo determina automaticamente il posizionamento ottimale degli strati F e S senza alcun aggiornamento del peso. L’evidenza empirica mostra che l’algoritmo grasping può rimuovere in sicurezza il 75% degli indicizzatori, rispettando al tempo stesso le prestazioni a valle del modello originale.

Per i workforce che si stanno preparando o che stanno mettendo a punto i propri modelli di base, i ricercatori propongono una versione sensibile alla formazione che ottimizza i parametri di rete per supportare in modo nativo la condivisione multilivello. Questo approccio introduce una “perdita per distillazione multistrato” durante l’addestramento. Costringe ciascun indicizzatore mantenuto a imparare come selezionare un sottoinsieme di token di consenso che sarà altamente rilevante per tutti i livelli successivi che serve.

Accelerazioni reali sui modelli di produzione

Per testare l’impatto di IndexCache, i ricercatori lo hanno applicato al parametro da 30 miliardi GLM-4.7Flash modello e lo abbiamo confrontato con il riferimento normal.

Con una lunghezza del contesto di 200.000, la rimozione del 75% degli indicizzatori ha ridotto la latenza di precompilazione da 19,5 secondi a soli 10,7 secondi, offrendo una velocità di 1,82 volte. I ricercatori notano che queste accelerazioni dovrebbero essere ancora maggiori in contesti più lunghi.

Durante la fase di decodifica, in cui il modello genera la sua risposta, IndexCache ha aumentato il throughput per richiesta da 58 token al secondo a 86 token al secondo al livello di contesto di 200.000, ottenendo una velocità di 1,48 volte. Quando la memoria del server è completamente satura di richieste, il throughput di decodifica totale aumenta fino al 51%.

Prestazioni di IndexCache

IndexCache velocizza significativamente le fasi di precompilazione e decodifica (fonte: arXiv)

Per i workforce aziendali, questi miglioramenti in termini di efficienza si traducono direttamente in risparmi sui costi. “In termini di ROI, IndexCache offre vantaggi costanti in tutti gli scenari, ma i vantaggi sono più evidenti nei carichi di lavoro a lungo contesto come RAG, analisi dei documenti e pipeline di agenti”, ha affermato Bai. “In questi casi, osserviamo una riduzione di almeno il 20% circa dei costi di implementazione e miglioramenti simili nella latenza percepita dall’utente.” Ha aggiunto che per compiti a contesto molto breve, i benefici si aggirano intorno al 5%.

Sorprendentemente, questi guadagni di efficienza non hanno compromesso le capacità di ragionamento. Utilizzando l’approccio senza formazione per eliminare il 75% degli indicizzatori, il modello 30B ha eguagliato il punteggio medio della linea di base originale su benchmark a lungo contesto, ottenendo un punteggio di 49,9 contro il 50,2 originale. Sul complesso benchmark di ragionamento matematico AIME 2025, il modello ottimizzato ha effettivamente sovraperformato il riferimento originale, ottenendo un punteggio di 92,6 rispetto a 91,0.

Il workforce ha anche condotto esperimenti preliminari sul modello GLM-5 da 744 miliardi di parametri su scala di produzione. Hanno scoperto che l’eliminazione del 75% dei suoi indicizzatori con il metodo senza formazione ha prodotto un aumento di velocità di almeno 1,3 volte su contesti superiori a 100.000 token. Allo stesso tempo, il modello ha mantenuto una qualità media quasi identica nelle attività a lungo contesto.

IndexCache GLM-5

IndexCache aumenta la velocità di GLM-5 del 20% mantenendo la precisione (fonte: arXiv)

Mettere IndexCache in produzione

Per i workforce di sviluppo che desiderano implementare oggi l’approccio senza formazione, il processo è semplice ma richiede un’attenta configurazione. Sebbene l’algoritmo di ricerca avido trovi automaticamente la configurazione ottimale del livello, la qualità di story configurazione dipende dai dati che elabora.

“Raccomandiamo di utilizzare dati specifici del dominio come set di calibrazione in modo che il modello di condivisione dei livelli scoperto si allinei con i carichi di lavoro reali”, ha affermato Bai.

Una volta calibrata, l’ottimizzazione è altamente accessibile per gli ambienti di produzione. Le patch open supply sono già disponibili disponibile su GitHub per i principali motori di servizio. “L’integrazione è relativamente semplice: gli sviluppatori possono applicare la patch a stack di inferenza esistenti, come vLLM o SGLang, e abilitare IndexCache con modifiche minime alla configurazione”, ha affermato Bai.

Sebbene IndexCache fornisca una soluzione immediata agli odierni colli di bottiglia dell’elaborazione, la sua filosofia di fondo punta a un cambiamento più ampio nel modo in cui il settore dell’intelligenza artificiale affronterà la progettazione dei modelli.

“I futuri modelli di base saranno probabilmente progettati tenendo presente fin dall’inizio i vincoli di inferenza a valle”, ha concluso Bai. “Ciò significa progetti che non sono solo scalabili in termini di dimensioni del modello, ma anche ottimizzati per throughput e latenza del mondo reale, anziché trattarli come preoccupazioni post-hoc”.

fonte

LEAVE A REPLY

Please enter your comment!
Please enter your name here