L'ascesa dei Diffusion LLM sui dispositivi mobili

I Large Language Models (LLM) basati su architetture di diffusione, noti come Diffusion LLM (dLLM), rappresentano una frontiera promettente per l'intelligenza artificiale generativa. Questi modelli sono in grado di accelerare la generazione di testo attraverso un processo di "denoising" parallelo di più token, rendendoli particolarmente attraenti per applicazioni che richiedono bassa latenza, come quelle eseguite direttamente su dispositivi mobili. La capacità di elaborare rapidamente e in parallelo è cruciale per offrire esperienze utente fluide e reattive su smartphone e altri dispositivi edge.

Tuttavia, l'implementazione di dLLM su piattaforme mobili non è priva di ostacoli. Il processo iterativo di denoising, sebbene efficiente in termini di generazione, introduce un carico computazionale considerevole per le risorse limitate degli smartphone. Questo rende la sfida di portare LLM complessi direttamente sui dispositivi una priorità per chi mira a deployment locali e a una maggiore sovranità dei dati.

Le sfide dell'inference su NPU mobili

Le unità di elaborazione neurale (NPU) integrate nei moderni smartphone offrono un'elevata capacità di calcolo per operazioni su matrici dense, fondamentali per i carichi di lavoro degli LLM. Nonostante questo potenziale, sfruttare appieno le NPU per l'inference di dLLM in modo efficiente è un compito complesso. Diverse problematiche tecniche emergono in questo contesto.

In primo luogo, la natura dei dLLM porta a un progressivo restringimento dei carichi di lavoro effettivi per blocco man mano che la generazione avanza, rendendo difficile mantenere l'NPU costantemente occupata. In secondo luogo, la revisione dei token, una caratteristica intrinseca dei dLLM, complica il riutilizzo efficiente della cache KV (Key-Value), un componente critico per la velocità dell'inference. Infine, lo spazio di indirizzamento limitato visibile alle NPU introduce costi elevati dovuti a operazioni di remapping e trasferimenti di dati, che possono vanificare i vantaggi di throughput offerti da queste unità.

llada.cpp: un framework per l'efficienza on-device

Per affrontare queste sfide, è stato sviluppato llada.cpp, il primo framework di inference consapevole delle NPU progettato specificamente per accelerare i dLLM su smartphone. llada.cpp allinea l'inference dei dLLM, gestita blocco per blocco, con le caratteristiche di esecuzione delle NPU mobili attraverso un approccio basato su tre tecniche innovative.

La prima tecnica, denominata "Multi-Block Speculative Decoding", mira a riempire i carichi di lavoro decrescenti nelle fasi avanzate della decodifica del blocco corrente con token speculativi del blocco futuro. Questo mantiene l'NPU attiva e riduce i tempi morti. La seconda, "Dual-Path Progressive Revision", consente ai token già "committati" di rimanere revisionabili fino a quando non sono stabili, aggiornando i token instabili tramite un percorso gestito dalla CPU, senza interrompere l'esecuzione densa sull'NPU. Infine, il "Swap-Optimized Memory Runtime" compatta i layout degli indirizzi visibili all'NPU e sovrappone la preparazione dei dati con il calcolo dell'NPU, riducendo drasticamente i costi di remapping e trasferimento.

Implicazioni per l'AI al limite della rete

L'implementazione di llada.cpp come framework end-to-end e la sua valutazione su diverse piattaforme hardware e carichi di lavoro dLLM hanno dimostrato risultati significativi. Il framework ha ridotto la latenza di generazione per il modello LLaDA-8B di un fattore compreso tra 17x e 42x rispetto a una baseline CPU che utilizzava il riutilizzo della cache KV con prefisso, mantenendo al contempo l'elevata qualità della generazione.

Questi risultati evidenziano il potenziale di llada.cpp nel rendere i dLLM praticabili per l'inference su dispositivi edge. Per CTO, DevOps lead e architetti di infrastrutture che valutano alternative self-hosted o on-device, soluzioni come llada.cpp sono fondamentali. Esse permettono di mantenere la sovranità dei dati, ridurre la dipendenza dal cloud e ottimizzare il Total Cost of Ownership (TCO) per carichi di lavoro AI che richiedono elaborazione locale e bassa latenza. La capacità di eseguire LLM complessi direttamente su smartphone apre scenari per applicazioni più intelligenti e private, dove i dati sensibili non devono lasciare il dispositivo.