Conception d'applications auto-adaptatives économes en énergie
Une méthode pour créer des applis qui équilibrent l'utilisation de l'énergie et la performance.
― 12 min lire
Table des matières
- Le Besoin d'Efficacité Énergétique
- Contributions de Ce Travail
- Scénario Motivant : Sécurité des Piétons
- Concevoir des Applications Auto-Adaptatives Sensibles à l'Énergie
- Évaluation Empirique de l'Approche
- Observations sur les Applications Auto-Adaptatives
- Conclusion et Travaux Futurs
- Source originale
- Liens de référence
L'utilisation croissante de petits appareils capables d'effectuer des tâches d'apprentissage automatique a rendu possible le déploiement d'applications qui peuvent traiter et trier efficacement des données provenant de diverses sources connectées à l'Internet des objets (IoT). Ces applications sont essentielles dans de nombreuses situations, comme la surveillance de la sécurité dans les villes intelligentes. Cependant, il est crucial de s'assurer que ces systèmes utilisent également l'énergie de manière judicieuse.
Cet article présente une méthode axée sur la conception et le lancement d'applications qui peuvent s'adapter en fonction de l'énergie qu'elles consomment et des tâches qu'elles doivent accomplir. Nous cherchons à trouver les meilleurs réglages pour ces applications qui équilibrent leur performance (comme la détection précise d'objets et le traitement rapide des images) et la quantité d'énergie qu'elles utilisent. La méthode dont nous parlons implique un processus de recherche intelligente qui nécessite seulement quelques échantillons pour trouver les meilleures options.
Pour montrer comment cette méthode fonctionne, nous examinons une application spécifique pour détecter les piétons. Nos résultats révèlent que cette application auto-adaptative peut économiser beaucoup d'énergie-jusqu'à 81%-tout en réduisant légèrement la précision d'environ 2% à 6%.
Le Besoin d'Efficacité Énergétique
Les chercheurs et les entreprises s'inquiètent de plus en plus de la grande quantité d'énergie utilisée par divers services numériques et de l'augmentation des coûts de l'énergie. Réduire la Consommation d'énergie est devenu une priorité, surtout avec les ressources limitées. Ainsi, créer des applications durables alimentées par l'intelligence artificielle (IA) est un défi majeur aujourd'hui.
Les applications basées sur l'IA sont souvent exécutées sur des appareils situés dans des endroits où l'approvisionnement en électricité peut ne pas être constant. Cela inclut les appareils alimentés par batterie et ceux qui s'appuient sur des sources d'énergie renouvelable comme les panneaux solaires ou les éoliennes. Ces applications nécessitent souvent beaucoup de ressources, rendant l'utilisation efficace de l'énergie un aspect critique à considérer lors de l'utilisation de l'IA dans ces contextes.
Par exemple, les services de surveillance dans les villes intelligentes pour détecter les piétons ou analyser le trafic, ainsi que les applications environnementales comme la détection d'incendies de forêt, nécessitent tous un traitement rapide des données et une grande précision tout en garantissant que la consommation d'énergie soit rentable.
Ces scénarios génèrent de grandes quantités de données provenant de capteurs IoT, qui prennent de nombreuses formes, comme des séries temporelles ou des flux vidéo, et peuvent nécessiter des modèles d'apprentissage automatique gourmands en énergie. Pour les applications s'appuyant sur l'énergie de la batterie, il est crucial de minimiser la consommation d'énergie afin de prolonger la durée de vie de la batterie.
Pour répondre à ces besoins, les chercheurs ont exploré diverses méthodes pour concevoir des systèmes qui peuvent intelligentement équilibrer qualité, efficacité et consommation d'énergie.
La plupart des efforts d'économie d'énergie se sont concentrés sur des tâches de bas niveau telles que la planification, le routage et l'optimisation des modèles d'apprentissage automatique. Cependant, se limiter à ces aspects peut conduire à une performance imprévisible des applications. Cela rend difficile l'équilibre entre des objectifs conflictuels, tels que la précision, l'utilisation de l'énergie et l'efficacité, si seules des fonctionnalités de bas niveau sont considérées.
Certaines stratégies ont exploré l'optimisation du code des applications, l'analyse énergétique des logiciels et différentes méthodes architecturales pour contrôler et réduire la consommation d'énergie. Pourtant, analyser l'utilisation de l'énergie après qu'elle ait eu lieu pour faire des corrections peut être complexe et coûteux à long terme.
Dans cet article, nous examinons comment configurer des applications basées sur l'IA pour trouver un équilibre entre la gestion de l'utilisation de l'énergie et la réalisation des objectifs des applications. Bien que cela soit un problème courant pour les applications à la périphérie, notre attention se porte sur les applications basées sur l'IA en raison de leur nature exigeante.
Bien qu'il puisse sembler logique de vérifier minutieusement chaque configuration possible pour une application, il existe des défis importants : explorer chaque configuration peut être très coûteux, et il y a rarement un seul réglage qui optimise tous les objectifs en même temps.
La tâche de vérifier différentes configurations pour les applications IA est coûteuse en raison du grand nombre de configurations possibles et du temps nécessaire pour échantillonner et mesurer à quel point ces configurations répondent aux objectifs énergétiques et applicatifs. Ce coût augmente dans des environnements vastes et variés où différents appareils pourraient nécessiter des ajustements individuels de leur configuration.
De plus, les conditions changeantes nécessitent souvent différentes configurations pour être efficaces. Par exemple, détecter des piétons la nuit, lorsqu'ils sont moins fréquents, est très différent de les détecter dans une zone bondée après un événement.
Comme il n'existe pas de solution unique, les applications doivent s'adapter aux changements dans leur environnement pour fonctionner efficacement.
Pour relever ces défis, nous proposons une méthode qui guide les développeurs dans la création d'applications auto-adaptatives capables de modifier leurs modes de fonctionnement en fonction des conditions réelles, équilibrant finalement l'utilisation de l'énergie avec les exigences des applications.
Contributions de Ce Travail
Cet article apporte plusieurs contributions importantes :
Approche de Conception Consciente de l'Énergie : L'article propose une méthode pour construire des applications IA auto-adaptatives qui peuvent équilibrer automatiquement les besoins en performance et la consommation d'énergie en se basant sur un modèle construit à partir de données collectées.
Procédure de Recherche Intelligente : Nous décrivons une stratégie de recherche intelligente qui aide à trouver des configurations utiles pour ces applications en échantillonnant seulement une petite partie de l'espace de recherche global.
Implémentation de Prototype : Un prototype d'une application auto-adaptative pour la détection des piétons est présenté pour démontrer l'application pratique de la méthode.
Preuve d'Efficacité : L'article présente des résultats de tests et une analyse indiquant que l'application auto-adaptative peut surpasser les applications traditionnelles qui ne s'adaptent pas, économisant de l'énergie tout en maintenant des niveaux de précision similaires.
Scénario Motivant : Sécurité des Piétons
Selon les rapports de sécurité routière, les décès de piétons ont augmenté, soulignant le besoin de systèmes de surveillance efficaces. Développer des systèmes de Surveillance du Trafic Intelligent (STM) capables de suivre numériquement le trafic en temps réel est vital pour prévenir les accidents.
Un système STM examine en continu le trafic pour identifier les dangers potentiels, tels que les piétons dans des lieux dangereux, en utilisant des flux vidéo et en alertant les véhicules à proximité via des réseaux de communication avancés. De tels systèmes peuvent impliquer de nombreuses caméras et capteurs dans les zones urbaines et rurales.
Les appareils en périphérie qui traitent ces flux vidéo fonctionnent en continu et peuvent fonctionner sur batteries ou énergie renouvelable, ce qui rend les mesures d'économie d'énergie essentielles. Ces applications de sécurité nécessitent un standard minimal de service pour fonctionner efficacement. Elles doivent surveiller en permanence leur budget énergétique et leur charge de travail, en adaptant à la fois les configurations matérielles et logicielles lorsque cela est nécessaire.
Dans notre scénario STM, les applications peuvent fonctionner en différents modes selon les niveaux de circulation piétonne. Une application auto-adaptative peut automatiquement équilibrer la consommation d'énergie avec le besoin de traitement rapide et de précision en basculant entre ces modes.
Concevoir des Applications Auto-Adaptatives Sensibles à l'Énergie
La première étape de l'utilisation de notre approche consiste à définir le modèle de comportement de l'application auto-adaptative. Cela se fait à l'aide d'une machine à états finis (FSM) qui associe des modes opérationnels aux conditions déclenchant des changements.
Chaque mode a des caractéristiques spécifiques concernant l'utilisation de l'énergie, la précision de détection et la vitesse de traitement, ce qui pousse à identifier les configurations nécessaires.
Trouver des configurations de haute qualité pour ces modes opérationnels peut être délicat, surtout puisque les applications IA ont de nombreux paramètres, ce qui mène à un espace d'exploration vaste. Une exploration complète n'est pas pratique, et les simulations donnent souvent des résultats inexacts pour les applications réelles.
Pour remédier à cela, nous définissons un Problème d'Optimisation Multi-Objectif (MOOP), qui aide à trouver des réglages appropriés qui répondent à des objectifs spécifiques, comme maximiser la précision de détection tout en minimisant la consommation d'énergie.
En utilisant un algorithme populaire, nous explorons efficacement l'espace de recherche, obtenant de bons résultats en vérifiant seulement une petite partie des configurations totales. Pendant cette recherche, nous enregistrons tous les résultats de performance évalués et extrayons les meilleures options.
Une fois que nous avons ces configurations, nous pouvons déterminer celles qui remplissent les modes opérationnels nécessaires de l'application auto-adaptative. Pour affiner ce processus, nous utilisons une méthode appelée analyse relationnelle de gray pondéré (WGRA), qui simplifie la prise de décision en combinant les objectifs en une seule valeur qui peut être facilement comparée.
Nous veillons à ce que les ingénieurs puissent extraire des états qui répondent aux exigences pour différents modes opérationnels en appliquant des ensembles de poids variables pour prioriser certains objectifs par rapport à d'autres.
Une fois les configurations appropriées identifiées, les ingénieurs peuvent mettre en œuvre l'application auto-adaptative. Nous transformons la machine à états finis abstraite en une machine concrète en définissant des conditions spécifiques et en les liant aux modes opérationnels.
Évaluation Empirique de l'Approche
Pour valider notre méthode, nous avons examiné deux questions de recherche principales :
Notre méthode de recherche peut-elle trouver des solutions aussi bonnes que celles d'une recherche presque exhaustive ? Cette question évalue si l'échantillonnage d'une partie plus petite de l'espace de recherche peut produire des résultats similaires à une exploration complète.
Une application auto-adaptative peut-elle atteindre un meilleur équilibre entre les objectifs concurrents par rapport à une application non-adaptative ? Cette question évalue si la configuration auto-adaptative peut mieux performer en termes d'utilisation de l'énergie et de qualité de l'application par rapport aux applications traditionnelles.
Pour nos expériences, nous avons utilisé un équipement de test qui comprenait un Raspberry Pi équipé d'une caméra et d'un accéléromètre matériel pour exécuter des tâches de Détection de piétons.
Pour notre première question de recherche, nous avons découvert que notre méthode de recherche pouvait obtenir des résultats comparables à ceux obtenus par une exploration approfondie de l'espace des paramètres. Cela a été confirmé par l'analyse des solutions obtenues par les deux méthodes.
Concernant notre deuxième question, nous avons comparé une application auto-adaptative avec diverses configurations non-adaptatives dans différents scénarios de circulation piétonne, répartis entre les jours de semaine et les week-ends.
Les résultats ont indiqué que la solution auto-adaptative a réussi à économiser de l'énergie tout en maintenant un niveau de précision similaire. Elle a mieux performé que la plupart des applications traditionnelles en termes de vitesse de traitement et d'utilisation de l'énergie, reflétant sa capacité à s'adapter efficacement à des conditions changeantes.
Observations sur les Applications Auto-Adaptatives
Les découvertes montrent que les applications auto-adaptatives peuvent répondre aux environnements changeants tout en maintenant un équilibre entre les besoins de performance et l'efficacité énergétique. Cela confirme que notre méthode proposée peut guider efficacement les développeurs dans la création d'applications respectant à la fois les objectifs opérationnels et les contraintes énergétiques.
L'approche souligne l'importance de concevoir des systèmes qui non seulement visent une haute performance, mais qui prennent également en compte l'aspect durable de leur utilisation énergétique. Étant donné l'accent croissant mis sur les énergies renouvelables et les solutions respectueuses de l'environnement, développer des applications auto-adaptatives sensibles à l'énergie offre une voie viable tant dans les milieux industriels qu'académiques.
Conclusion et Travaux Futurs
En résumé, notre exploration des applications auto-adaptatives sensibles à l'énergie révèle comment des méthodes efficaces peuvent permettre une meilleure gestion de l'énergie sans compromettre la performance. Nous avons démontré l'applicabilité de notre approche à travers des expériences complètes et souligné son potentiel pour réduire considérablement la consommation d'énergie tout en garantissant une performance fiable des applications dans des contextes réels.
À l'avenir, il y a des avenues passionnantes pour le développement futur. Nous prévoyons d'affiner davantage les méthodes pour automatiser la conception de machines à états finis et d'étendre les capacités des applications auto-adaptatives pour gérer des groupes d'appareils capables de s'adapter simultanément.
Nous visons également à tester notre approche dans des configurations plus grandes et plus complexes, impliquant des appareils alimentés par batterie connectés à des sources d'énergie renouvelable, pour voir comment ces systèmes peuvent incorporer des métriques en temps réel afin d'optimiser leurs stratégies de consommation d'énergie.
Titre: An Energy-Aware Approach to Design Self-Adaptive AI-based Applications on the Edge
Résumé: The advent of edge devices dedicated to machine learning tasks enabled the execution of AI-based applications that efficiently process and classify the data acquired by the resource-constrained devices populating the Internet of Things. The proliferation of such applications (e.g., critical monitoring in smart cities) demands new strategies to make these systems also sustainable from an energetic point of view. In this paper, we present an energy-aware approach for the design and deployment of self-adaptive AI-based applications that can balance application objectives (e.g., accuracy in object detection and frames processing rate) with energy consumption. We address the problem of determining the set of configurations that can be used to self-adapt the system with a meta-heuristic search procedure that only needs a small number of empirical samples. The final set of configurations are selected using weighted gray relational analysis, and mapped to the operation modes of the self-adaptive application. We validate our approach on an AI-based application for pedestrian detection. Results show that our self-adaptive application can outperform non-adaptive baseline configurations by saving up to 81\% of energy while loosing only between 2% and 6% in accuracy.
Auteurs: Alessandro Tundo, Marco Mobilio, Shashikant Ilager, Ivona Brandić, Ezio Bartocci, Leonardo Mariani
Dernière mise à jour: 2023-08-31 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2309.00022
Source PDF: https://arxiv.org/pdf/2309.00022
Licence: https://creativecommons.org/licenses/by-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://labists.com/products/raspberry-pi-4-case-kit
- https://www.gwinstek.com/en-GB/products/detail/GPM-8213
- https://coral.ai/products/accelerator
- https://coral.ai/models/object-detection/
- https://optuna.readthedocs.io/en/stable/reference/samplers/generated/optuna.samplers.NSGAIISampler.html
- https://optuna.readthedocs.io/en/stable/reference/samplers/generated/optuna.samplers.RandomSampler.html
- https://docs.voxel51.com/user_guide/evaluation.html
- https://pysm.readthedocs.io/
- https://gitlab.com/sustainable-continuum-monitoring/self-adaptive-moop/-/tree/ASE_2023?ref_type=tags