Débogage automatisé dans les modèles d'apprentissage automatique
Un nouveau système améliore les performances d'AutoML en corrigeant automatiquement les bugs de recherche.
― 9 min lire
Table des matières
Les modèles de Deep Learning sont maintenant une partie clé de nombreux systèmes logiciels. Pour aider à concevoir ces modèles automatiquement, les chercheurs ont créé des systèmes d'Automated Machine Learning (AutoML). Ces systèmes trouvent automatiquement la bonne structure de modèle et les réglages pour des tâches spécifiques. Cependant, comme tout logiciel, les systèmes AutoML peuvent avoir des bugs. Deux problèmes majeurs que nous avons trouvés dans AutoML sont :
- Bug de Performance : Parfois, il faut trop de temps au système AutoML pour trouver le bon modèle.
- Bug de Recherche Inefficace : Le système pourrait ne pas être capable de trouver un modèle assez bon du tout.
Quand on a regardé comment fonctionnent les systèmes AutoML, on a remarqué qu'ils ratent souvent des opportunités importantes dans leur processus de recherche. Cela mène aux deux bugs principaux mentionnés. Sur la base de nos découvertes, on a développé un système qui peut automatiquement déboguer et corriger ces problèmes dans les systèmes AutoML.
Notre système surveille le processus AutoML pendant qu'il fonctionne. Il collecte des informations détaillées sur la recherche de modèles et corrige automatiquement les bugs en élargissant l'espace de recherche et en utilisant une nouvelle méthode pour trouver le meilleur modèle.
Introduction
Dans le monde d'aujourd'hui du Software 2.0, les techniques de Machine Learning (ML) jouent un grand rôle pour rendre les logiciels plus intelligents. La croissance du Deep Learning (DL) offre de nouvelles chances pour l'intelligence logicielle. En conséquence, les modèles DL deviennent des parties essentielles des systèmes logiciels. Le marché des logiciels IA en périphérie devrait augmenter significativement dans les années à venir. La pandémie de COVID-19 a aussi accéléré l'utilisation des techniques DL dans divers secteurs.
Malgré la croissance de ces technologies, beaucoup de gens travaillant dans des domaines spécialisés n'ont pas une compréhension approfondie du DL. Cela crée des défis pour la communauté des ingénieurs logiciels. Pour y remédier, les chercheurs ont développé l'AutoML, qui vise à créer des modèles ML sans nécessiter de connaissances approfondies de la part de l'utilisateur-juste la tâche à accomplir. De nombreuses organisations ont créé et partagé des systèmes AutoML pour aider les utilisateurs avec peu ou pas de formation DL à construire des modèles efficaces.
Le processus AutoML inclut plusieurs étapes :
- Préparation des Données : Le moteur AutoML collecte et nettoie les données. Il peut aussi améliorer les données si nécessaire.
- Génération de Modèle : Le système recherche des modèles possibles et leurs réglages basés sur la tâche fournie.
- Entraînement et évaluation : Les modèles sont entraînés et évalués. Si le modèle ne répond pas à un niveau d'exactitude défini, la recherche continue pour trouver un meilleur modèle.
Cette approche a montré de bons résultats dans de nombreux domaines. Par exemple, un système AutoML est utilisé dans le domaine de la santé pour aider à diagnostiquer des conditions médicales plus rapidement. Il a aussi amélioré la façon dont le contenu est classé en ligne.
Cependant, les systèmes AutoML ne sont pas sans défauts. Les deux bugs mentionnés plus tôt-performance et recherches inefficaces-sont des problèmes courants qui mènent à du temps et des ressources gaspillés.
Pour mieux comprendre ces bugs, nous avons examiné AutoKeras, un moteur AutoML bien connu. Nous avons découvert que les moteurs AutoML existants ratent diverses opportunités d'optimisation, menant aux deux bugs principaux.
Bug de Performance
D'abord, l'espace de recherche dans de nombreux systèmes AutoML manque de certaines options précieuses. Beaucoup de paramètres sont fixes dans ces moteurs, ce qui rend difficile de trouver les meilleurs modèles. Changer certains de ces paramètres pourrait grandement améliorer la performance du système.
Bug de Recherche Inefficace
Deuxièmement, les stratégies de recherche existantes utilisées par les moteurs AutoML ignorent souvent des retours importants. Ces stratégies impliquent généralement beaucoup de devinettes aléatoires, ce qui réduit les chances de trouver un bon modèle. Elles dépendent fortement de l'entraînement d'innombrables modèles pour affiner leurs devinettes, ce qui n'est pas toujours pratique. En conséquence, les chances de découvrir un modèle optimal et ses réglages peuvent être très faibles.
Besoin d'Amélioration
Le processus AutoML nécessite des centaines d'essais même avec des ensembles de données simples. De plus, les modèles créés sous-performent souvent par rapport aux attentes. Nous avons conçu un système pour identifier et réparer les Bugs de performance et les problèmes de recherche inefficace dans AutoML.
Notre système surveille non seulement les processus d'entraînement et d'évaluation, mais suggère également des améliorations lorsqu'il trouve des problèmes. Certaines de ces améliorations incluent l'élargissement de l'espace de recherche et l'emploi de stratégies efficaces basées sur les retours. Nous avons utilisé des recherches précédentes pour montrer l'impact positif de ces changements sur la performance des modèles.
Contexte sur l'Automated Machine Learning
Construire des modèles de ML peut être complexe et difficile. Pour y remédier, les systèmes AutoML automatisent la création de modèles DL pour des ensembles de données donnés, éliminant ainsi le besoin d'intervention humaine. Dans AutoML, chaque tentative de créer un modèle est appelée une recherche. Chaque recherche implique :
- Préparer les données et créer des caractéristiques.
- Générer un modèle.
- Entraîner et évaluer ce modèle.
Le processus entier est répété jusqu'à ce qu'un modèle satisfaisant soit trouvé.
Les moteurs AutoML évaluent généralement chaque modèle entraîné en utilisant son score de précision. Pour mesurer l'efficacité des recherches, nous regardons les heures et les jours GPU requis.
Étapes du Pipeline AutoML
Le pipeline AutoML inclut plusieurs étapes :
Préparation des Données
Cette étape prépare les données d'entraînement et peut impliquer le nettoyage, la normalisation ou l'amélioration.
Génération de Modèle
Cette partie consiste à rechercher les bons modèles et réglages. L'espace de recherche définit toutes les structures et réglages de modèles potentiels. La stratégie de recherche détermine comment le système explore cet espace.
Entraînement et Évaluation
Une fois les modèles générés, ils sont entraînés. Après l'entraînement, les modèles sont évalués pour déterminer leur précision. Si le modèle atteint le niveau de performance requis, la recherche s'arrête. Sinon, le système continue à chercher de meilleurs modèles.
Débogage et Réparation de Modèles
Réparer les problèmes dans les modèles est une partie essentielle de l'ingénierie logicielle. Plusieurs approches ont été proposées pour déboguer et corriger les problèmes dans les modèles ML. Cela inclut :
- Créer des exemples adversariaux pour identifier les faiblesses dans les modèles.
- Nettoyer les données d'entraînement mal étiquetées.
- Analyser les données d'entrée pour corriger les problèmes de surapprentissage et de sous-apprentissage.
- Utiliser des outils spécifiques conçus pour automatiser les pratiques de débogage.
Bugs de Performance dans AutoML
Les systèmes AutoML rencontrent également des bugs similaires à d'autres systèmes logiciels, y compris des bugs de performance et des bugs de recherche inefficace. Ces bugs peuvent mener à des problèmes comme des temps de traitement prolongés et une faible précision.
Examen d'AutoKeras
Pour étudier ces bugs, nous avons regardé de près AutoKeras. Nous avons défini une précision cible, et chacune des trois stratégies de recherche n'a pas réussi à atteindre l'objectif dans un temps raisonnable. Par exemple, la stratégie de recherche bayésienne a pris plus de 9 heures pour atteindre un score de précision modeste, tandis que d'autres stratégies n'ont pas réussi à atteindre l'objectif même après de longues périodes.
Notre Système Proposé
Nous avons créé un nouveau système qui vise à corriger automatiquement les bugs de performance et de recherche inefficace dans les pipelines AutoML. Notre système surveille les recherches pour des problèmes potentiels et suggère les changements nécessaires.
Surveillance et Feedback
Notre système collecte des retours détaillés sur l'entraînement et l'évaluation pour aider à identifier les bugs. Nous avons défini des symptômes spécifiques pour les bugs de performance et ceux de recherche inefficace, permettant au système de les repérer rapidement.
Quand le moteur AutoML prend trop de temps pour atteindre un objectif fixé, on le classe comme un bug de performance. S'il n'y a pas d'amélioration dans le score du modèle après plusieurs tentatives, il est étiqueté comme un bug de recherche inefficace.
Recherche Basée sur le Feedback
Le cœur de notre système proposé est la recherche basée sur le feedback, qui utilise les données de feedback pour guider le processus de recherche. En analysant les données, nous pouvons trouver les meilleures actions à entreprendre.
Expérimentation et Résultats
Nous avons réalisé des expériences en utilisant des ensembles de données populaires pour tester l'efficacité et l'efficacité de notre système de débogage. Les résultats montrent que notre système a surpassé de manière significative les stratégies existantes.
Amélioration des Performances
Notre système a obtenu de meilleurs scores de précision par rapport aux méthodes de base, indiquant qu'il peut corriger efficacement les problèmes dans le pipeline AutoML.
Efficacité du Système
Le temps nécessaire pour atteindre des scores cibles était bien plus court avec notre système comparé aux stratégies AutoML traditionnelles.
Conclusion
En résumé, notre système de débogage et de réparation automatique pour AutoML se concentre sur la correction des bugs de performance et de recherche inefficace. En collectant des retours détaillés et en surveillant les processus d'entraînement, notre système peut apporter des changements éclairés pour améliorer la recherche et la performance des modèles. Les résultats de notre évaluation démontrent que notre système est efficace et peut considérablement améliorer les performances des moteurs AutoML par rapport aux méthodes existantes.
Titre: DREAM: Debugging and Repairing AutoML Pipelines
Résumé: Deep Learning models have become an integrated component of modern software systems. In response to the challenge of model design, researchers proposed Automated Machine Learning (AutoML) systems, which automatically search for model architecture and hyperparameters for a given task. Like other software systems, existing AutoML systems suffer from bugs. We identify two common and severe bugs in AutoML, performance bug (i.e., searching for the desired model takes an unreasonably long time) and ineffective search bug (i.e., AutoML systems are not able to find an accurate enough model). After analyzing the workflow of AutoML, we observe that existing AutoML systems overlook potential opportunities in search space, search method, and search feedback, which results in performance and ineffective search bugs. Based on our analysis, we design and implement DREAM, an automatic debugging and repairing system for AutoML systems. It monitors the process of AutoML to collect detailed feedback and automatically repairs bugs by expanding search space and leveraging a feedback-driven search strategy. Our evaluation results show that DREAM can effectively and efficiently repair AutoML bugs.
Auteurs: Xiaoyu Zhang, Juan Zhai, Shiqing Ma, Chao Shen
Dernière mise à jour: 2023-12-30 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2401.00379
Source PDF: https://arxiv.org/pdf/2401.00379
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.