Ir al contenido principal
Anuncios

Presentamos Feature Views

Una forma más sencilla y administrada de crear, servir y gobernar características de ML

por Nick Joung, Ian Ackerman y Julia Brouillette

  • Qué es: Feature Views es un framework administrado para definir una característica de ML una vez y usarla en todas partes; la misma definición sirve para datos históricos de experimentación y entrenamiento, y para canalizaciones de producción para inferencia por lotes o en tiempo real.
  • El desafío que resuelve: Llevar el ML en tiempo real a producción. Experimente con características en un notebook y llévelas a producción rápidamente con unas pocas llamadas a la API. Elimine la desviación entre entrenamiento y servicio (training/serving skew), el código de características duplicado y la frágil infraestructura autoadministrada de streaming y almacenamiento en línea que dificulta la escalabilidad del ML.
  • El resultado: Las características se convierten en objetos gobernados de Unity Catalog, materializados por canalizaciones administradas, con características de streaming servidas con un p99 de extremo a extremo de 200 ms.

En un mundo perfecto, las features de ML se crean una sola vez. Pero para muchos equipos, una feature que funciona en un notebook de todos modos se convierte en lógica duplicada, pipelines frágiles, backfills puntuales, conexiones complejas con el online store y sobrecarga de gobernanza. Para casos de uso en tiempo real como la detección de fraudes, la personalización y las recomendaciones, esa complejidad se vuelve aún más difícil de absorber porque los modelos dependen de señales frescas para hacer predicciones precisas. Los desafíos comunes incluyen:

  • Reimplementar la lógica de las features tanto en el entrenamiento en tiempo real como en el histórico
  • La discrepancia entre entrenamiento y servicio (training/serving skew) que degrada el rendimiento del modelo
  • Descubrir y reutilizar features en diferentes casos de uso
  • Cargar datos históricos extensos (backfilling) de las features en el online store
  • Mantener una infraestructura de producción compleja a escala
  • Gobernar y rastrear el linaje (lineage) a través de componentes y pipelines

Databricks se complace en anunciar la Public Preview de Feature Views, un framework para crear pipelines de features administrados directamente dentro de Databricks. Con Feature Views, diseñas una feature una sola vez y dejas que la plataforma se encargue de todo, desde la experimentación hasta el servicio en tiempo real (serving).

¿Qué son las Feature Views?

Una Feature View es una abstracción simple y potente que abarca todo el ciclo de vida de ML. Un científico de datos o ingeniero de ML define la lógica de su feature: el origen, la entidad, la columna de series temporales y el cálculo. A partir de esa única definición, el Feature Store de Databricks genera datos históricos y precisos en el tiempo (point-in-time) para la experimentación y el entrenamiento. Cuando están listos, los usuarios materializan la Feature View, y Databricks ejecuta los pipelines que calculan los datos de las features para una inferencia eficiente.

La misma definición de feature admite fuentes tanto por lotes (batch) como de streaming. La experimentación y la puesta en producción son iguales para ambas fuentes. Cambiar de una fuente de batch a una de streaming es tan sencillo como escribir unas pocas líneas de código.

Aquí tienes la misma definición de Feature View, ejecutándose como una feature de streaming y una de batch.

¿Por qué usar Feature Views?

1. Una sola definición, sin discrepancias (skew)

La principal causa de fallo en ML en tiempo real es la brecha entre cómo se calcula una feature para el entrenamiento y cómo se calcula en el momento del servicio (serving). Las Feature Views cierran esa brecha por diseño: existe una única definición, y la plataforma calcula los valores de entrenamiento y los valores de inferencia en línea a partir de esa única definición para que coincidan. Para los equipos de ML, esto significa mucho menos código que mantener y un camino mucho más sencillo hacia la producción.

Las mejores recomendaciones para cientos de millones de viajeros comienzan con mejores features. Las Feature Views redujeron drásticamente nuestro código de features: nuestros científicos de datos avanzan más rápido y se concentran en lo que aporta valor al viajero, no en cómo calcularlo.—Jules Marshall, Sr. Director of Data, Skyscanner

2. Genie Code para la experimentación

GIF que muestra Feature Views en acción

Comienza a desarrollar de forma rápida y sencilla con el SDK del cliente de Feature Engineering y Genie Code. El SDK facilita la declaración de features localmente en un notebook, su cálculo correcto e instantáneo sobre datos históricos y la creación de un conjunto de entrenamiento preciso en el tiempo (point-in-time).

Dado que Databricks unifica las definiciones de features, los datos de las features, el entrenamiento de modelos y MLflow en un solo entorno, los científicos de datos pueden pasar de la idea de una feature al experimento del modelo en un solo notebook.

Con Genie Code, los equipos pueden usar Feature Views para ejecutar flujos de trabajo de experimentación de modelos en un solo paso (one-shot): identificar las fuentes de datos adecuadas, generar ideas de features y experimentar con modelos y datos en un solo notebook.

3. Pipelines listos para producción que no tienes que operar

Cuando una feature esté lista para producción, regístrala en Unity Catalog y llama a materialize_features. Databricks crea y administra los pipelines en tu nombre, escribiendo en los online y offline stores correspondientes.

Listo para producción significa datos de alta calidad, infraestructura escalable y confiabilidad de misión crítica. Internamente, Feature Views coordina productos GA ampliamente probados como Lakebase y RTM, optimizando el funcionamiento conjunto de los componentes para admitir cargas de trabajo de Feature Serving. Los casos extremos funcionan de inmediato, como el backfilling de ventanas de tiempo largas, features de streaming o la expiración de filas obsoletas del online store.

4. Frescura en tiempo real cuando la necesitas

Para casos de uso donde cada nuevo evento debe cambiar de inmediato el valor entregado al modelo, las Feature Views admiten features de streaming provenientes de Kafka, ofreciendo una latencia p99 de extremo a extremo de 200 ms desde el evento hasta la disponibilidad en línea. Un RollingWindow analiza hacia atrás desde la marca de tiempo de cada evento con resolución de milisegundos, por lo que una agregación como "suma de transacciones en los últimos 10 minutos" siempre está actualizada.

De forma interna, Databricks coordina los componentes que hacen que esto sea rápido: Spark Realtime Mode procesa eventos de manera continua y actualiza las agregaciones móviles por evento en lugar de esperar microbatches; Lakebase funciona como un online store optimizado para streaming que minimiza la amplificación de escritura para upserts pequeños y frecuentes; y Model Serving recupera las features en el momento de la inferencia. Tú diseñas la feature de ventana móvil (rolling-window) y la plataforma crea el pipeline.

5. Gobernado en Unity Catalog, integrado en toda la plataforma

Las Materialized Features son datos y deben gobernarse como tales. En Databricks, las Feature Views son objetos de primer nivel de Unity Catalog: detectables, con control de acceso y rastreadas con un linaje completo. Las features se empaquetan con el modelo: cuando registras un modelo con MLflow, se registran sus dependencias de features y, en el momento de la inferencia, Model Serving busca automáticamente las features requeridas, sin necesidad de código de búsqueda personalizado ni conexiones manuales. En combinación con MLflow, Model Serving y Genie Code, las Feature Views hacen de Databricks un único lugar para desarrollar, implementar y gobernar todo tu entorno de ML.

GIF de Genie Code agregando features a un notebook

Genie Code está integrado de forma nativa con Feature Views, por lo que los científicos de datos pueden crear e iterar en las features a partir de prompts sencillos. Pídele que agregue nuevas features a un notebook y Genie Code podrá generar el código correcto en contexto, utilizando los datos y la gobernanza que ya están en Databricks.

Cómo están utilizando los equipos las Feature Views

  • Los equipos de servicios financieros utilizan features de streaming de RollingWindow para obtener señales de transacciones en menos de un segundo para la detección de fraudes.
  • Los equipos de personalización y recomendación capturan la intención más reciente del usuario dentro de la sesión para impulsar la interacción, al tiempo que reutilizan las mismas definiciones de forma offline para el entrenamiento de modelos.
  • Los equipos de plataforma consolidan pipelines de features anteriormente fragmentados en objetos gobernados de Unity Catalog, eliminando la carga operativa de administrar de forma manual los online stores y los procesadores de streaming.

Primeros pasos

Para empezar, solo tienes que pedirle a Genie que use Feature Views para crear un nuevo experimento.

Te puede ayudar a definir una característica, analizar la importancia para tu conjunto de datos, crear un conjunto de entrenamiento y, cuando todo esté listo para producción, registrarla y materializarla. La materialización en streaming requiere además un espacio de trabajo de nivel Enterprise en una región que admita Lakebase.

Para obtener más información, consulta la documentación:

Feature Views te permiten crear una característica una sola vez y usarla en la experimentación, por lotes y en el servicio en tiempo real, sin tener que gestionar tú mismo la infraestructura subyacente. Toma una característica por lotes existente y comprueba qué tan fuerte es la señal que proporciona con una frescura a nivel de milisegundos, y deja que Databricks ejecute los pipelines que la llevan allí.

Si este es el tipo de problemas en los que quieres trabajar, estamos contratando.

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

Recibe las últimas publicaciones en tu bandeja de entrada

Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.