Un cadre pour un calcul réparti efficace dans les DNN
Un nouveau cadre s'attaque aux défis de la conception d'applications de deep learning distribuées.
― 7 min lire
Table des matières
Ces dernières années, beaucoup d'applis qui reconnaissent des motifs utilisent des systèmes complexes où des capteurs et des ordis bossent ensemble via un réseau de communication. Les Réseaux de neurones profonds (DNN) sont super importants dans ces systèmes, car ils aident à prendre des décisions solides mais demandent énormément de puissance de calcul. Du coup, les développeurs doivent souvent diviser un DNN en plusieurs morceaux, ce qui signifie qu'une partie du travail se fait sur un appareil et l'autre sur un serveur. Savoir comment diviser un DNN n’est pas simple, ce qui rend la création d'applis de deep learning encore plus compliquée.
Besoin d'un nouveau cadre
Pour relever ce défi, on propose un nouveau cadre. Ce cadre a trois caractéristiques clés :
Il identifie les meilleurs endroits pour diviser un réseau de neurones en se basant sur la manière dont chaque partie du réseau interprète l'entrée sans avoir besoin de passer par un long processus d'essais-erreurs.
Il effectue des Simulations qui tiennent compte des besoins en communication, permettant des évaluations rapides de différentes manières d'arranger le réseau de neurones.
Il suggère la meilleure option pour répondre aux exigences de qualité de service d'une appli tout en équilibrant performance, précision et rapidité.
Fonctionnement du cadre
Le cadre fonctionne en identifiant les points candidats pour diviser le DNN. D'abord, il envoie des données d'entrée dans le réseau pour créer des cartes spéciales qui montrent l'importance de chaque couche pour prendre des décisions. En faisant la moyenne de ces cartes, on crée une courbe de saillance cumulative qui met en avant les meilleures couches pour diviser.
Ensuite, chaque point de division candidat est simulé pour comprendre comment il performe et s'il répond bien aux besoins de l'appli en matière de précision et de rapidité. Enfin, le cadre choisit le point de division qui offre le meilleur équilibre entre qualité de service et performance.
Le rôle des DNN
Au cours des dix dernières années, les DNN ont montré des performances exceptionnelles dans divers domaines comme la classification d'objets et la détection de caractéristiques. Cependant, la puissance de calcul élevée exigée par certains DNN limite leur utilisation sur des appareils avec moins de ressources. Une option est d'exécuter des modèles simplifiés, mais ça réduit souvent la précision globale.
Du coup, l'approche courante est de transférer les données de l'appareil à une machine puissante via un réseau, en traitant les données là-bas et en renvoyant les résultats si besoin. Cette méthode peut entraîner des délais à cause des limitations du réseau.
Informatique fractionnée comme solution
L'informatique fractionnée (SC) est un concept récent qui divise un DNN en deux parties : une "tête" qui s'exécute sur l'appareil et une "queue" qui fonctionne sur le serveur distant. Cette méthode combine les avantages du calcul local et distant, réduisant les délais et diminuant la quantité de données envoyées sur le réseau.
Concevoir des applis de deep learning distribuées nécessite d'examiner trois aspects principaux : la plateforme de calcul, la configuration de communication et le DNN lui-même. Tandis que la plateforme est simple, les deux autres introduisent des incertitudes à cause de la nature variable des réseaux et des DNN.
Sélection de points de division basés sur la saillance
Trouver le point de division optimal dépend de la compréhension de l'importance des différentes couches du réseau. L'approche basée sur la saillance aide à identifier quelles couches transportent des informations cruciales pour la prise de décision. Cette méthode réduit considérablement le temps nécessaire pour la conception et le déploiement.
Chaque couche du DNN cherche des traits spécifiques dans l'entrée, comme les formes des objets dans une image. Certains de ces traits sont essentiels pour faire des classifications précises. Par exemple, si un DNN doit identifier différentes formes, il doit conserver les informations importantes jusqu'à ce qu'il atteigne la couche qui détecte les formes avant que la division ait lieu.
Le processus reconnaît aussi que ce n'est pas seulement les données denses qui comptent, mais aussi les données informatives. Il se concentre sur la préservation des parties du réseau où des décisions vitales se produisent, ce qui améliore le design global.
Un cadre pratique
Le cadre est conçu pour être rapide et facile à utiliser, simplifiant la création de systèmes distribués qui exécutent un ou plusieurs DNN. Il imite avec précision divers protocoles de communication et besoins d'application tout en suggérant des configurations adaptées pour optimiser la qualité de service et la performance.
En effectuant des simulations, le cadre cherche à identifier des points de division appropriés dans une architecture DNN pour une appli réelle. Il peut évaluer une tâche de classification, par exemple, en identifiant des jouets pour enfants qui passent sur un tapis roulant.
Simulation et résultats
Le cadre fonctionne en testant comment le DNN performe dans différentes conditions. Il évalue divers aspects de l'appli, y compris la latence et la précision, pour déterminer quelle configuration répond le mieux aux exigences.
Les expériences montrent l'efficacité du cadre. Il démontre que les points de division peuvent influencer à la fois la vitesse de transmission de données et la précision des résultats. Quand un point de division est choisi correctement, l'appli peut maintenir sa performance même avec des taux de perte de données élevés, ce qui arrive souvent dans des scénarios réels.
Le cadre évalue aussi l'impact des protocoles réseau, comme TCP et UDP. Tandis que TCP offre de la stabilité, il peut entraîner des latences plus élevées. D'un autre côté, UDP minimise les délais mais peut risquer de perdre de la précision. Le choix du protocole dépend des besoins spécifiques de l'appli, et le cadre aide à orienter cette décision.
Conclusion
Le cadre développé propose une nouvelle manière de concevoir efficacement des applis de deep learning distribuées. En prenant en compte les qualités uniques des DNN, le cadre suggère des configurations optimales pour répondre aux exigences de qualité de service tout en garantissant des niveaux élevés de performance en termes de précision et de latence.
Cette solution répond au besoin croissant de meilleures façons d'exploiter le deep learning dans des applications réelles, surtout là où les ressources sont limitées. Les travaux futurs se concentreront sur l'amélioration du cadre et la réalisation d'évaluations plus poussées pour consolider ses avantages.
En résumé, le cadre simplifie le processus de conception pour des systèmes de calcul complexes, permettant un déploiement plus rapide et efficace des applications de deep learning dans divers domaines. Il crée des opportunités pour les développeurs d'optimiser efficacement leurs systèmes tout en maintenant une haute performance et fiabilité.
Titre: Split-Et-Impera: A Framework for the Design of Distributed Deep Learning Applications
Résumé: Many recent pattern recognition applications rely on complex distributed architectures in which sensing and computational nodes interact together through a communication network. Deep neural networks (DNNs) play an important role in this scenario, furnishing powerful decision mechanisms, at the price of a high computational effort. Consequently, powerful state-of-the-art DNNs are frequently split over various computational nodes, e.g., a first part stays on an embedded device and the rest on a server. Deciding where to split a DNN is a challenge in itself, making the design of deep learning applications even more complicated. Therefore, we propose Split-Et-Impera, a novel and practical framework that i) determines the set of the best-split points of a neural network based on deep network interpretability principles without performing a tedious try-and-test approach, ii) performs a communication-aware simulation for the rapid evaluation of different neural network rearrangements, and iii) suggests the best match between the quality of service requirements of the application and the performance in terms of accuracy and latency time.
Auteurs: Luigi Capogrosso, Federico Cunico, Michele Lora, Marco Cristani, Franco Fummi, Davide Quaglia
Dernière mise à jour: 2023-03-22 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2303.12524
Source PDF: https://arxiv.org/pdf/2303.12524
Licence: https://creativecommons.org/licenses/by/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.