Cos'è MobileLLM
MobileLLM è una famiglia di modelli di linguaggio di grandi dimensioni (LLM) sviluppata da Meta AI, progettata specificamente per girare su dispositivi con risorse limitate come smartphone, tablet, wearable e sistemi embedded. A differenza dei modelli da miliardi di parametri che richiedono server cloud potenti, MobileLLM punta a offrire prestazioni utili con architetture "sub-billion", cioè con meno di un miliardo di parametri nelle varianti più leggere, fino a circa 1,5 miliardi nelle versioni più grandi.
La ricerca è stata presentata a ICML 2024 con il paper "MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases". L'obiettivo è dimostrare che, con le scelte architetturali giuste, un modello molto piccolo può raggiungere risultati sorprendenti su compiti di ragionamento, codice e comprensione del linguaggio naturale, pur rimanendo eseguibile in locale su hardware mobile.
A cosa serve
MobileLLM è pensato per scenari in cui l'intelligenza artificiale deve rispondere in tempo reale, consumare poca energia e rispettare la privacy dell'utente. Esempi tipici sono l'assistenza vocale sul telefono, la generazione di risposte rapide in app di messaggistica, il completamento del codice in ambienti di sviluppo mobili, la correzione grammaticale offline e l'estrazione di informazioni da documenti direttamente sul dispositivo.
Le varianti specializzate ampliano il campo d'azione. MobileLLM-R1, ad esempio, è ottimizzato per il ragionamento strutturato in matematica, programmazione e scienza. MobileLLM-Pro introduce un contesto fino a 128.000 token, utile per riassumere documenti lunghi, rispondere a domande su testi estesi e gestire flussi conversazionali con memoria estesa, sempre in locale.
Come funziona
Il cuore di MobileLLM è una serie di scelte architetturali volte a massimizzare l'efficienza per parametro. Meta ha adottato un design "deep and thin": molti strati Transformer ma con dimensioni ridotte, cosa che migliora la capacità di ragionamento rispetto a modelli più larghi e meno profondi con lo stesso numero di parametri. Tra le tecniche principali figurano la SwiGLU activation function, la condivisione dei pesi degli embedding, la grouped-query attention (GQA) per ridurre l'uso della memoria durante l'inferenza e, nelle versioni più recenti, l'attenzione locale-globale intercalata per gestire contesti lunghi senza esplodere i costi computazionali.
