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
Optimisation matérielle sur Android pour l'inférence de modèles d'IA
Cet article étudie l'optimisation matérielle pour l'inférence de modèles d'IA sur le système Android. Face à l'intégration généralisée des modèles d'IA dans l'informatique mobile (des assistants virtuels au traitement d'images avancé), les chercheurs se concentrent sur deux tâches clés : la détection d'objets (série YOLO) et la classification d'images (ResNet). En évaluant différents schémas de quantification de modèles ainsi que l'utilisation d'accélérateurs de dispositifs (GPU et NPU), l'objectif principal de cet article est de déterminer empiriquement les combinaisons de configurations qui réalisent le meilleur compromis entre perte de précision minimale et accélération d'inférence maximale.
Avec l'application généralisée des modèles d'IA sur les appareils mobiles, la réalisation d'une inférence à faible latence et hautement réactive tout en préservant la précision du modèle devient un défi clé. Cela comprend spécifiquement :
Consommation énergétique: Google estime que les tâches liées à l'IA représentent 10-15% de sa consommation énergétique totale entre 2019-2021, dont 60% de l'énergie est consommée lors de la phase d'inférence ; Meta rapporte que l'inférence représente 70% de la consommation énergétique de l'IA
Tendance de croissance: La consommation énergétique de Google augmente de 21% par an, tandis que celle de Meta atteint 32%
Expérience utilisateur: Les performances de l'IA mobile sont devenues un facteur de différenciation clé, nécessitant de satisfaire des exigences strictes en matière de temps réel et de précision
Les solutions antérieures reposaient principalement sur le déchargement GPU du calcul, mais n'exploitaient pas pleinement les accélérateurs NPU spécialisés
Absence d'études systématiques d'optimisation pour l'architecture hétérogène des appareils mobiles
Le choix des schémas de quantification manque de conseils empiriques adaptés à différentes tâches et matériels
Évaluation matérielle systématique: Première évaluation systématique sur un appareil Android commercial (Samsung Galaxy Tab S9) des performances des trois unités de calcul (CPU, GPU, NPU) dans les tâches d'inférence d'IA
Analyse des schémas de quantification: Comparaison complète de 7 schémas de quantification (FP32, FP16, INT8, INT16, FINT8, FINT16, Dynamic) sur différents matériels en termes de compromis précision-vitesse
Recommandations d'optimisation spécifiques aux tâches:
Pour la tâche de classification ResNet : NPU + quantification INT8 peut réaliser une accélération 130×, avec une perte de précision <3%
Pour la tâche de détection YOLO : NPU + quantification FP16 est optimal, évitant la perte de précision de 6,5 mAP introduite par INT8
Analyse de la frontière de Pareto: Fournit une perspective d'optimisation multi-objectifs, clarifiant les points de compromis optimaux de différentes configurations dans l'espace précision-latence
Découvertes pratiques:
Le NPU offre les meilleures performances dans toutes les configurations, avec une accélération maximale de 298× (YOLOv8x)
La quantification dynamique échoue sur NPU, révélant des problèmes de compatibilité matérielle
L'extensibilité multi-thread du CPU est limitée (maximum 3,4×), attribuée à l'architecture de noyaux asymétriques
Cette recherche évalue 7 configurations de quantification (voir tableau II) :
Nom du schéma
Type de données E/S
Précision opératoire
Valeurs d'activation
Poids
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
Mixte
FP32
Mixte
Points techniques clés:
Quantification statique: Conversion hors ligne des poids vers le type de données cible (par exemple INT8), stockage fixe
Quantification dynamique (DYN): Les poids sont stockés en 8 bits, mais les valeurs d'activation ne sont quantifiées qu'à l'exécution, introduisant une surcharge d'exécution mais conservant une meilleure précision
Limitation INT16: LiteRT manque d'implémentations de noyaux INT16 optimisées, entraînant des performances extrêmement mauvaises
Approche de framework hybride: Face aux contraintes de compatibilité logicielle, adoption d'une approche hybride utilisant LiteRT Next (CPU/GPU) et LiteRT standard (NPU), garantissant une évaluation complète
Exploration systématique de l'espace de configuration:
3 matériels × 7 quantifications × tailles de modèle multiples
Couverture de 5 variantes ResNet (18/34/50/101/152)
Couverture de 5 variantes YOLOv8 (n/s/m/l/x)
Couverture de 5 variantes YOLO11 (n/s/m/l/x)
Perspective d'optimisation de Pareto: Ne pas poursuivre un seul optimum, mais fournir la frontière de Pareto du compromis précision-latence, soutenant la prise de décision multi-objectifs
Quantification de la perte de conversion de framework: Mesure explicite de la perte de précision introduite par la conversion PyTorch vers LiteRT (ResNet: 0,83-1,77%; YOLO11: 0,2-0,4 mAP)
Référence MLPerf: Cet article adopte les principes MLPerf pour évaluer les systèmes d'inférence ML, des appareils embarqués aux centres de données, réalisant une évaluation neutre en termes de framework logiciel et d'architecture
Évolution des frameworks d'IA mobile:
PyTorch, ONNX, TensorFlow: Frameworks de développement d'IA généraux
TensorFlow Lite → LiteRT: Runtime léger pour appareils mobiles
LiteRT Next: Support natif du déchargement d'accélérateurs
Paradigmes de calcul hétérogène:
Modèle Edge-to-Cloud : traitement local en périphérie pour optimiser la latence, déchargement des tâches complexes vers le cloud
DSA (Domain-Specific Architecture) : NPU comme accélérateur de calcul tensoriel spécialisé
Techniques de quantification:
Quantification post-entraînement (adoptée dans cet article)
Évaluation systématique: Première évaluation complète sur un appareil Android commercial des trois types de matériel (CPU/GPU/NPU)
Conseils empiriques: Fournit des recommandations de configuration spécifiques pour différentes tâches, plutôt que des analyses théoriques
Perspective de Pareto: Méthode d'optimisation multi-objectifs, révélant l'espace de compromis précision-vitesse
Découverte de problèmes: Identifie les problèmes de déploiement réels tels que l'incompatibilité de quantification dynamique NPU, les limitations d'extensibilité CPU
Pertinence industrielle: Sélection de modèles standards MLPerf, résultats directement applicables à l'environnement de production
Le NPU est le meilleur appareil d'exécution: Réalise une accélération jusqu'à 120× par rapport à la ligne de base CPU single-core, confirmant son rôle clé dans l'IA edge à faible latence
La quantification optimale est une question de compromis:
ResNet: INT8 optimal, le gain de vitesse NPU dépasse la perte de précision
YOLO: FP16 optimal, la perte de précision INT8 (6,5 mAP) est inacceptable
GPU: La quantification a un impact minimal sur la vitesse, FP16 équilibre précision et vitesse
Performance du modèle et extensibilité:
YOLO11s offre des performances exceptionnelles sur la frontière de Pareto, fournissant le meilleur compromis vitesse/précision en quantification FP16
YOLO11 offre une meilleure précision sur les petits modèles que YOLOv8, mais avec une complexité légèrement accrue
Identification des limitations du système:
La quantification dynamique échoue sur NPU (manque de support natif)
L'extensibilité multi-thread du CPU est faible (maximum 3,4×), attribuée à l'architecture de noyaux asymétriques
La conversion de framework introduit environ 1% de perte de précision
Plateforme matérielle unique: Testé uniquement sur Snapdragon 8 Gen 2, la généralisation des conclusions à d'autres SoC n'est pas vérifiée
Plage de tâches limitée: Couvre uniquement la vision par ordinateur (classification et détection), n'inclut pas le traitement du langage naturel, la parole et autres tâches d'IA
Analyse énergétique manquante: Pas de mesure de consommation d'énergie, l'analyse de Pareto n'inclut pas la dimension d'efficacité énergétique
Dépendance de la version logicielle: Le NPU nécessite l'utilisation de l'ancienne version LiteRT 1.4.0, ce qui peut affecter les performances
Charge de travail statique: Ne considère pas le traitement par lots dynamique, le changement de modèle et autres scénarios d'application réels
Évaluation INT16 incomplète: Exclue prématurément en raison du manque de noyaux optimisés LiteRT, analyse approfondie manquante
Référence MLPerf: Reddi et al. (2020) - "MLPerf inference benchmark", définissant les principes d'évaluation adoptés dans cet article
Recherche énergétique:
Rapport environnemental de Google (2023) : L'IA représente 10-15% de la consommation énergétique
Rapport de durabilité de Meta (2023) : L'inférence représente 70% de la consommation énergétique de l'IA
ResNet: He et al. (2016) - "Deep Residual Learning for Image Recognition", champion 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"
Évaluation globale: Cet article est une recherche empirique solide qui fournit des conseils de configuration précieux pour l'optimisation de l'inférence d'IA mobile. Ses principaux atouts résident dans la conception expérimentale systématique et les résultats quantitatifs détaillés, révélant clairement l'avantage du NPU et les stratégies de quantification spécifiques aux tâches. Les principales insuffisances sont la généralisation limitée à une seule plateforme matérielle et l'absence d'analyse énergétique. Il offre une valeur de référence élevée pour les développeurs Android et les chercheurs en IA edge, mais les conclusions nécessitent une validation sur une gamme plus large de matériels et de tâches. Il est recommandé que les travaux futurs complètent les mesures énergétiques, étendent à d'autres plateformes et tâches, et publient le code expérimental en open-source pour améliorer la reproductibilité.