Amélioration de la planification des noyaux avec des méthodes de recherche combinées
Une nouvelle approche optimise les performances des noyaux en utilisant Ansor et Droplet Search.
― 8 min lire
Table des matières
- Compréhension des Noyaux
- Le Rôle des Planificateurs de Noyaux
- Amélioration de l'Optimisation des Noyaux
- Mise en œuvre de la Méthodologie de Recherche Combinée
- Configuration Expérimentale
- Résultats et Conclusions
- Qualité des Noyaux
- Temps de Recherche
- Impact de la Taille du Modèle
- Comparaison avec d'Autres Techniques
- Avantages de la Nouvelle Méthodologie
- Applications Pratiques
- Conclusion
- Source originale
- Liens de référence
Dans le monde de l'apprentissage automatique, certains algorithmes, appelés Noyaux, aident à effectuer des opérations sur les données. Ces opérations sont essentielles pour le traitement de l'information, en particulier dans les modèles d'apprentissage profond. Pour garantir que ces noyaux fonctionnent efficacement, les développeurs doivent souvent choisir la meilleure façon de les implémenter, une tâche connue sous le nom de planification des noyaux.
La planification des noyaux est semblable à la planification d'un itinéraire pour s'assurer que tout fonctionne sans accroc. Elle consiste à sélectionner la meilleure séquence d'opérations qu'un noyau effectuera. Cependant, comme il existe plusieurs façons d'implémenter ces opérations, trouver l'approche la plus efficace peut être un défi.
Compréhension des Noyaux
Les noyaux peuvent être compris comme des fonctions qui appliquent certaines opérations aux données stockées en mémoire, souvent sous forme de tenseurs. Les tenseurs, qui peuvent être considérés comme des tableaux multidimensionnels, contiennent les données utilisées dans les modèles d'apprentissage automatique. Des exemples d'opérations que les noyaux pourraient effectuer incluent des convolutions, utilisées pour le traitement d'images, et d'autres comme des transpositions ou des produits vectoriels.
Chaque noyau a son propre espace d'Optimisation, qui est la collection de toutes les manières possibles dont il peut être exécuté. L'optimisation de ces noyaux implique de trouver la meilleure implémentation dans cet espace, se concentrant généralement sur l'amélioration de la vitesse d'exécution.
Le Rôle des Planificateurs de Noyaux
Les planificateurs de noyaux sont des outils conçus pour trouver la meilleure méthode d'exécution pour les noyaux. Ils s'attaquent au problème de la planification des noyaux en utilisant diverses techniques. Parmi les planificateurs de noyaux bien connus se trouve Ansor, qui utilise une méthode qui combine deux phases principales : exploration et exploitation.
Exploration : Cette phase implique de tester différentes manières d'implémenter le noyau. Elle vise à rassembler des informations sur diverses configurations, en évaluant plusieurs méthodes d'optimisation différentes.
Exploitation : Cette phase se concentre sur le perfectionnement des meilleures configurations identifiées lors de l'exploration. Elle tente d'améliorer la performance des meilleures implémentations découvertes.
Ansor, par exemple, utilise des croquis pour générer de nouvelles implémentations de noyaux pendant la phase d'exploration, puis applique un algorithme pour améliorer les meilleures trouvailles.
Amélioration de l'Optimisation des Noyaux
Une approche prometteuse pour améliorer l'optimisation des noyaux consiste à introduire une technique appelée Recherche de Gouttelette, initialement une partie d'un autre outil appelé AutoTVM. La Recherche de Gouttelette se concentre sur l'exploitation des meilleures configurations de noyaux pour trouver les paramètres optimaux par une méthode de recherche directe appelée descente de coordonnées.
La descente de coordonnées fonctionne en partant d'un ensemble initial de paramètres, puis en les affinant de manière itérative. Elle vérifie si l'ajustement des paramètres conduit à de meilleures performances, apportant de petites modifications et observant les effets jusqu'à ce qu'aucune amélioration supplémentaire ne puisse être faite.
En combinant les capacités d'exploration étendues d'Ansor avec les méthodes d'exploitation précises de la Recherche de Gouttelette, il devient possible de produire de meilleurs noyaux plus rapidement.
Mise en œuvre de la Méthodologie de Recherche Combinée
La stratégie consiste à d'abord exécuter Ansor pour explorer l'espace d'optimisation. Il analyse un nombre limité de configurations et identifie les plus prometteuses. Après avoir recueilli ces données préliminaires, la meilleure configuration est transmise à la Recherche de Gouttelette. Cela permet un affinage détaillé, ce qui aide à atteindre de meilleures performances qu'en utilisant seulement Ansor sur un plus grand ensemble d'échantillons.
Configuration Expérimentale
Pour valider l'efficacité de cette approche combinée, plusieurs expériences ont été menées sur diverses plateformes informatiques. Des tests ont été effectués sur plusieurs architectures, y compris des CPU à usage général et des GPU spécialisés. L'objectif était d'évaluer comment la méthodologie proposée se compare aux techniques existantes et d'évaluer les améliorations de performance.
Les expériences ont utilisé des modèles d'apprentissage profond populaires qui sont couramment utilisés dans le domaine, notamment des architectures bien connues comme AlexNet, ResNet, VGG et DenseNet. Ces modèles représentent différents types de tâches d'apprentissage automatique, fournissant une base solide pour l'évaluation.
Résultats et Conclusions
Qualité des Noyaux
La première grande découverte est que l'approche combinée a systématiquement surpassé le standard Ansor en termes de qualité des noyaux produits. Cela indique que la phase d'exploration identifie efficacement des candidats de haute qualité, qui sont ensuite affinés grâce à la Recherche de Gouttelette.
Par exemple, lors des tests des modèles sur une architecture x86, il a été constaté que l'utilisation de l'approche combinée nécessitait significativement moins d'échantillons pour obtenir de meilleures performances. Dans certains cas, l'utilisation de seulement 300 configurations a produit de meilleurs résultats que ceux obtenus en exécutant 10 000 configurations avec le traditionnel Ansor.
Temps de Recherche
Une autre mesure importante était le temps de recherche, qui reflète combien de temps le processus de planification des noyaux prend. Les résultats ont montré que l'approche combinée était généralement plus rapide que la méthode traditionnelle. Dans de nombreux modèles, la nouvelle méthode convergait plus rapidement vers une solution optimisée.
Cette tendance était cohérente à travers diverses architectures. Par exemple, sur un processeur AMD populaire, la méthode combinée a pu terminer la planification dans une fraction du temps qu'il a fallu à Ansor avec un budget beaucoup plus large.
Impact de la Taille du Modèle
L'efficacité de l'approche combinée a montré une certaine variation en fonction de la taille du modèle d'apprentissage automatique. Les modèles plus grands avaient tendance à bénéficier davantage de la réduction du temps de recherche avec la méthode combinée, car ils avaient plus de marge pour l'optimisation.
Dans les modèles plus petits, bien que les avantages aient été présents, l'efficacité de la recherche était relativement plus élevée, montrant l'adaptabilité de la technique combinée à différents scénarios.
Comparaison avec d'Autres Techniques
Au cours des expériences, l'approche combinée a été testée par rapport à d'autres techniques de planification de noyaux disponibles dans AutoTVM. La Recherche de Gouttelette s'est révélée être la méthode la plus efficace pour la phase d'exploitation. D'autres techniques de recherche, comme l'échantillonnage aléatoire ou les méthodes basées sur une grille, n'ont pas bien performé.
Il a été observé que des approches comme la recherche aléatoire n'exploitaient pas efficacement les premières informations sur les noyaux fournies par Ansor, conduisant souvent à des temps d'exécution plus longs et à des performances de noyaux inférieures.
Avantages de la Nouvelle Méthodologie
La combinaison d'Ansor et de la Recherche de Gouttelette apporte plusieurs avantages. Elle améliore la capacité d'Ansor à optimiser la planification des noyaux en étant plus consciente du matériel sous-jacent et en s'adaptant efficacement à diverses contraintes. Cette amélioration est essentielle pour tirer le meilleur parti des ressources computationnelles disponibles.
En automatisant la génération de graines initiales grâce à Ansor, les limitations de la Recherche de Gouttelette, qui repose fortement sur un point de départ bien défini, ont été surmontées. Cette intégration transparente permet une exploration efficace suivie d'une exploitation précise, améliorant considérablement la performance des noyaux.
Applications Pratiques
Les avantages de la méthodologie de recherche combinée vont au-delà de l'intérêt académique. Dans des tâches d'apprentissage automatique du monde réel, optimiser la performance des noyaux peut conduire à des temps d'entraînement et d'inférence des modèles plus rapides. Cet aspect est crucial pour des applications nécessitant une prise de décision rapide, comme les véhicules autonomes, le traitement vidéo en temps réel et d'autres domaines dirigés par l'IA.
En intégrant cette approche de planification avancée dans des frameworks d'apprentissage automatique existants, les développeurs peuvent considérablement améliorer les performances de leurs modèles sans un réglage manuel étendu.
Conclusion
En conclusion, l'utilisation combinée d'Ansor et de la Recherche de Gouttelette pour la planification des noyaux représente une avancée convaincante dans l'apprentissage automatique. En fusionnant efficacement une large exploration avec une exploitation précise, il est possible d'obtenir des gains impressionnants à la fois en qualité des noyaux résultants et en rapidité du processus d'optimisation.
Cette méthodologie améliore non seulement l'efficacité des planificateurs de noyaux, mais garantit également qu'ils sont plus adaptables à différents types d'architectures et de charges de travail. À mesure que l'apprentissage automatique continue d'évoluer, l'adoption de telles approches intégrées sera essentielle pour rester compétitif dans le domaine. Les améliorations apportées par cette stratégie combinée ouvrent la voie à de meilleures performances dans de nombreuses applications d'apprentissage automatique, promettant un avenir radieux pour la technologie de l'IA.
Titre: Explore as a Storm, Exploit as a Raindrop: On the Benefit of Fine-Tuning Kernel Schedulers with Coordinate Descent
Résumé: Machine-learning models consist of kernels, which are algorithms applying operations on tensors -- data indexed by a linear combination of natural numbers. Examples of kernels include convolutions, transpositions, and vectorial products. There are many ways to implement a kernel. These implementations form the kernel's optimization space. Kernel scheduling is the problem of finding the best implementation, given an objective function -- typically execution speed. Kernel optimizers such as Ansor, Halide, and AutoTVM solve this problem via search heuristics, which combine two phases: exploration and exploitation. The first step evaluates many different kernel optimization spaces. The latter tries to improve the best implementations by investigating a kernel within the same space. For example, Ansor combines kernel generation through sketches for exploration and leverages an evolutionary algorithm to exploit the best sketches. In this work, we demonstrate the potential to reduce Ansor's search time while enhancing kernel quality by incorporating Droplet Search, an AutoTVM algorithm, into Ansor's exploration phase. The approach involves limiting the number of samples explored by Ansor, selecting the best, and exploiting it with a coordinate descent algorithm. By applying this approach to the first 300 kernels that Ansor generates, we usually obtain better kernels in less time than if we let Ansor analyze 10,000 kernels. This result has been replicated in 20 well-known deep-learning models (AlexNet, ResNet, VGG, DenseNet, etc.) running on four architectures: an AMD Ryzen 7 (x86), an NVIDIA A100 tensor core, an NVIDIA RTX 3080 GPU, and an ARM A64FX. A patch with this combined approach was approved in Ansor in February 2024. As evidence of the generality of this search methodology, a similar patch, achieving equally good results, was submitted to TVM's MetaSchedule in June 2024.
Auteurs: Michael Canesche, Gaurav Verma, Fernando Magno Quintao Pereira
Dernière mise à jour: 2024-07-15 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2406.20037
Source PDF: https://arxiv.org/pdf/2406.20037
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.