Thèse de doctorat (2024)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (4MB) |
Résumé
L’apprentissage automatique (Machine Learning, ML) est rapidement devenu une technologie fondamentale, propulsant un large éventail d’applications, des utilitaires quotidiens des smartphones aux systèmes à grande échelle critiques pour la sécurité. À mesure que le ML s’étend dans divers domaines, la demande pour des systèmes fiables basés sur le ML devient plus pressante. Cependant, la nature distincte des systèmes ML, qui diffèrent fondamentalement des systèmes logiciels traditionnels, introduit des défis uniques dans l’évaluation de la fiabilité des systèmes ML. Cette thèse aborde ces défis en se concentrant sur quatre aspects critiques des systèmes basés sur le ML : comprendre la nature des bogues spécifiques au ML, ce qui est essentiel pour développer des techniques d’évaluation de la fiabilité ; identifier les défis de développement dans des domaines spécialisés du ML qui affectent la fiabilité des logiciels basés sur le ML ; mettre en oeuvre une référence standard de bogues, une exigence clé pour le processus d’évaluation de la fiabilité ; et faire progresser les techniques de localisation des fautes. La première étape essentielle dans la conception de techniques d’évaluation efficaces de la fiabilité des systèmes basés sur le ML est de comprendre la nature des bogues ML. À cette fin, nous avons mené une enquête détaillée sur 386 problèmes rapportés dans les 300 meilleurs dépôts GitHub utilisant des frameworks ML populaires tels que Keras, TensorFlow et Py- Torch. Notre étude révèle que près de la moitié de ces problèmes concernent spécifiquement les composants ML, les bogues ML présentant des caractéristiques distinctes, telles qu’une complexité accrue et des coûts de correction plus élevés, par rapport aux bogues non-ML. Sur la base de cette analyse fondamentale, nous avons ensuite exploré les défis spécifiques à l’assurance qualité des systèmes basés sur le ML, en nous concentrant particulièrement sur l’apprentissage par renforcement (RL). Le RL, un sous-domaine du ML, a fait l’objet d’un examen limité dans la littérature malgré son adoption croissante dans l’industrie. Pour explorer ces défis, nous avons analysé 927 posts liés au DRL sur Stack Overflow (SO) et développé une taxonomie des défis courants dans le développement d’applications DRL. Cette taxonomie, validée par une enquête auprès de 65 développeurs DRL, met en évidence que la compréhension, l’utilisation des API et les problèmes de conception sont les défis les plus courants, tandis que le traitement parallèle et les bibliothèques/cadres DRL sont identifiés comme les plus complexes. Ces résultats soulignent la nécessité critique d’outils et de ressources pour relever ces défis et améliorer la qualité des systèmes basés sur le DRL. Soutenir le développement de tels outils nécessite une référence standard de bogues pour évaluer les performances de ces techniques et permettre des comparaisons standardisées. Ainsi, la troisième partie de cette thèse examine la reproductibilité et la vérifiabilité des bogues dans les systèmes basés sur le ML, conduisant au développement d’un référentiel appelé Defect4ML. Defect4ML comprend 100 bogues ML reproductibles issus des dépôts GitHub d’applications basées sur le ML et des posts SO liés au ML, en utilisant les deux frameworks ML les plus courants, Keras et TensorFlow. Ce référentiel répond aux critères standards tels que la pertinence, la reproductibilité, l’équité, la vérifiabilité et l’utilisabilité. En s’appuyant sur ce référentiel, nous avons développé une nouvelle approche de localisation des fautes à l’échelle du système basée sur les graphes de connaissances (KG) pour traiter les fautes tout au long du pipeline de développement DL, y compris le prétraitement des données, l’entraînement des modèles et le déploiement du système. Notre approche, validée par rapport aux méthodes existantes telles que DeepLocalize et autoTrainer, démontre une performance supérieure en fournissant une liste classée des fautes et de leurs causes probables, offrant une solution complète pour assurer la fiabilité des systèmes basés sur le ML. En résumé, cette thèse apporte des contributions significatives au domaine des systèmes basés sur le ML en (1) caractérisant la nature unique des bogues dans les composants ML, (2) identifiant et catégorisant les défis de développement dans le DRL, (3) créant le référentiel Defect4ML pour les bogues des systèmes basés sur le ML, et (4) en proposant une technique innovante de localisation des fautes qui couvre l’ensemble du pipeline de développement DL. Ensemble, ces contributions font progresser la compréhension et la fiabilité des systèmes basés sur le ML, ouvrant la voie à des applications plus robustes et fiables à l’avenir
Abstract
Machine Learning (ML) has rapidly become a fundamental technology, driving a diverse array of applications from everyday smartphone utilities to large-scale, safety-critical systems. As ML continues to expand into various domains, the demand for reliable ML-based systems has grown more pressing. However, the distinct nature of ML systems, which differ fundamentally from traditional software systems, introduces unique challenges in the reliability assessment of ML-based systems. This thesis addresses these challenges by focusing on four critical aspects of ML-based systems: understanding the nature of ML-specific bugs which is a necessity for developing reliability assessment techniques, identifying development challenges in specialized ML domains that affect the reliability of ML-based software, implementing a standard benchmark of bugs, a critical requirement for the reliability assessment process, and advancing fault localization techniques. The first essential step in devising effective reliability assessment techniques for ML-based systems is to understand the nature of ML bugs. To this end, we conducted a detailed investigation of 386 reported issues from the top 300 GitHub repositories that use popular ML frameworks such as Keras, TensorFlow, and PyTorch. Our study reveals that nearly half of these reported issues pertain specifically to ML components, with ML bugs exhibiting distinct characteristics, such as increased complexity and higher fixing costs, compared to non-ML bugs. Building on this foundational analysis, we then explored challenges specific to the quality assurance of ML-based systems, with a particular focus on reinforcement learning (RL). RL, a subfield of ML, has seen limited examination in the literature despite its growing adoption in industry. To investigate these challenges, we analyzed 927 DRL-related posts on Stack Overflow (SO) and developed a taxonomy of common challenges in DRL application development. This taxonomy, validated by a survey of 65 DRL developers, highlights that Comprehension, API usage, and Design problems are the most prevalent challenges, while Parallel processing and DRL libraries/frameworks are identified as the most complex. These findings underscore the critical need for tools and resources to address these challenges and enhance the quality of DRL-based systems. Supporting the development of such tools necessitates a standard benchmark of bugs for evaluating the performance of these techniques and enabling standardized comparisons. Thus, the third part of this thesis investigates the reproducibility and verifiability of bugs in MLbased systems, leading to the development of a benchmark called Defect4ML. Defect4ML comprises 100 reproducible ML bugs sourced from GitHub repositories of ML-based applivi cations and ML-related SO posts, utilizing the two most common ML frameworks, Keras and TensorFlow. This benchmark meets standard criteria such as relevance, reproducibility, fairness, verifiability, and usability. Leveraging this benchmark, we developed a novel system-level fault localization approach based on Knowledge Graphs (KG) to address faults across the entire DL development pipeline, including data preprocessing, model training, and system deployment. Our approach, validated against existing methods such as DeepLocalize, and autoTrainer, demonstrates superior performance by providing a ranked list of faults and their probable root causes, offering a comprehensive solution for ensuring the reliability of ML-based systems. In summary, this thesis makes significant contributions to the field of ML-based systems by (1) characterizing the unique nature of bugs in ML components, (2) identifying and categorizing development challenges in DRL, (3) creating the Defect4ML benchmark for ML-based system bugs, and (4) proposing an innovative fault localization approach that spans the entire DL development pipeline. Together, these contributions advance the understanding and reliability of ML-based systems, paving the way for more robust and trustworthy applications in the future.
| Département: | Département de génie informatique et génie logiciel |
|---|---|
| Programme: | Génie informatique |
| Directeurs ou directrices: |
Foutse Khomh |
| URL de PolyPublie: | https://publications.polymtl.ca/62551/ |
| Université/École: | Polytechnique Montréal |
| Date du dépôt: | 18 juin 2025 09:59 |
| Dernière modification: | 30 juil. 2025 20:40 |
| Citer en APA 7: | Morovati, M. (2024). Reliability Assessment Methods for Machine Learning-Based Systems [Thèse de doctorat, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/62551/ |
|---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
