In diesem Blogbeitrag wird die Leistung von Tools für automatisiertes maschinelles Lernen (AutoML) erörtert, die darauf abzielen, die Anwendung von maschinellem Lernen auf reale Probleme ohne Expertenwissen zu automatisieren. Der Blog argumentiert, dass die heute verfügbaren Tools diese Versprechen nicht einhalten, und verwendet zwei verschiedene Ansätze, um die Frage "Was kann man von Automated Machine Learning erwarten?" zu beantworten. Im ersten Ansatz werden die technischen Aspekte von AutoML näher beleuchtet, im zweiten Ansatz wird das Gesamtbild betrachtet. Die technischen Aspekte zeigen, dass es keinen Konsens über die genauen Komponenten gibt, die automatisiert werden sollten, und dass verschiedene AutoML-Tools eine große Vielfalt an Funktionen bieten. Das größere Bild zeigt, dass AutoML nur ein einzelner Schritt in einer größeren Problemlösungsgeschichte ist. Ohne Fachwissen riskieren die Menschen in dieser Geschichte, an den Schnittstellen Fehler zu machen. Daher benötigen AutoML-Benutzer zumindest ein gewisses Maß an Expertenwissen, um effektiv mit AutoML arbeiten zu können.
Viele Anbieter behaupten, dass sie die AutoML-Lösung anbieten, die Sie suchen. Der aktuelle AutoML-Benchmark versucht, einen objektiven Überblick über die Leistung einiger dieser Tools zu geben.
Aber was ist AutoML? Die meisten Erklärungen beinhalten
etwas Technisches, wie
... die Automatisierung der Anwendung des maschinellen Lernens auf reale Probleme -wikipedia
als auch einen menschlichen Aspekt:
... handelsübliche Methoden des maschinellen Lernens, die einfach und ohne Expertenwissen angewendet werden können" -automl.org
Für bare Münze genommen, sind das gewaltige Ansprüche. In diesem Blogpost werden wir argumentieren, dass die heute verfügbaren Tools diese Versprechen nicht einhalten können. Wir konzentrieren uns dabei insbesondere auf AutoML für strukturierte (tabellarische) Daten und versuchen, die Frage zu beantworten: "Was können Sie von Automated Machine Learning erwarten?"
Eine romantisierte Version dessen, was die Menschen von AutoML erwarten, könnte in etwa so aussehen:
In diesem Blogpost wird das obige Schema anhand von 2 verschiedenen Ansätzen genauer betrachtet:
"Was genau soll AutoML automatisieren?"
Auf diese Frage gibt es keine eindeutige Antwort, auf die sich alle Frameworks/Entwickler/Nutzer einigen können. Dieser Mangel an Klarheit hat dazu geführt, dass sich verschiedene Werkzeughersteller auf die Automatisierung unterschiedlicher Teilmengen von Aufgaben in ML-Projekten konzentrieren. Das Ergebnis ist, dass die verfügbaren Werkzeuge oft überlappende, aber unterschiedliche Funktionssets haben. Für einen Endbenutzer, der "ML-Aufgaben automatisieren" möchte, kann es sehr schwierig sein, Werkzeuge zu vergleichen.
Im Folgenden finden Sie 4 Beispiele, die dies verdeutlichen. (Diese Liste ist nicht erschöpfend - Sie können diese Übung auch für andere Werkzeuge durchführen).
Auto-Sklearn automatisiert das absolute Minimum. Beachten Sie, dass der Datensatz manuell bereinigt und die Merkmale vorverarbeitet werden müssen. (In diesen Skizzen sind die farbigen Komponenten diejenigen, die von dem jeweiligen Tool abgedeckt werden):
TPOT (ein weiterer Klassiker) umfasst zusätzlich die Merkmalsvorverarbeitung, Merkmalskonstruktion und -auswahl:
Die Schöpfer von MLJAR (und ähnlichen Werkzeugen) zielen auf etwas Größeres ab. Diese Open-Source-Pakete enthalten Funktionen für z. B. Erklärbarkeit, Ensembling, Dokumentationserstellung, Experimentverfolgung und Modellvalidierung. Das bedeutet, dass die Benutzer nicht nur ein ML-Modell erstellen, sondern auch viele nützliche Metadaten erfassen.
Im Jahr 2022 hat Google Cloud die Entwicklung und Einführung von "Vertex AI AutoML Tabular" wirklich vorangetrieben . Es führt eine Datenbereinigung durch (im Gegensatz zu den vorherigen Tools) - das heißt, Sie können ihm Ihren Rohdatensatz geben, wenn Sie das möchten. Die Erstellung von Statistiken und die Erkennung von Datendrifts wird über TFX implementiert. Trainierte Modelle können als Endpunkt bereitgestellt werden: All diese Schritte lassen sich gut in Vertex AI-Pipelines integrieren. GCP bietet auch Erklärungsmöglichkeiten nach der Bereitstellung und nicht während der Modellentwicklung/-auswahl. Allerdings ist keine echte Dokumentationserstellung zu sehen...
Nachdem ich mir die Interna einiger beliebter AutoML-Tools näher angesehen habe, wird es ziemlich klar:
Es besteht kein Konsens über die genauen Komponenten, die automatisiert werden sollten. Die verschiedenen AutoML-Tools bieten eine Vielzahl von Funktionen.
(Auto)ML ist nur ein einzelner Schritt in einer größeren Problemlösungsgeschichte. Ohne Fachwissen laufen die Menschen in dieser Geschichte Gefahr, an den Schnittstellen Fehler zu machen :
AN DER EINGABE: Die Eingabe von Daten in jedes ML-System erfordert eine gewisse Entscheidungsfindung.
Manche Dinge lassen sich einfach nicht automatisieren. Bevor ein Datensatz an ein AutoML-System (oder an eine Gruppe von ML-Ingenieuren) übergeben werden kann, muss jemand, der sich mit den Daten auskennt, gründlich und tiefgründig nachdenken:
Ich bin mir ziemlich sicher, dass dies nicht die einzigen Probleme sind - aber Sie verstehen, worum es geht.
AN DER AUSGABE: Die Interpretation der Ergebnisse von ML-Trainingsaufgaben ist nicht einfach.
Sobald Sie ein Modell trainiert haben - Juhu!- wollen Sie wahrscheinlich einen Blick auf die technischen Daten werfen, bevor Sie es einsetzen. Woher wollen Sie sonst wissen, ob es gut genug ist? Braucht es mehr Training? Mehr Daten? Eine andere Problemformulierung? Um diese Fragen zu beantworten, müssen Sie wahrscheinlich etwas tiefer in die Ergebnisse eindringen:
Wir sind nicht nur Fans von Abkürzungen - dies sind alles Beispiele für Fragen, die bei ML-Projekten auftauchen. Selbst wenn Sie einige oder alle technischen Teile der Modellerstellung automatisieren können, bedeutet das nicht, dass Ihr Modell nach dem Training einsatzbereit ist.
Durch Herauszoomen haben wir das erkannt:
Es ist unrealistisch, "ML-Projekte von Nichtfachleuten durchführen zu lassen", denn damit Menschen mit ML-Systemen interagieren können, ist auf jeden Fall Fachwissen über die Eingabedaten und die Auswertung des Modells erforderlich.
AutoML ist ein weiteres Werkzeug: eine Komponente in einem iterativen Rahmen, der es Ihnen ermöglicht, nach den bestmöglichen Daten zu suchen, um nützliche Vorhersagen zu treffen, ohne zu viel Zeit in die Modellentwicklung zu investieren.
Werkzeuge müssen auf eine bestimmte Weise verwendet werden. Wenn Sie die richtigen Erwartungen an ein Werkzeug haben, ist es wahrscheinlicher, dass Sie das richtige Werkzeug für die richtige Aufgabe verwenden. Erwarten Sie nicht, dass ein einziges Werkzeug Ihre Probleme auf magische Weise löst.