Im Test: SageMaker für Machine Learning in der Cloud
AWS SageMaker ist Amazons Plattform für ML-Projekte. Der Service SageMaker Pipelines soll ML und CI/CD zusammenführen. Wir zeigen, wie das funktioniert.
- Franz Eigner
Data Scientists investieren während Machine-Learning-Projekten viel Zeit in das Aufbereiten von Daten, das Entwickeln von Modellen und das schlussendliche Bereitstellen des Modells als Service. Mit MLOps und dem Erstellen von Datenpipelines lassen sich diese Prozesse effizienter und produktiver gestalten. Entwickler können fertige Pipelines durch das Austauschen verschiedener Komponenten unkompliziert für neue Projekte anpassen. Mittlerweile finden sich viele Plattformen und Cloud-Services für MLOps. Dieser Artikel stellt AWS SageMaker Pipelines anhand eines Praxisbeispiels vor.
Als Beispiel dient eine Pipeline für einen Service, der Vorhersagen darüber treffen soll, ob eine Bank einen Kreditantrag akzeptiert oder nicht. Die für das Modelltraining benötigten Daten liegen dabei in der Regel als Tabelle vor. In jeder Zeile sind Informationen über den Kunden gespeichert, etwa das monatliche Einkommen oder die Wohnsituation. Zusätzlich benötigt das Modelltraining die Zielvariable, auch Target genannt – hier also, ob der Kunde letztendlich den Kredit erhalten hat. Da es sich in diesem Fall um eine Ja-Nein-Entscheidung handelt, spricht man von einer binären Klassifikationsaufgabe.
Der erfolgreichste Ansatz für solche Fragestellungen ist Gradient Boosting. Es erstellt schrittweise schwache Vorhersagemodelle, meist Entscheidungsbäume, um den Vorhersagefehler zu reduzieren. Die Modelle werden iterativ auf den verbleibenden Fehlern der vorherigen Vorhersagen trainiert und anschließend kombiniert. Die verbreitetsten Frameworks dafür sind LightGBM, CatBoost und XGBoost. Eine erste, einfache Herangehensweise wäre das Erstellen eines Python-Skripts auf einem lokalen System, das das Training durchführt und das trainierte Modell anschließend im pickle-Format exportiert. Dabei gibt es jedoch einige Schwierigkeiten: Bei den Fragen nach kontinuierlichen Updates, dem kontinuierlichen Bereitstellen (Continuous Integration / Continuous Delivery, CI/CD) und dem Vergleich von Modellexperimenten wird schnell klar, dass es einer anderen Strategie bedarf. Hier kommt die Machine-Learning-Pipeline ins Spiel: Sie ermöglicht ein effizientes und strukturiertes Umsetzen von ML-Projekten.
Das war die Leseprobe unseres heise-Plus-Artikels "Im Test: SageMaker für Machine Learning in der Cloud". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.