Chronon - la plataforma open source de features de ML que presentó Airbnb
(github.com/airbnb)- Plataforma open source integral de features para construir, desplegar, gestionar y monitorear fácilmente pipelines de datos para machine learning
- Actualmente se usa en todas las principales aplicaciones de ML dentro de Airbnb y en casos de uso clave de Stripe
Funciones principales
- Permite recopilar datos desde diversas fuentes: flujos de eventos, snapshots de tablas de bases de datos, flujos de change data, endpoints de servicios, tablas de warehouse, etc., y modelarlos como dimensiones de cambio lento, hechos o tablas de dimensiones
- Genera resultados en contextos online y offline: en online, como endpoints escalables de baja latencia; en offline, como tablas de Hive para generar datos de entrenamiento
- Permite elegir entre exactitud en tiempo real o por lotes:
- Los resultados pueden configurarse con exactitud Temporal o Snapshot
- Temporal significa actualizar los valores de features en tiempo real en el contexto online y generar features alineados a un momento específico en el contexto offline
- La exactitud Snapshot significa que los features se actualizan una vez al día a la medianoche
- Permite hacer backfill de datasets de entrenamiento desde datos crudos: no hace falta esperar meses a que se acumulen logs de features para entrenar modelos
- Ofrece una potente API de Python: expone tipos de fuentes de datos, frescura, contexto, etc. como abstracciones a nivel API, y permite combinarlas con primitivas intuitivas de SQL como group-by, join y select, junto con mejoras potentes
- Monitoreo automatizado de features: permite generar automáticamente pipelines de monitoreo para entender la calidad de los datos de entrenamiento, medir desajustes entre entrenamiento y serving, y monitorear feature drift, entre otros
Contexto de desarrollo
- Chronon fue desarrollado para resolver el problema común de que los profesionales de ML dedican la mayor parte de su tiempo a gestionar los datos que alimentan los modelos, más que al modelado en sí
Límites de los enfoques existentes
-
Enfoque de replicación offline-online
- Los profesionales de ML entrenan modelos con datos del data warehouse y luego buscan cómo replicar esos features en el entorno online
- Ventaja: permite aprovechar al máximo el data warehouse, incluidas las fuentes de datos y herramientas robustas para transformaciones de datos a gran escala
- Desventaja: no hay una forma clara de servir features del modelo para inferencia online, lo que provoca inconsistencias y label leakage que afectan gravemente el rendimiento del modelo
-
Enfoque de logging y espera
- Los profesionales de ML comienzan con datos disponibles en el entorno de serving online donde se ejecutará la inferencia del modelo, y registran los features relacionados en el data warehouse
- Cuando se acumulan suficientes datos, entrenan el modelo con esos logs y lo sirven con los mismos datos
- Ventaja: garantiza consistencia y reduce la posibilidad de leakage
- Desventaja: la larga espera dificulta responder rápidamente a cambios en el comportamiento de los usuarios
Enfoque de Chronon
- Chronon permite que los profesionales de ML definan un feature una sola vez y con eso alimenten tanto el flujo offline para entrenamiento del modelo como el flujo online para inferencia
- También ofrece herramientas robustas para feature chaining, observabilidad, calidad de datos, compartición de features y gestión
- Con esto, logra conservar las ventajas de los enfoques existentes mientras compensa sus desventajas
Aún no hay comentarios.