Chronon – die von Airbnb veröffentlichte Open-Source-ML-Feature-Plattform
(github.com/airbnb)- Eine Open-Source-End-to-End-Feature-Plattform, mit der sich Datenpipelines für Machine Learning einfach aufbauen, bereitstellen, verwalten und überwachen lassen
- Wird derzeit für alle wichtigen ML-Anwendungen bei Airbnb sowie für zentrale Anwendungsfälle bei Stripe eingesetzt
Hauptfunktionen
- Datenerfassung aus verschiedenen Quellen: Ereignis-Streams, Snapshots von DB-Tabellen, Change-Data-Streams, Service-Endpunkte, Warehouse-Tabellen usw. können modelliert und als Slowly Changing Dimensions, Fakt- oder Dimensionstabellen genutzt werden
- Ergebniserzeugung in Online- und Offline-Kontexten: online als skalierbare Endpunkte mit niedriger Latenz, offline als Hive-Tabellen zur Erstellung von Trainingsdaten
- Wahl zwischen Echtzeit- oder Batch-Genauigkeit:
- Ergebnisse können mit Temporal- oder Snapshot-Genauigkeit konfiguriert werden
- Temporal bedeutet, dass Feature-Werte im Online-Kontext in Echtzeit aktualisiert und im Offline-Kontext Features passend zu einem bestimmten Zeitpunkt erzeugt werden
- Snapshot-Genauigkeit bedeutet, dass Features einmal täglich um Mitternacht aktualisiert werden
- Backfilling von Trainingsdatensätzen aus Rohdaten möglich: Für das Modelltraining muss nicht erst monatelang auf angesammelte Feature-Logs gewartet werden
- Leistungsstarke Python-API: Bietet Abstraktionen auf API-Ebene für Datenquellentypen, Aktualität, Kontexte usw. und kombiniert intuitive SQL-Grundbausteine wie group-by, join und select mit leistungsfähigen Erweiterungen
- Automatisiertes Feature-Monitoring: Kann Monitoring-Pipelines automatisch erzeugen, um die Qualität von Trainingsdaten zu verstehen, Training-Serving-Mismatches zu messen und Feature-Drift zu überwachen
Hintergrund der Entwicklung
- Chronon wurde entwickelt, um ein verbreitetes Problem von ML-Praktikern zu lösen: dass sie den Großteil ihrer Zeit nicht mit dem Modellieren selbst, sondern mit der Verwaltung der Daten verbringen, die das Modell antreiben
Grenzen bestehender Ansätze
-
Offline-Online-Replikationsansatz
- ML-Praktiker trainieren Modelle mit Daten aus dem Data Warehouse und suchen dann nach einer Möglichkeit, diese Features in die Online-Umgebung zu replizieren
- Vorteil: Das Data Warehouse lässt sich mit seinen Datenquellen und starken Werkzeugen für großskalige Datentransformationen maximal nutzen
- Nachteil: Es gibt keinen klaren Weg, Modell-Features für Online-Inferenz bereitzustellen, was zu Inkonsistenzen und Label Leakage führt und die Modellleistung erheblich beeinträchtigt
-
Logging-und-Warten-Ansatz
- ML-Praktiker beginnen mit Daten, die in der Online-Serving-Umgebung verfügbar sind, in der die Modellinferenz ausgeführt wird, und loggen die relevanten Features ins Data Warehouse
- Sobald genügend Daten angesammelt sind, wird das Modell aus den Logs trainiert und mit denselben Daten bereitgestellt
- Vorteil: Konsistenz ist gewährleistet, und die Wahrscheinlichkeit von Leakage ist gering
- Nachteil: Aufgrund der langen Wartezeiten ist es schwierig, schnell auf sich veränderndes Nutzerverhalten zu reagieren
Der Ansatz von Chronon
- Chronon ermöglicht es ML-Praktikern, Features nur einmal zu definieren und damit sowohl Offline-Flüsse für das Modelltraining als auch Online-Flüsse für die Modellinferenz zu versorgen
- Darüber hinaus bietet es leistungsstarke Werkzeuge für Feature-Chaining, Observability, Datenqualität sowie das Teilen und Verwalten von Features
- Dadurch lassen sich die Vorteile bestehender Ansätze nutzen und ihre Nachteile ausgleichen
Noch keine Kommentare.