Chronon - la plateforme open source de features ML publiée par Airbnb
(github.com/airbnb)- Une plateforme de features de bout en bout open source qui permet de construire, déployer, gérer et surveiller facilement des pipelines de données pour le machine learning
- Elle est actuellement utilisée pour toutes les principales applications ML d’Airbnb ainsi que pour des cas d’usage majeurs chez Stripe
Fonctionnalités principales
- Collecte de données depuis diverses sources : flux d’événements, snapshots de tables de base de données, flux de changements de données, endpoints de services, tables de data warehouse, etc., pouvant être modélisés et utilisés comme dimensions à évolution lente, faits ou tables de dimensions
- Génération des résultats dans des contextes online et offline : en online, via des endpoints évolutifs à faible latence ; en offline, sous forme de tables Hive pour la génération des données d’entraînement
- Choix entre une précision en temps réel ou en batch :
- Les résultats peuvent être configurés avec une précision Temporal ou Snapshot
- Temporal signifie que les valeurs de features sont mises à jour en temps réel dans le contexte online et que des features alignées sur un instant précis sont générées dans le contexte offline
- La précision Snapshot signifie que les features sont mises à jour une fois par jour à minuit
- Backfill possible des jeux de données d’entraînement à partir des données brutes : plus besoin d’attendre des mois que les logs de features s’accumulent pour entraîner un modèle
- API Python puissante : elle fournit au niveau de l’abstraction API des éléments comme le type de source de données, la fraîcheur et le contexte, et permet de combiner des primitives SQL intuitives comme
group-by,joinetselectavec de puissantes améliorations - Monitoring automatisé des features : génération automatique possible de pipelines de monitoring pour comprendre la qualité des données d’entraînement, mesurer les écarts entre entraînement et serving, surveiller la dérive des features, etc.
Contexte de développement
- Chronon a été développé pour résoudre un problème courant : les praticiens du ML passent la majeure partie de leur temps à gérer les données qui alimentent les modèles plutôt qu’à faire du modeling
Limites des approches existantes
-
Approche de réplication offline-online
- Les praticiens du ML entraînent les modèles avec les données du data warehouse, puis cherchent à répliquer ces features dans l’environnement online
- Avantage : permet d’exploiter pleinement le data warehouse, notamment ses sources de données et ses puissants outils de transformation de données à grande échelle
- Inconvénient : il n’existe pas de méthode claire pour fournir les features du modèle à l’inférence online, ce qui provoque des incohérences et des fuites de labels qui affectent gravement les performances du modèle
-
Approche de journalisation et d’attente
- Les praticiens du ML partent des données disponibles dans l’environnement de serving online où l’inférence du modèle sera exécutée, puis journalisent les features pertinentes dans le data warehouse
- Une fois suffisamment de données accumulées, ils entraînent le modèle à partir des logs et le servent avec ces mêmes données
- Avantage : la cohérence est garantie et le risque de fuite est faible
- Inconvénient : le long temps d’attente rend difficile une réaction rapide à l’évolution du comportement des utilisateurs
L’approche de Chronon
- Chronon permet aux praticiens du ML de ne définir les features qu’une seule fois afin d’alimenter à la fois les flux offline pour l’entraînement des modèles et les flux online pour l’inférence
- Il fournit également de puissants outils pour le chaînage des features, l’observabilité, la qualité des données, le partage et la gestion des features
- Cela permet de conserver les avantages des approches existantes tout en en compensant les limites
Aucun commentaire pour le moment.