Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel# Intelligence artificielle

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


Correction automatiqueCorrection automatiquedes bugs AutoMLperformance cruciaux.s'attaquant à des problèmes deLe nouveau système améliore l'AutoML en
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 :

  1. Bug de Performance : Parfois, il faut trop de temps au système AutoML pour trouver le bon modèle.
  2. 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 :

  1. 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.
  2. 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.
  3. 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 :

  1. Préparer les données et créer des caractéristiques.
  2. Générer un modèle.
  3. 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.

Source originale

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.

Plus d'auteurs

Articles similaires