Simple Science

Hochmoderne Wissenschaft einfach erklärt

# Computerwissenschaften# Software-Entwicklung# Künstliche Intelligenz

Automatisches Debugging in Machine Learning-Modellen

Ein neues System verbessert die AutoML-Leistung, indem es automatisch Suchfehler behebt.

― 7 min Lesedauer


Automatisches Beheben vonAutomatisches Beheben vonAutoML-Fehlernes wichtige Leistungsprobleme angeht.Neues System verbessert AutoML, indem
Inhaltsverzeichnis

Deep Learning-Modelle sind jetzt ein wichtiger Teil vieler Softwaresysteme. Um diese Modelle automatisch zu entwerfen, haben Forscher Systeme für Automatisiertes Maschinelles Lernen (AutoML) entwickelt. Diese Systeme finden automatisch die richtige Modellstruktur und die Einstellungen für spezifische Aufgaben. Aber wie alle Software können auch AutoML-Systeme Fehler haben. Zwei grosse Probleme, die wir bei AutoML gefunden haben, sind:

  1. Performance-Fehler: Manchmal dauert es zu lange, bis das AutoML-System das richtige Modell findet.
  2. Ineffizienter Suchfehler: Das System könnte überhaupt nicht in der Lage sein, ein ausreichend gutes Modell zu finden.

Als wir geschaut haben, wie AutoML-Systeme funktionieren, haben wir gesehen, dass sie oft wichtige Chancen in ihrem Suchprozess verpassen. Das führt zu den beiden Hauptfehlern, die wir erwähnt haben. Basierend auf unseren Erkenntnissen haben wir ein System entwickelt, das diese Probleme in AutoML-Systemen automatisch debuggen und beheben kann.

Unser System beobachtet den AutoML-Prozess, während er läuft. Es sammelt detaillierte Informationen über die Modellsuche und behebt automatisch alle Fehler, indem es den Suchraum erweitert und eine neue Methode verwendet, um das beste Modell zu finden.

Einführung

In der heutigen Welt von Software 2.0 spielen Techniken des Maschinellen Lernens (ML) eine grosse Rolle dabei, Software intelligenter zu machen. Das Wachstum des Deep Learning (DL) bietet neue Chancen für Softwareintelligenz. Dadurch werden DL-Modelle zu wesentlichen Bestandteilen von Softwaresystemen. Der Markt für KI-Software am Rand wird in den kommenden Jahren voraussichtlich erheblich wachsen. Die COVID-19-Pandemie hat auch die Nutzung von DL-Techniken in verschiedenen Branchen beschleunigt.

Trotz des Wachstums dieser Technologien haben viele Menschen in spezialisierten Bereichen kein tiefes Verständnis für DL. Das schafft Herausforderungen für die Software-Engineering-Community. Um dem entgegenzuwirken, haben Forscher AutoML entwickelt, das darauf abzielt, ML-Modelle zu erstellen, ohne dass der Benutzer umfangreiche Kenntnisse benötigt – nur die jeweilige Aufgabe. Viele Organisationen haben AutoML-Systeme entwickelt und geteilt, um Nutzern mit wenig oder keinem DL-Hintergrund zu helfen, effektive Modelle zu erstellen.

Der AutoML-Prozess umfasst mehrere Schritte:

  1. Datenvorbereitung: Die AutoML-Engine sammelt und bereinigt die Daten. Sie kann die Daten auch verbessern, wenn nötig.
  2. Modellgenerierung: Das System sucht nach möglichen Modellen und deren Einstellungen basierend auf der bereitgestellten Aufgabe.
  3. Training und Bewertung: Die Modelle werden trainiert und bewertet. Wenn das Modell nicht ein festgelegtes Genauigkeitsniveau erreicht, wird die Suche fortgesetzt, um ein besseres Modell zu finden.

Dieser Ansatz hat in vielen Bereichen gute Ergebnisse gezeigt. Zum Beispiel wird ein AutoML-System im Gesundheitswesen eingesetzt, um medizinische Bedingungen schneller zu diagnostizieren. Es hat auch die Klassifizierung von Inhalten online verbessert.

Aber AutoML-Systeme sind nicht ohne ihre Fehler. Die beiden Fehler, die wir zuvor erwähnt haben – Performance und ineffiziente Suchen – sind häufige Probleme, die zu verschwendeter Zeit und Ressourcen führen.

Um diese Fehler besser zu verstehen, haben wir AutoKeras untersucht, eine bekannte AutoML-Engine. Wir haben herausgefunden, dass bestehende AutoML-Engines verschiedene Optimierungschancen verpassen, was zu den beiden Hauptfehlern führt.

Performance-Fehler

Zuerst fehlt im Suchraum vieler AutoML-Systeme eine bestimmte wertvolle Optionen. Viele Parameter sind in diesen Engines fixiert, was es schwierig macht, die besten Modelle zu finden. Das Ändern einiger dieser Parameter könnte die Leistung des Systems erheblich verbessern.

Ineffizienter Suchfehler

Zweitens ignorieren die bestehenden Suchstrategien, die von AutoML-Engines verwendet werden, oft wichtiges Feedback. Diese Strategien beinhalten normalerweise viel zufälliges Raten, was die Chancen, ein gutes Modell zu finden, verringert. Sie hängen stark davon ab, unzählige Modelle zu trainieren, um ihre Vermutungen zu verfeinern, was nicht immer praktikabel ist. Infolgedessen können die Chancen, ein optimales Modell und dessen Einstellungen zu entdecken, sehr gering sein.

Verbesserungsbedarf

Der AutoML-Prozess benötigt Hunderte von Versuchen, selbst bei einfachen Datensätzen. Ausserdem schneiden die erzeugten Modelle oft schlechter ab als erwartet. Wir haben ein System entwickelt, um die Performance-Fehler und die ineffizienten Suchprobleme in AutoML zu identifizieren und zu beheben.

Unser System überwacht nicht nur die Trainings- und Bewertungsprozesse, sondern schlägt auch Verbesserungen vor, wenn es Probleme findet. Zu diesen Verbesserungen gehört die Erweiterung des Suchraums und die Anwendung effektiver, feedbackgesteuerter Strategien. Wir haben frühere Forschungen verwendet, um die positiven Auswirkungen dieser Änderungen auf die Modellleistung zu zeigen.

Hintergrund zum Automatisierten Maschinellen Lernen

ML-Modelle zu erstellen, kann komplex und herausfordernd sein. Um dem entgegenzuwirken, automatisieren AutoML-Systeme die Erstellung von DL-Modellen für gegebene Datensätze, wodurch der menschliche Eingriff entfällt. Bei AutoML wird jeder Versuch, ein Modell zu erstellen, als Suche bezeichnet. Jede Suche umfasst:

  1. Vorbereitung der Daten und Erstellung von Features.
  2. Generierung eines Modells.
  3. Training und Bewertung dieses Modells.

Der gesamte Prozess wird wiederholt, bis ein zufriedenstellendes Modell gefunden wird.

AutoML-Engines bewerten normalerweise jedes trainierte Modell anhand seiner Genauigkeitsbewertung. Um zu messen, wie effizient die Suchen sind, betrachten wir GPU-Stunden und Tage, die benötigt werden.

Schritte der AutoML-Pipeline

Die AutoML-Pipeline umfasst mehrere Schritte:

Datenvorbereitung

Dieser Schritt bereitet die Trainingsdaten vor und kann das Bereinigen, Normalisieren oder Verbessern umfassen.

Modellgenerierung

Dieser Teil beinhaltet die Suche nach den richtigen Modellen und Einstellungen. Der Suchraum definiert alle potenziellen Modellstrukturen und Einstellungen. Die Suchstrategie bestimmt, wie das System diesen Raum erkundet.

Training und Bewertung

Sobald Modelle generiert wurden, werden sie trainiert. Nach dem Training werden die Modelle bewertet, um ihre Genauigkeit zu bestimmen. Wenn das Modell das erforderliche Leistungsniveau erreicht, stoppt die Suche. Wenn nicht, setzt das System die Suche nach besseren Modellen fort.

Modell-Debugging und Reparatur

Fehler in Modellen zu beheben, ist ein wesentlicher Teil des Software-Engineerings. Verschiedene Ansätze wurden vorgeschlagen, um Probleme in ML-Modellen zu debuggen und zu beheben. Dazu gehören:

  • Erstellen von adversarialen Beispielen, um Schwächen in Modellen zu identifizieren.
  • Bereinigung falsch etikettierter Trainingsdaten.
  • Analyse der Eingabedaten, um Probleme mit Overfitting und Underfitting zu beheben.
  • Verwendung spezifischer Tools, die darauf ausgelegt sind, Debugging-Praktiken zu automatisieren.

Performance-Fehler in AutoML

AutoML-Systeme haben auch Fehler, die anderen Softwaresystemen ähnlich sind, einschliesslich Performance-Fehler und ineffiziente Suchfehler. Diese Fehler können zu Problemen wie verlängerten Verarbeitungszeiten und niedriger Genauigkeit führen.

Untersuchung von AutoKeras

Um diese Fehler zu untersuchen, haben wir uns AutoKeras genauer angesehen. Wir haben eine Zielgenauigkeit festgelegt, und jede der drei Suchstrategien konnte das Ziel in angemessener Zeit nicht erreichen. Zum Beispiel benötigte die Bayessche Suchstrategie über 9 Stunden, um eine bescheidene Genauigkeitsbewertung zu erreichen, während andere Strategien das Ziel selbst nach langen Zeiträumen nicht erreichen konnten.

Unser vorgeschlagenes System

Wir haben ein neues System entwickelt, das darauf abzielt, Performance- und ineffiziente Suchfehler in AutoML-Pipelines automatisch zu beheben. Unser System überwacht die Suchen auf potenzielle Probleme und schlägt notwendige Änderungen vor.

Überwachung und Feedback

Unser System sammelt detailliertes Feedback zu Training und Bewertung, um Fehler zu identifizieren. Wir haben spezifische Symptome für sowohl Performance- als auch ineffiziente Suchfehler definiert, die es dem System ermöglichen, diese schnell zu erkennen.

Wenn die AutoML-Engine zu lange braucht, um ein festgelegtes Ziel zu erreichen, klassifizieren wir das als Performance-Fehler. Wenn es über mehrere Versuche keine Verbesserung der Modellbewertung gibt, wird es als ineffizienter Suchfehler gekennzeichnet.

Feedback-gesteuerte Suche

Das Herzstück unseres vorgeschlagenen Systems ist die feedback-gesteuerte Suche, die die Feedbackdaten nutzt, um den Suchprozess zu steuern. Durch die Analyse der Daten können wir die besten Massnahmen finden, die zu ergreifen sind.

Experimentierung und Ergebnisse

Wir haben Experimente mit beliebten Datensätzen durchgeführt, um die Effizienz und Wirksamkeit unseres Debugging-Systems zu testen. Die Ergebnisse zeigen, dass unser System bestehende Strategien deutlich übertroffen hat.

Performance-Verbesserung

Unser System erzielte bessere Genauigkeitswerte im Vergleich zu den Basismethoden, was darauf hindeutet, dass es die Probleme in der AutoML-Pipeline effektiv beheben kann.

Effizienz des Systems

Die Zeit, die benötigt wurde, um Zielwerte zu erreichen, war mit unserem System im Vergleich zu traditionellen AutoML-Strategien viel kürzer.

Fazit

Zusammenfassend konzentriert sich unser automatisches Debugging- und Reparatursystem für AutoML darauf, Performance- und ineffiziente Suchfehler zu beheben. Durch das Sammeln detaillierten Feedbacks und die Überwachung der Trainingsprozesse kann unser System fundierte Änderungen vornehmen, um die Suche und die Modellleistung zu verbessern. Die Ergebnisse unserer Bewertung zeigen, dass unser System effektiv ist und die Leistung von AutoML-Engines im Vergleich zu bestehenden Methoden erheblich steigern kann.

Originalquelle

Titel: DREAM: Debugging and Repairing AutoML Pipelines

Zusammenfassung: 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.

Autoren: Xiaoyu Zhang, Juan Zhai, Shiqing Ma, Chao Shen

Letzte Aktualisierung: 2023-12-30 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2401.00379

Quell-PDF: https://arxiv.org/pdf/2401.00379

Lizenz: https://creativecommons.org/licenses/by/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr von den Autoren

Ähnliche Artikel