Automated Machine Learning (AutoML) verspricht, den Aufwand für Modellwahl und Hyperparameter-Tuning drastisch zu reduzieren. Mit AutoML-Frameworks können Data Scientists und Entwickler schneller zu leistungsfähigen Modellen gelangen, ohne jeden Schritt manuell optimieren zu müssen. In diesem Artikel schauen wir uns Auto-sklearn und FLAML genauer an.
Microsoft Research hat FLAML initiert und auch in Azure zur Verfügung gestellt.
(Bild: Microsoft)
Auto-sklearn ist ein AutoML-Framework, das auf der weitverbreiteten Scikit-learn-Bibliothek aufbaut. Das Framework ist als Drop-in-Ersatz für einen Scikit-learn-Estimator konzipiert, das heißt, man kann einen AutoSklearnClassifier oder AutoSklearnRegressor ähnlich wie einen normalen Klassifikator instanziieren, trainieren und verwenden. Intern verfolgt Auto-sklearn den CASH-Ansatz (Combined Algorithm Selection and Hyperparameter optimization). Das bedeutet, es sucht automatisch sowohl den besten Lernalgorithmus als auch die besten Hyperparameter für einen gegebenen Datensatz.
Auto-sklearn nutzt verschiedene Lernverfahren
Auto-sklearn bringt standardmäßig eine breite Palette von Lernverfahren und Vorverarbeitungsschritten mit. Darunter befinden sich Ensemble-Methoden wie AdaBoost und Random Forest, lineare Modelle (LDA, QDA, logistische Regression), SVM (linear und mit Kernel), k-Nearest-Neighbors, Naive Bayes (Bernoulli, Gaussian, Multinomial) und Gradient Boosting. Für Regression stehen entsprechende Gegenstücke zur Verfügung.
Auto-sklearn baut aus diesen Bausteinen ML-Pipelines auf, bestehend aus optionaler Datenvorverarbeitung und Feature-Transformation, gefolgt vom eigentlichen Lernalgorithmus. Die Kombination aus Preprocessing-Techniken und Algorithmen wird als konfigurierbare Pipeline betrachtet, und Auto-sklearn versucht, die optimale Pipeline-Konfiguration für den Datensatz zu finden.
Wichtig ist, dass Auto-sklearn diese Vorverarbeitungsschritte automatisch durchführt, sodass die Eingabedaten am Ende in einer Form vorliegen, die alle Scikit-learn-Algorithmen verarbeiten können. Falls gewünscht, lässt sich die Vorverarbeitung aber auch abschalten oder gezielt einschränken. Für die eigentliche Suche im Hyperraum der Pipeline-Konfigurationen setzt Auto-sklearn auf einen Bayesopt-Ansatz mit sequenzieller Modelloptimierung. Genauer gesagt, kommt im Hintergrund das Tool SMAC (Sequential Model-based Algorithm Configuration) zum Einsatz. SMAC baut ein Surrogat-Modell auf, das die Leistung in Abhängigkeit von Hyperparametern vorhersagt, und wählt basierend darauf vielversprechende neue Konfigurationen aus. Auto-sklearn verbessert diesen Prozess durch Meta-Learning. Beim Start versucht es mittels Datensatz-Metaeigenschaften, ähnliche Datensätze in seinem Erfahrungsschatz zu finden und leitet daraus gute Startpunkte für die Optimierung ab.
In der neueren Auto-sklearn-2.0-Generation wurde die Meta-Learning-Strategie weiter vereinfacht. Statt komplexer Metafeatures wird ein statisches Portfolio an Top-Pipelines genutzt, das verschiedene typische Datensatz-Szenarien abdeckt. Diese Portfolio-Pipelines dienen als initiale Kandidaten, ohne erst Ähnlichkeiten im Metafeature-Raum berechnen zu müssen.
Auto-sklearn 2.0 experimentiert intern mit verschiedenen Evaluationsstrategien gleichzeitig, zum Beispiel einfache Holdout-Schätzung sowie Cross-Validation und mit Ansätzen aus dem Multi-Fidelity-Optimierungskonzept (Successive Halving/Hyperband). Für Big Data-Szenarien (millionenfache Datenpunkte, verteilte Systeme) kann Auto-sklearn zudem im Parallel- und Distributed-Modus betrieben werden. Hierbei setzt es auf Dask als Backend, um eine parallele Ausführung über mehrere Kerne oder sogar Cluster-Knoten zu ermöglichen.
Architektur und Vorgehen von FLAML
FLAML ist in kürzester Zeit einsatzbereit.
(Bild: Microsoft)
FLAML (Fast and Lightweight AutoML) verfolgt einen etwas anderen Ansatz als Auto-sklearn, mit starkem Fokus auf Effizienz und geringem Ressourcenverbrauch. Das Framework wurde von Microsoft Research initiiert und ist ebenfalls in Python implementiert. Im Gegensatz zu Auto-sklearn, das eine breite Palette an Algorithmen ausprobiert, konzentriert sich FLAML auf einen Kern von hochperformanten Lernern und wählt Hyperparameter besonders kosteneffizient aus. FLAML kann man sich als eine Mischung aus AutoML-Tool und generischem Hyperparameter-Tuning-Tool vorstellen. Es kann sowohl komplette Modelle automatisch auswählen als auch zur reinen Parameteroptimierung eingesetzt werden
FLAML bringt standardmäßig eine Reihe bewährter Algorithmen für tabulare Daten mit, hauptsächlich aus dem Bereich der Gradient Boosting Machines und Random Forests. Im eingebauten Repertoire finden sich etwa LightGBM, XGBoost, CatBoost, Random Forest, Extra Trees sowie das Histogram Gradient Boosting von Scikit-learn. Ergänzt wird dies durch einfache Modelle wie k-NN und lineare Modelle. Für Forecasting-Aufgaben sind zudem Zeitreihen-Modelle wie ARIMA, SARIMAX, Holt-Winters und ein komplexeres Deep-Learning-Modell (Temporal Fusion Transformer) integriert.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Der Standardmodus bei FLAML beschränkt den Suchraum bewusst auf Modelle, die ein gutes Leistung-vs.-Kosten-Verhältnis haben. Ressourcenhungrige Verfahren (komplexes SVM mit RBF-Kernel oder ein großes neuronales Netz) sucht man hier vergebens. Stattdessen setzt FLAML auf Algorithmen, die schon mit Standardeinstellungen gut performen und durch Hyperparameter-Tuning weiter verbessert werden können. Für diese Modelle sind im Code feste Hyperparameter-Suchräume hinterlegt, die praxisbewährte Grenzen und Skalen nutzen (log-uniforme Verteilungen für Lernraten, sinnvolle Maximalwerte abhängig von der Datensatzgröße).
FLAML verfolgt einen pragmatischen Ansatz zur Modellwahl. Default ist estimator_list="auto", was bedeutet, dass FLAML, je nach Task, eine interne Liste von geeigneten Algorithmen nutzt. Bei Klassifikation/Regression auf Tabellendaten sind dies LightGBM, XGBoost oder RF. Ein bemerkenswerter Unterschied zu Auto-sklearn: FLAML erstellt standardmäßig kein Ensemble, sondern liefert das beste Einzelmodell als Resultat. Das hat Vor- und Nachteile. Das Endmodell ist leicht interpretierbar und einzusetzen. Es schöpft aber nicht die mögliche zusätzliche Genauigkeit aus, die ensemblierte Modelle bieten könnten. Allerdings bietet FLAML die Möglichkeit, optional ein Stacking-Ensemble über die gefundenen Modelle zu bauen
Im Gegensatz zu Auto-sklearn, das Dask nutzt und Worker mit je einem Kern startet, geht FLAMLs Standardvorgehen eher in Richtung Thread parallelism pro Trial plus Trial parallelism optional. Beide Tools erreichen letztlich ähnliches. Sie können auf vielen Rechnerkernen beschleunigt suchen. FLAML punktet dabei mit der bereits genannten Strategie, nicht zu viele Modelle speichern zu müssen. Dadurch bleibt der Speicher- und Festplattenverbrauch niedrig. Auto-sklearn hingegen speichert per Design die Predictions vieler Modelle auf Platte, um das Ensemble später bauen zu können, was bei langen Läufen im verteilten Setting einiges an Speicherplatz beanspruchen kann.
Auch muss man bei Auto-sklearn an ein Shared Filesystem denken, während FLAML mit Ray typischerweise die Objekte im Arbeitsspeicher verteilt (Ray’s Distributed Shared Memory). Für sehr große Daten bietet allerdings keines der beiden Tools von sich aus eine vollständige Lösung wie Out-of-Core-Learning. In solchen Fällen müsste man selbst für Vorab-Sampling oder Streaming-Solutions sorgen. FLAMLs Spark-Anbindung erlaubt es aber, datenparallel zu tunen. So könnten die Modelltrainings selbst mit Spark MLlib oder XGBoost-Spark verteilt laufen, was jedoch manueller Setups bedarf.
Damit geht FLAML über Auto-sklearn hinaus, das hauptsächlich tabulare Daten bearbeitet. Anwender können FLAML also nutzen, um Hyperparameter von Transformern für Textklassifikation zu optimieren oder um in einem Data-Science-Projekt mit zeitlich aufgelösten Daten ein Holt-Winters-Modell automatisch fitten zu lassen. Auto-sklearn liefert darüber hinaus standardmäßig ein Ensemble, FLAML ein Single Model. Das Ensemble gibt Auto-sklearn oft den letzten Leistungs-Schub, gerade wenn mehrere Modelle unterschiedliche Stärken haben.
Skalierbarkeit und Umgang mit großen Daten
In Big-Data-Szenarien stoßen klassische AutoML-Tools schnell an Grenzen. Beide hier betrachteten Bibliotheken haben jedoch Mechanismen, um mit wachsenden Datenmengen umzugehen. Durch die Einführung von iterativen Algorithmen only und Multi-Fidelity-HPO kann Auto-sklearn 2.0 auch mit größeren Daten arbeiten, ohne zu unterbrechen. Wenn man Auto-sklearn zum Beispiel zwei Stunden Zeit gibt auf einer Million Datenpunkten, wird es vermutlich initial alle einfachen Modelle mit kleinem Teil der Daten testen und nach und nach weiterverfolgen. So kommt zumindest eine vernünftige Lösung heraus, anstatt die Zeit in wenigen volle Trainings zu investieren, die dann vielleicht nicht optimal sind. Allerdings ist Auto-sklearn aufgrund seiner vielen Pipeline-Varianten und Ensemble-Bildung speicherintensiv.
Von vornherein auf schnelle Abbrüche und Kostenbegrenzung getrimmt, hat FLAML hier einen Vorteil. Es wird bei Big Data zunächst mit kleinen Subsets und sehr wenigen Bäumen/Epochen starten (dank CFO) und so in kurzer Zeit einen Eindruck gewinnen. Sollte das Zeitbudget knapp sein, liefert FLAML dann eben ein einfaches Modell, während Auto-sklearn eventuell noch gar keinen vollständigen Fit hinbekommen hätte. Beide Frameworks stehen unter BSD/MIT-Lizenzen offen zur Verfügung und sind via pip (pip install flaml) oder Conda installierbar. Sie spielen gut mit Jupyter zusammen, daher haben beide durchaus ihre passenden Einsatzszenarien.