Hardware optimization on Android for inference of AI models
Gherasim, Sánchez
The pervasive integration of Artificial Intelligence models into contemporary mobile computing is notable across numerous use cases, from virtual assistants to advanced image processing. Optimizing the mobile user experience involves minimal latency and high responsiveness from deployed AI models with challenges from execution strategies that fully leverage real time constraints to the exploitation of heterogeneous hardware architecture. In this paper, we research and propose the optimal execution configurations for AI models on an Android system, focusing on two critical tasks: object detection (YOLO family) and image classification (ResNet). These configurations evaluate various model quantization schemes and the utilization of on device accelerators, specifically the GPU and NPU. Our core objective is to empirically determine the combination that achieves the best trade-off between minimal accuracy degradation and maximal inference speed-up.
academic
Ottimizzazione hardware su Android per l'inferenza di modelli AI
Questo articolo affronta il problema dell'ottimizzazione hardware per l'inferenza di modelli AI su sistemi Android. Data la diffusa integrazione di modelli AI nel calcolo mobile (dagli assistenti virtuali all'elaborazione avanzata di immagini), i ricercatori si concentrano su due compiti fondamentali: rilevamento di oggetti (serie YOLO) e classificazione di immagini (ResNet). Attraverso la valutazione di diversi schemi di quantizzazione del modello e l'utilizzo di acceleratori hardware (GPU e NPU), l'obiettivo principale di questo articolo è determinare empiricamente le combinazioni di configurazione che raggiungono il miglior compromesso tra perdita di precisione minima e accelerazione massima dell'inferenza.
Con la diffusa applicazione di modelli AI su dispositivi mobili, come realizzare un'inferenza a bassa latenza e altamente responsiva mantenendo la precisione del modello rappresenta una sfida critica. Nello specifico:
Come sfruttare pienamente l'architettura hardware eterogenea dei dispositivi mobili (CPU, GPU, NPU)
Come selezionare schemi di quantizzazione appropriati per bilanciare precisione e velocità
Come ottimizzare le configurazioni di esecuzione per diversi compiti AI (classificazione vs. rilevamento)
Consumo Energetico: Google stima che i compiti correlati all'AI rappresentino il 10-15% del consumo energetico totale nel periodo 2019-2021, con la fase di inferenza che consuma il 60% dell'energia; Meta riporta che l'inferenza rappresenta il 70% del consumo energetico dell'AI
Tendenza di Crescita: La crescita annuale del consumo energetico di Google è del 21%, mentre Meta raggiunge il 32%
Esperienza Utente: Le prestazioni dell'AI mobile sono diventate un fattore di differenziazione fondamentale, richiedendo il soddisfacimento di rigorosi requisiti di tempo reale e precisione
Valutazione Hardware Sistematica: Prima valutazione sistematica su dispositivo Android commerciale (Samsung Galaxy Tab S9) delle prestazioni di tre unità di calcolo (CPU, GPU, NPU) nei compiti di inferenza AI
Analisi degli Schemi di Quantizzazione: Confronto completo di 7 schemi di quantizzazione (FP32, FP16, INT8, INT16, FINT8, FINT16, Dynamic) nei compromessi precisione-velocità su diversi hardware
Raccomandazioni di Ottimizzazione Specifiche per Compito:
Per compiti di classificazione ResNet: NPU + quantizzazione INT8 realizza accelerazione 130×, con perdita di precisione <3%
Per compiti di rilevamento YOLO: NPU + quantizzazione FP16 è ottimale, evitando la perdita di precisione di 6.5 mAP con INT8
Analisi della Frontiera di Pareto: Fornisce prospettiva di ottimizzazione multi-obiettivo, chiarendo i punti di compromesso ottimale di diverse configurazioni nello spazio precisione-latenza
Scoperte Pratiche:
NPU mostra prestazioni ottimali in tutte le configurazioni, con accelerazione massima di 298× (YOLOv8x)
La quantizzazione dinamica fallisce su NPU, rivelando problemi di compatibilità hardware
L'estensibilità multi-thread della CPU è limitata (massimo 3.4×), attribuita all'architettura asimmetrica dei core
Questo studio valuta 7 configurazioni di quantizzazione (vedere Tabella II):
Nome Schema
Tipo Dati I/O
Precisione Operazione
Valori Attivazione
Pesi
FP32
FP32
FP32
FP32
FP32
FP16
FP32
FP32
FP32
FP16
INT8
FP32
INT8
INT8
INT8
INT16
FP32
INT8
INT16
INT16
FINT8
INT8
INT8
INT8
INT8
FINT16
INT16
INT8
INT16
INT16
DYN
FP32
Misto
FP32
Misto
Punti Tecnici Chiave:
Quantizzazione Statica: Conversione offline dei pesi al tipo di dato target (ad es. INT8), memorizzazione fissa
Quantizzazione Dinamica (DYN): I pesi sono memorizzati come 8 bit, ma i valori di attivazione vengono quantizzati solo al runtime, introducendo overhead di runtime ma mantenendo migliore precisione
Limitazione INT16: LiteRT manca di implementazioni di kernel INT16 ottimizzate, causando prestazioni estremamente scadenti
Approccio Framework Ibrido: Data i vincoli di compatibilità software, adozione di un approccio ibrido con LiteRT Next (CPU/GPU) e LiteRT standard (NPU), garantendo valutazione completa
Esplorazione Sistematica dello Spazio di Configurazione:
3 hardware × 7 quantizzazioni × multiple dimensioni di modello
Copertura di 5 varianti ResNet (18/34/50/101/152)
Copertura di 5 varianti YOLOv8 (n/s/m/l/x)
Copertura di 5 varianti YOLO11 (n/s/m/l/x)
Prospettiva di Ottimizzazione Pareto: Non ricerca di un singolo ottimale, ma fornitura della frontiera di Pareto del compromesso precisione-latenza, supportando decisioni multi-obiettivo
Quantificazione della Perdita di Conversione Framework: Misurazione esplicita della perdita di precisione introdotta dalla conversione da PyTorch a LiteRT (ResNet: 0.83-1.77%; YOLO11: 0.2-0.4 mAP)
Benchmark MLPerf: Questo articolo adotta i principi MLPerf per valutare sistemi di inferenza ML, dai dispositivi embedded ai data center, realizzando valutazione neutrale rispetto a framework software e architettura
Evoluzione Framework AI Mobile:
PyTorch, ONNX, TensorFlow: Framework di sviluppo AI generici
TensorFlow Lite → LiteRT: Runtime leggero per dispositivi mobili
LiteRT Next: Supporto nativo per offloading acceleratori
Paradigmi di Calcolo Eterogeneo:
Modello Edge-to-Cloud: Elaborazione locale su edge per ottimizzare latenza, offloading compiti complessi al cloud
DSA (Domain-Specific Architecture): NPU come acceleratore specializzato per calcoli tensoriali
Tecniche di Quantizzazione:
Quantizzazione post-training (adottata in questo articolo)
NPU è il Dispositivo di Esecuzione Migliore: Rispetto al baseline CPU single-core realizza accelerazione fino a 120×, confermando il suo ruolo critico nell'AI edge a bassa latenza
La Quantizzazione Ottimale è un Problema di Compromesso:
ResNet: INT8 ottimale, il guadagno di velocità su NPU supera la perdita di precisione
YOLO: FP16 ottimale, la perdita di precisione INT8 (6.5 mAP) è inaccettabile
GPU: La quantizzazione ha impatto minimo sulla velocità, FP16 bilancia precisione e velocità
Prestazioni del Modello ed Estensibilità:
YOLO11s mostra prestazioni eccellenti sulla frontiera Pareto, fornisce miglior compromesso velocità/precisione con quantizzazione FP16
YOLO11 ha precisione superiore su modelli piccoli rispetto a YOLOv8, ma complessità leggermente aumentata
Identificazione Limitazioni di Sistema:
Quantizzazione dinamica fallisce su NPU (manca supporto nativo)
Estensibilità multi-thread CPU scarsa (massimo 3.4×), attribuita all'architettura asimmetrica dei core
La conversione framework introduce perdita di precisione circa 1%
Benchmark MLPerf: Reddi et al. (2020) - "MLPerf inference benchmark", definisce i principi di valutazione adottati in questo articolo
Ricerca Energetica:
Rapporto Ambientale Google (2023): AI occupa 10-15% del consumo energetico
Rapporto Sostenibilità Meta (2023): Inferenza occupa 70% del consumo energetico AI
ResNet: He et al. (2016) - "Deep Residual Learning for Image Recognition", campione ILSVRC 2015
YOLO: Ramos & Sappa (2025) - "A decade of you only look once (yolo) for object detection: A review"
Edge-to-Cloud: Moreschini et al. (2024) - "Edge to cloud tools: A multivocal literature review"
Valutazione Complessiva: Questo è un articolo di ricerca empirica solido che fornisce una guida di configurazione preziosa per l'ottimizzazione dell'inferenza AI mobile. I suoi principali vantaggi risiedono nella progettazione sperimentale sistematica e nei risultati quantitativi dettagliati, rivelando chiaramente i vantaggi dell'NPU e le strategie di quantizzazione specifiche per compito. Le principali insufficienze sono la generalizzabilità limitata a una singola piattaforma hardware e la mancanza di analisi energetica. Ha valore di riferimento elevato per sviluppatori Android e ricercatori di AI edge, ma le conclusioni richiedono verifica su piattaforme e compiti più ampi. Si raccomanda che i lavori futuri completino le misurazioni energetiche, estendano ad altre piattaforme e compiti, e rendano open-source il codice sperimentale per migliorare la riproducibilità.