← Ultimi articoli
🤖 apprendimento automatico

Accelerating Offloading-Based MoE Inference by Interleaving Concurrent Requests

Il documento presenta Bevy, un sistema di inferenza MoE che supera i metodi tradizionali di prefetching impiegando uno scheduler auto-bilanciante per intercalare richieste concorrenti, sovrapponendo così il recupero degli esperti alla computazione senza fare affidamento su predizioni imprecise.

Autori originali: Hongseung Yu, In Gim, Kyunghan Lee, Lin Zhong

Pubblicato 2026-11-04
📖 7 min di lettura🧠 Approfondimento

Autori originali: Hongseung Yu, In Gim, Kyunghan Lee, Lin Zhong

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). ✨ Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Nel ronzio silenzioso di un computer personale, un nuovo tipo di intelligenza sta prendendo radici. I grandi modelli linguistici, i motori dietro i moderni chatbot e gli assistenti alla scrittura, si stanno spostando sempre più dai massicci data center ai computer locali come desktop e workstation. Questo passaggio permette agli utenti di utilizzare questi potenti strumenti senza dipendere da Internet, ma introduce un vincolo fisico: la memoria del computer è limitata. Per far sì che questi modelli ci stiano dentro, i ricercatori utilizzano una tecnica chiamata "mixture of experts" (miscela di esperti). Immaginate una vasta biblioteca di conoscenze dove, per ogni domanda posta, solo alcuni libri specifici vengono prelevati dallo scaffale per essere letti, mentre il resto rimane intatto. Questo mantiene il lavoro veloce ed efficiente. Tuttavia, su un dispositivo personale, anche i "pochi libri" necessari per un singolo momento potrebbero non entrare tutti contemporaneamente nella memoria attiva del computer. Quando il computer ha bisogno di un libro che non è presente, deve interrompere il suo pensiero per andarlo a prendere da un'unità di archiviazione più lenta, lasciando il processore inattivo e in attesa.

Per anni, la soluzione standard a questo gioco dell'attesa è stata la predizione. Il sistema cerca di indovinare quali libri saranno necessari successivamente e li preleva in anticipo mentre il processore sta lavorando al compito corrente. È come un bibliotecario che, mentre state leggendo un capitolo, estrae silenziosamente i capitoli successivi più probabili dallo scaffale in modo che siano pronti quando girate pagina. Ma un team di ricercatori della Seoul National University e della Yale University ha scoperto che questa strategia spesso fallisce quando il computer mantiene già una piccola cache di libri nella sua memoria attiva. Man mano che quella cache si riempie con i libri più utili, le ipotesi del bibliotecario diventano meno accurate, sprecando tempo e larghezza di banda nel prelevare libri che non verranno mai aperti. Invece di cercare di indovinare il futuro, i ricercatori hanno trovato un modo migliore: semplicemente lasciare che il lavoro avvenga in un ordine diverso. Permettendo a diverse richieste di procedere al proprio ritmo, il sistema può rivelare esattamente ciò di cui si ha bisogno successivamente senza indovinare, trasformando il tempo di attesa inerte in lavoro produttivo.

I ricercatori, guidati da Hongseung Yu e Kyunghan Lee, hanno costruito un nuovo sistema chiamato Bevy per testare questa idea. Hanno osservato che quando vengono inviate al modello più richieste contemporaneamente — come quando un utente chiede una revisione del codice mentre un'altra parte del software controlla un'e-mail — le richieste non hanno tutte bisogno degli stessi libri nello stesso momento. Nei sistemi tradizionali, il computer aspetta che ogni singola richiesta abbia raccolto tutti i suoi libri necessari prima di iniziare il passo successivo per ognuna di esse. Questo crea un collo di bottiglia in cui il processore resta fermo mentre l'unità di archiviazione lavora. Bevy cambia questo ritmo. Permette a una richiesta che ha tutti i suoi libri pronti di procedere immediatamente al passaggio successivo, mentre altre richieste attendono l'arrivo dei loro libri mancanti. Mentre la richiesta pronta avanza, essa rivela esattamente quali libri le serviranno per il passaggio successivo. Il sistema preleva quindi quei libri specifici mentre il processore è occupato con la richiesta pronta. Ciò crea una sovrapposizione fluida in cui l'unità di archiviazione e il processore lavorano contemporaneamente, ma senza alcun bisogno di predizione.

La chiave per far funzionare tutto questo in modo fluido è uno scheduler auto-bilanciante che decide come raggruppare le richieste. Se il sistema lasciasse semplicemente che ogni richiesta corresse da sola, il processore dovrebbe leggere gli stessi libri condivisi dalla memoria ripetutamente per ogni richiesta, rallentando tutto. Se le raggruppasse tutte in modo troppo rigido, perderebbe il beneficio di lasciare che le richieste veloci procedano in avanti. Bevy risolve questo problema raggruppando le richieste dinamicamente, livello per livello. Se molte richieste sono pronte contemporaneamente, le raggruppa per massimizzare l'efficienza. Se ne sono pronte solo poche perché altre sono ancora in attesa di libri, le lascia procedere in gruppi più piccoli. Questa flessibilità assicura che il processore non sia mai inattivo aspettando che si formi un gruppo, e che l'unità di archiviazione non sia mai inattiva aspettando che una richiesta finisca. Il sistema si adatta in tempo reale alle mutevoli esigenze delle richieste, creando un flusso in cui calcolo e prelievo avvengono in parallelo naturalmente.

I risultati di questo approccio sono stati misurati su due diverse piattaforme di calcolo locale, una che utilizza un chip Apple e l'altra un NVIDIA Jetson AGX Thor Developer Kit con 128 GB di memoria unificata e un Samsung 9100 PRO 2 TB SSD, eseguendo due diversi modelli linguistici di grandi dimensioni. I ricercatori hanno confrontato Bevy con il metodo standard utilizzato in software popolari come llama.cpp, nonché con i sistemi basati sulla predizione più avanzati disponibili. Hanno scoperto che Bevy supera costantemente gli altri. Nei test con un numero variabile di richieste simultanee, Bevy ha fornito fino a 3,46 volte più lavoro al secondo rispetto al metodo standard e fino a 1,55 volte più rispetto al sistema basato sulla predizione più veloce. Il miglioramento è stato più significativo quando il computer doveva gestire molte richieste contemporaneamente. Anche quando i ricercatori hanno testato il sistema con una grande cache di libri già in memoria, dove i sistemi di predizione faticavano a causa della scarsa accuratezza, Bevy manteneva la sua velocità. Questo perché Bevy non ha mai sprecato tempo a prelevare libri che non servivano; ha prelevato solo ciò che era esplicitamente richiesto dalle richieste che attraversavano il sistema.

Lo studio ha anche esplorato se aggiungere la predizione sopra Bevy potesse aiutare ulteriormente. I ricercatori hanno provato a combinare il nuovo metodo di scheduling con un sistema di predizione, aspettandosi che i due lavorassero insieme. Tuttavia, hanno scoperto che la predizione non aggiungeva valore e talvolta rallentava persino le cose. Poiché Bevy mantiene il collegamento di archiviazione molto impegnato nel prelevare gli esatti libri necessari per le richieste pronte, non rimane tempo extra per prelevare i libri predetti. Inoltre, quando il sistema prova a predire, spesso sbaglia, sprecando larghezza di banda per libri che non verranno mai utilizzati. I ricercatori hanno concluso che in questo specifico ambiente, dove una cache locale contiene già molti degli elementi necessari, l'atto di predire non è solo superfluo ma dannoso. La via più efficiente è lasciare che le richieste rivelino i propri bisogni man mano che procedono e programmare il lavoro in modo che il sistema stia sempre facendo qualcosa di utile, che si tratti di calcolo o di prelievo.

Questo lavoro suggerisce un cambiamento fondamentale nel modo in cui l'intelligenza artificiale locale può essere gestita. Dimostra che l'efficienza non deriva sempre dal cercare di essere più intelligenti riguardo al futuro, ma dall'essere più reattivi al presente. Lasciando che i compiti procedano al proprio ritmo e raggruppandoli solo quando ha senso, il sistema elimina il tempo di inattività che ha a lungo afflitto l'IA locale. Le scoperte si basano su misurazioni concrete di throughput e tempi su molteplici configurazioni hardware, fornendo un quadro chiaro di come questo nuovo metodo di scheduling si comporti in condizioni reali. I ricercatori non hanno sostenuto che questo risolva ogni problema dell'inferenza locale, ma hanno dimostrato che, per la specifica sfida di eseguire modelli grandi e voraci di memoria su dispositivi personali, un semplice cambiamento nell'ordine delle operazioni può produrre miglioramenti drammatici. Il sistema, chiamato Bevy, rappresenta un esempio pratico di come ripensare il flusso di lavoro possa sbloccare il pieno potenziale dell'hardware esistente, rendendo l'intelligenza potente più veloce e reattiva proprio sulla scrivania dell'utente.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →