Introduzione
Liquid AI ha annunciato il rilascio di un modello sperimentale DSpark, denominato LFM2.5‑VL‑DSpark, per il vision‑language model LFM2.5‑VL‑3B. Come per i recenti modelli LFM2.5‑DSpark per il testo, questo drafter aggiunge un percorso di decodifica speculativa che richiede un aumento minimo del footprint di memoria, ma offre un’accelerazione notevole della generazione senza compromettere la qualità dei risultati.
Architettura del drafter vision
Il drafter vision utilizza la stessa architettura dei drafter testuali LFM2.5‑DSpark: cattura gli stati nascosti del modello target in un insieme fisso di layer “tapped” e, a partire da questi, propone un blocco di k token candidati. Le patch d’immagine e i token testuali vengono proiettati in una rappresentazione condivisa prima dei layer monitorati, così il drafter opera su vettori di stato nascosto di dimensione identica indipendentemente dalla modalità di ingresso.
Integrazione multimodale
Grazie a questa proiezione comune, l’algoritmo di inferenza rimane invariato rispetto ai modelli testuali: il drafter non deve distinguere tra token visuali e token linguistici, ma elabora semplicemente vettori di stato nascosto a dimensionalità costante.
Addestramento e configurazione
Il modello è stato addestrato secondo la ricetta DSpark, utilizzando un mix di dati SFT (Supervised Fine‑Tuning) vision‑language pesati verso i carichi di lavoro previsti. Sono state testate configurazioni con 3, 4 e 5 layer; l’opzione finale è un drafter semplificato “attention‑only” con 4 layer e una dimensione di blocco pari a 9. Dopo dieci epoche di addestramento sul mix finale, si è osservata una crescita della percentuale di token accettati, seguita da un punto di ritorno dove ulteriori token di training hanno offerto rendimenti decrescenti.
Per l’inferenza, si raccomanda un blocco di dimensione 8 o 9 a seconda dell’hardware disponibile.
Dimensioni e impatto sui parametri
Il drafter vision conta circa 280 milioni di parametri, il che comporta un aumento del 8,9 % del conteggio totale dei parametri del modello LFM2.5‑VL‑3B distribuito. Questo incremento contenuto permette di mantenere un footprint di memoria contenuto, ideale per dispositivi edge.
Supporto e integrazione
Il modello DSpark per LFM2.5‑VL‑3B è rilasciato con supporto immediato per tre runtime principali:
- llama.cpp: richiede la build specifica (PR #29339).
- MLX‑VLM: richiede la build corrispondente (PR #2280).
- SGLang: necessita di una build di SGLang con supporto DSpark per target LFM2 (PR #40651).
In tutti i casi, la dimensione del blocco viene letta dal file di configurazione config.json del drafter o dal metadata sidecar (campo n‑max).
Valutazioni di prestazioni
Inference su dispositivo
Su hardware Apple con MLX (M5 Max), la decodifica è risultata da 2,30× a 3,13× più veloce a seconda del compito, con miglioramenti della latenza end‑to‑end da 1,56× a 2,62×. Con llama.cpp su un M3 Ultra, la decodifica è cresciuta da 1,57× a 2,14×, mentre la latenza totale è migliorata da 1,30× a 1,77×.
Inference su GPU
Su una GPU H100, lo stesso drafter ha ottenuto accelerazioni di decodifica comprese tra 2,66× e 20,4×, con miglioramenti della latenza end‑to‑end che variano da 1,64× a 2,27×.
Limiti della decodifica speculativa
Nei LLM tradizionali, la fase di “prefill” è prevalentemente limitata dal calcolo e il suo costo cresce quasi in modo quadratico con la lunghezza del prompt. Nei VLM, il costo è amplificato perché l’immagine deve prima attraversare un encoder vision e poi il backbone linguistico elabora centinaia di token visivi assieme al prompt testuale. Sui dispositivi edge, con capacità di calcolo molto inferiore rispetto alle GPU di data‑center, la fase di prefill occupa una frazione significativa della latenza complessiva, come dimostrano le misurazioni su Apple silicon e H100.
La decodifica speculativa accelera solo la fase di generazione dei token, non l’encodifica visiva né il prefill. Quando queste ultime rappresentano già la maggior parte del tempo di esecuzione, anche un’enorme accelerazione della decodifica si traduce in un guadagno end‑to‑end modestamente ridotto, in accordo con la legge di Amdahl.
Istruzioni per l'uso
Per avviare i modelli DSpark con SGLang:
- Compilare SGLang con il supporto DSpark per target LFM2 (vedere PR #40651).
- Avviare il modello target includendo il flag
--speculative‑drafte gli altri flag--speculative‑*corrispondenti. - Interrogare l’endpoint compatibile OpenAI all’indirizzo
http://localhost:30000/v1. - Il valore di