Gli LLM locali su Android permettono di eseguire modelli di intelligenza artificiale direttamente sullo smartphone, senza affidarsi necessariamente a un collegamento cloud. Per comprenderne il funzionamento servono nozioni su hardware, modelli AI, formati quantizzati, memoria RAM e motori di inferenza.
app per eseguire LLM locali su Android
Tra le prime applicazioni popolari dedicate all’esecuzione di modelli linguistici direttamente su dispositivi Android figura MLC Chat. Sviluppata dal team MLC AI, utilizza il framework MLC-LLM per compilare e avviare i modelli in modo efficiente sull’hardware mobile.
LM Studio è un’applicazione conosciuta per l’utilizzo degli LLM, ma la sua destinazione è rappresentata dai sistemi operativi desktop, non dagli smartphone Android.
hardware necessario per l’inferenza locale
il ruolo della NPU negli smartphone Android
Il componente più importante per accelerare l’inferenza locale è la NPU, cioè la Neural Processing Unit. Questa unità è progettata per gestire i calcoli matriciali sui quali si basano i modelli linguistici di grandi dimensioni.
Chip come quelli della serie Qualcomm Snapdragon 8 e i processori Google Tensor includono NPU dedicate. Rispetto all’utilizzo esclusivo della CPU, queste unità possono aumentare la velocità dell’elaborazione AI e contenere il consumo della batteria.
formato GGUF e quantizzazione dei modelli
Il formato più utilizzato per eseguire LLM quantizzati su dispositivi con risorse limitate è GGUF, acronimo di GGML Unified Format. Questo standard ha sostituito il precedente GGML ed è impiegato soprattutto con strumenti come llama.cpp.
La sua struttura consente di caricare i modelli in blocchi, una caratteristica utile quando la memoria RAM disponibile sul telefono è contenuta.
che cosa significa quantizzare un LLM
La quantizzazione consiste nella riduzione della precisione numerica dei pesi del modello. Un esempio è il passaggio da valori in virgola mobile a 32 bit a valori interi a 4 bit.
Questa procedura riduce in modo significativo le dimensioni del file e l’occupazione della memoria, rendendo possibile l’esecuzione di modelli capaci su uno smartphone. Il compromesso può comportare una lieve diminuzione della precisione, compensata da un’inferenza più rapida e da requisiti hardware inferiori.
Gemini Nano e le prime funzioni on-device
Gemini Nano è la prima versione della famiglia Gemini progettata per funzionare direttamente sul dispositivo. La sua prima apparizione pubblica su Android è avvenuta sul Pixel 8 Pro, attraverso due funzioni specifiche.
- Summarize nell’app Pixel Recorder;
- Smart Reply nella tastiera Gboard.
Queste funzioni hanno rappresentato un passaggio verso l’intelligenza artificiale generativa on-device, con elaborazione locale senza invio dei dati al cloud.
memoria RAM richiesta per un modello 7B
Un modello con circa 7 miliardi di parametri, sottoposto a quantizzazione a 4 bit, richiede generalmente 4-6 GB di memoria. Per questo motivo, gli smartphone Android di fascia alta con 8-12 GB di RAM risultano i più adatti a un’esperienza fluida.
I dispositivi con una quantità inferiore di memoria possono avere difficoltà con i modelli più grandi, arrivando a eseguire l’inferenza molto lentamente o a interrompere il funzionamento dell’applicazione.
llama.cpp e Qualcomm Snapdragon 8 Gen 2
llama.cpp è un motore open source scritto in C++ e sviluppato da Georgi Gerganov. Nato per l’utilizzo su desktop, è stato portato su Android tramite NDK e può funzionare anche senza una GPU dedicata.
Il supporto al formato GGUF, insieme all’efficienza dell’elaborazione, ha reso llama.cpp una base tecnologica per numerose applicazioni Android dedicate all’esecuzione locale degli LLM.
Tra i chip Qualcomm, il Snapdragon 8 Gen 2 è stata la prima generazione ufficialmente promossa insieme alla piattaforma Qualcomm AI Hub per i carichi di lavoro di intelligenza artificiale generativa on-device. Il processore ha introdotto miglioramenti rilevanti nelle prestazioni della NPU ed è stato utilizzato, tra gli altri, nella serie Samsung Galaxy S23.





Lascia un commento