Ir al contenido principal

¿Qué es un almacén de características?

Tecton

Actualizado: 15 de mayo de 2025

Acerca de los autores:
Mike Del Balso, director ejecutivo y cofundador de Tecton
Willem Pienaar, creador de Feast

Los equipos de datos están comenzando a darse cuenta de que el aprendizaje automático operacional requiere resolver problemas de datos que van mucho más allá de la creación de canalizaciones de datos.

En una publicación anterior, Por qué necesitamos DevOps para los datos de ML, destacamos algunos de los principales retos de datos que enfrentan los equipos al poner en producción sistemas de ML.

  • Acceso a los datos sin procesar adecuados.
  • Creación de características a partir de datos sin procesar.
  • Combinación de características en los datos de entrenamiento.
  • Funciones de cálculo y servicio en producción.
  • Funciones de monitoreo en producción.

Los sistemas de datos de producción, ya sea para análisis a gran escala o transmisión en tiempo real, no son nuevos. Sin embargo, el aprendizaje automático operativo (inteligencia basada en ML integrada en aplicaciones orientadas al cliente) es nuevo para la mayoría de los equipos. El desafío de implementar el aprendizaje automático a la producción con fines operativos (por ejemplo, sistemas de recomendación, detección de fraudes, personalización, etc.) introduce nuevos requerimientos para nuestras herramientas de datos.

Un nuevo tipo de infraestructura de datos específica de ML está surgiendo para hacerlo posible.

Cada vez más, los equipos de ciencia de datos e ingeniería de datos recurren a los almacenes de características para gestionar los conjuntos de datos y las canalizaciones de datos necesarios para poner en producción sus aplicaciones de aprendizaje automático. Esta publicación describe los componentes clave de un almacén moderno de características y cómo la suma de estas partes actúa como un multiplicador de fuerza para las organizaciones al reducir la duplicación de esfuerzos de ingeniería de datos, acelerar el ciclo de vida del aprendizaje automático y fomentar un nuevo tipo de colaboración entre equipos de ciencia de datos.

Recordatorio rápido: en ML, una característica es un dato utilizado como señal de entrada para un modelo predictivo.
Por ejemplo, si una empresa de tarjetas de crédito intenta predecir si una transacción es fraudulenta, una característica útil podría ser si la transacción se realiza en un país extranjero o cómo se compara el importe de esta transacción con el de las transacciones habituales del cliente. Cuando nos referimos a una característica, generalmente nos referimos al concepto de esa señal (p. ej.: “transacción_en_país_extranjero”), no un valor específico de la característica (p. ej.: no como “la transacción #1364 fue en un país extranjero”).
Infraestructura de datos específica para ML

¿Cuál es el propósito principal de una tienda de características?

“La interfaz entre modelos y datos”

Primero presentamos los almacenes de características en nuestra entrada de blog que describe la plataforma Michelangelo de Uber. Desde entonces, los almacenes de características surgieron como un componente necesario de la pila operativa de aprendizaje automático.

Los beneficios de los almacenes de características incluyen:

  1. Implementar nuevas características sin un amplio soporte de ingeniería.
  2. Automatizar el cálculo de funciones, los rellenos de datos y el registro.
  3. Compartir y reutilizar canalizaciones de características entre equipos.
  4. Realizar un seguimiento de versiones de características, linaje y metadatos.
  5. Lograr consistencia entre los datos de entrenamiento y los de servicio.
  6. Supervisar la salud de las canalizaciones de características en producción.

Los almacenes de características tienen como objetivo resolver el conjunto completo de problemas de gestión de datos que surgen al crear y operar aplicaciones ML operativas.

Un almacén de características es un sistema de datos específico de ML que:

  • Ejecuta pipelines de datos que transforman datos sin procesar en valores de características
  • Almacena y gestiona los datos de características por sí mismo y
  • Proporciona datos de características de forma consistente para fines de entrenamiento e inferencia.
Tecton

Para admitir la gestión simple de características, los almacenes de características proporcionan abstracciones de datos que facilitan la creación, implementación y razonamiento sobre las canalizaciones de características en diferentes entornos. Por ejemplo, facilitan definir una transformación de característica una vez, luego calcular sus valores y servirlos de forma consistente tanto en el entorno de desarrollo (para el entrenamiento con valores históricos) como en el entorno de producción (para la inferencia con valores nuevos de características).

Los almacenes de características actúan como un centro fundamental para los datos y metadatos de características a lo largo del ciclo de vida de un proyecto de ML. Los datos de un almacén de características se utilizan para:

  • La exploración e ingeniería de características.
  • Iteración de modelos, entrenamiento y depuración
  • El descubrimiento y uso compartido de características.
  • La producción que sirve a un modelo para la inferencia.
  • El monitoreo de la salud operativa.

Los almacenes de características aportan economías de escala a las organizaciones de ML al permitir la colaboración. Cuando una característica se registra en una tienda de características, está disponible para su reutilización inmediata por otros modelos en toda la organización. Esto reduce la duplicación de los esfuerzos de ingeniería de datos y permite que los nuevos proyectos de ML se inicien con una biblioteca de características curadas listas para la producción.

Tecton

Los almacenes de características efectivos están diseñados para ser sistemas modulares que pueden adaptarse al entorno en el que se implementan. Hay cinco componentes principales que suelen conformar un almacén de características. En el resto de esta publicación, repasaremos esos componentes y describiremos su papel en el funcionamiento de las aplicaciones de ML operativas.

¿Cuáles son los componentes de una tienda de características?

Hay cinco componentes principales de un almacén de características moderno: transformación, almacenamiento, servicio, supervisión y registro de características.

Tecton

En las siguientes secciones ofreceremos una visión general del propósito y las capacidades típicas de cada una de estas secciones.

Servicio de datos de características

Las almacenes de características sirven datos de características a los modelos. Esos modelos requieren una visión coherente de las características tanto en el entrenamiento como en el servicio. Las definiciones de características que se utilizan para entrenar un modelo deben coincidir exactamente con las características proporcionadas en el servicio en línea. Cuando no coinciden, se introduce un sesgo en el entrenamiento, lo que puede causar problemas catastróficos y difíciles de depurar en el rendimiento del modelo.

Tecton

Los almacenes de características abstraídos eliminan la lógica y el procesamiento utilizados para generar una característica, lo que ofrece a los usuarios una forma fácil y canónica de acceder a todas las características de una empresa de manera consistente en todos los entornos en los que se necesitan.

Al recuperar datos sin conexión (p. ej.: para el entrenamiento), generalmente se accede a los valores de las características a través de los SDK de almacenamiento de características compatibles con notebooks. Proporcionan puntos de vista puntuales correctos del estado del mundo para cada ejemplo utilizado para entrenar un modelo (también conocido como: "viaje en el tiempo").

Para el servicio en línea, un almacén de características entrega un único vector de características a la vez, compuesto por los valores de características más recientes. Las respuestas se proporcionan a través de una API de alto rendimiento respaldada por una base de datos de baja latencia.

Tecton

Almacenamiento de datos para el aprendizaje automático

Los almacenes de características almacenan datos de características para permitir su recuperación a través de capas de servicio de características. Normalmente contienen tanto una capa de almacenamiento en línea como fuera de línea para soportar los requisitos de diferentes sistemas de servicio de características.

Tecton

Las capas de almacenamiento fuera de línea se utilizan típicamente para almacenar meses o años de datos de características con fines de entrenamiento. Los datos de los almacenes de características sin conexión suelen almacenarse en almacenes de datos o lagos de datos como S3, BigQuery, Snowflake o Redshift. Por lo general, se prefiere extender un data lake o almacén de datos existente para el almacenamiento de características fuera de línea para evitar silos de datos.

Las capas de almacenamiento en línea se utilizan para conservar los valores de las características para una búsqueda de baja latencia durante la inferencia. Normalmente solo almacenan los valores de características más recientes de cada entidad y moldean esencialmente el estado actual del mundo. Las tiendas en línea suelen ser consistentes a largo plazo y no tienen requisitos de consistencia estrictos para la mayoría de los casos de uso de ML. Normalmente se implementan con almacenes de valor clave como DynamoDB, Redis o Cassandra.

Tecton

Los almacenes de características utilizan un modelo de datos basado en entidades donde cada valor de característica se asocia a una entidad (por ejemplo, un usuario) y una marca temporal. Un modelo de datos basado en entidades proporciona una estructura mínima para respaldar la gestión estandarizada de características, se adapta de forma natural a los flujos de trabajo habituales de ingeniería de características y permite realizar consultas de recuperación sencillas en producción.

Transformación de datos en aprendizaje automático

Tecton

Las aplicaciones operativas de ML requieren un procesamiento regular de datos nuevos en valores de características para que los modelos puedan hacer predicciones mediante una visión actualizada del mundo. Los almacenes de características gestionan y orquestan las transformaciones de datos que producen estos valores, así como ingieren valores producidos por sistemas externos. Las transformaciones gestionadas por los almacenes de características se configuran por definiciones en un registro común de características (descrito más adelante).

La mayoría de los equipos que empiezan con almacenes de características ya tienen canalizaciones de datos existentes que generan los valores de las características. Esto hace que sea muy importante que los almacenes de características se puedan adoptar gradualmente y cuenten con integraciones de primera clase con las plataformas de datos existentes, lo que permite a los equipos poner en funcionamiento de inmediato los procesos ETL existentes para sus casos de uso de ML.

 

Los almacenes de características suelen interactuar con tres tipos principales de transformaciones de datos:

Tipo de característicaDefiniciónFuente de datos de entrada comúnEjemplo
Transformación por lotesTransformaciones que se aplican solo a datos en reposoAlmacén de datos, lago de datos, base de datosPaís del usuario, categoría del producto
Transformación de transmisiónTransformaciones que se aplican a las fuentes de transmisiónKafka, Kinesis, PubSubNro. de clics por vertical por usuario en los últimos 30 minutos, nro. de vistas por listado en la última hora
Transformación bajo demandaTransformaciones que se utilizan para producir características basadas en datos que solo están disponibles en el momento de la predicción. Estas características no se pueden calcular previamente.Aplicación orientada al usuario¿El usuario se encuentra actualmente en una ubicación compatible?

Una ventaja clave es que facilita el uso conjunto de diferentes tipos de funciones en los mismos modelos.

Tecton

Los modelos necesitan acceso a nuevos valores de características para la inferencia. Las almacenes de características logran esto mediante el recálculo periódico y continuo de las características. Los trabajos de transformación se coordinan para garantizar que los nuevos datos se procesen y se conviertan en nuevos valores de características. Estos trabajos se ejecutan en motores de procesamiento de datos (por ejemplo, Spark o Pandas) a los que está conectado el almacén de características.

El desarrollo del modelo introduce diferentes requisitos de transformación. Al iterar en un modelo, las nuevas características a menudo se diseñan para ser utilizadas en conjuntos de datos de entrenamiento que corresponden a eventos históricos (por ejemplo, todas las compras realizadas en los últimos 6 meses). Para dar soporte a estos casos de uso, los almacenes de características facilitan la ejecución de “trabajos de relleno” que generan y conservan los valores históricos de una característica para el entrenamiento. Algunos almacenes de características rellenan automáticamente las características recién registradas para intervalos de tiempo preconfigurados para los conjuntos de datos de entrenamiento registrados.

El código de transformación se reutiliza en todos los entornos, lo que evita el sesgo entre el entrenamiento y el servicio y libera a los equipos de tener que reescribir el código de un entorno a otro.

Los almacenes de características gestionan todos los recursos relacionados con las características (computación, almacenamiento, servicio) de manera holística a lo largo del ciclo de vida de las características. Al automatizar las tareas de ingeniería repetitivas necesarias para producir una función, permiten realizar una ruta de producción simple y rápida. Optimizaciones de gestión (por ejemplo: retirar características que no utilizan ningún modelo o eliminar duplicados de transformaciones de características entre modelos puede aportar una eficiencia significativa, especialmente a medida que los equipos crecen y aumenta la complejidad de gestionar las características manualmente.

 

Monitorización del aprendizaje automático

Cuando algo sale mal en un sistema de ML, suele ser un problema de datos. Los almacenes de características se encuentran en una posición única para detectar y sacar a la luz este tipo de problemas. Pueden calcular métricas sobre las características que almacenan y suministran que describen la corrección y la calidad. Los almacenes de características monitorizan estas métricas para proporcionar una señal del estado general de una aplicación de ML.

Tecton

Los datos de características se pueden validar en función de esquemas definidos por el usuario u otros criterios estructurales. La calidad de los datos se monitoriza mediante la detección de desviación y sesgo hacia el entrenamiento. Por ejemplo, los datos de características que se entregan a los modelos se comparan con los datos sobre los que el modelo fue capacitado para detectar inconsistencias que podrían degradar el rendimiento del modelo.

Al ejecutar sistemas de producción, también es importante monitorizar las métricas operativas. Los almacenes de características realizan un seguimiento de las métricas operativas relacionadas con la funcionalidad básica, por ejemplo, las métricas relacionadas con el almacenamiento de características (disponibilidad, capacidad, utilización, obsolescencia) o el servicio de características (rendimiento, latencia, tasas de error). Otras métricas describen el funcionamiento de componentes importantes del sistema adyacente, como las métricas operativas de los motores de procesamiento de datos externos (por ejemplo, tasa de éxito de los trabajos, rendimiento, demora y velocidad del procesamiento).

Los almacenes de características ponen estas métricas a disposición de la infraestructura de monitorización existente. Esto permite supervisar y gestionar el estado de las aplicaciones de ML con las herramientas de observabilidad existentes en la pila de producción.

Al tener visibilidad sobre qué características utilizan cada uno de los modelos, los almacenes de características pueden agregar automáticamente alertas y métricas de estado en vistas relevantes para los usuarios, modelos o consumidores específicos.

No es esencial que todos los almacenes de características implementen este tipo de monitorización internamente, pero al menos deberían proporcionar las interfaces a las que los sistemas de monitorización de la calidad de datos puedan conectarse. Diferentes casos de uso de ML pueden tener necesidades de monitorización especializadas distintas, por lo que la capacidad de adaptación aquí es importante.

 

Registro de modelos de aprendizaje automático

Un componente crítico en todos los almacenes de características es un registro centralizado de definiciones y metadatos de características estandarizadas. El registro actúa como fuente única de información veraz sobre una característica de una organización.

Tecton

El registro es una interfaz central para las interacciones del usuario con el almacén de características. Los equipos utilizan el registro como un catálogo común para explorar, desarrollar, colaborar y publicar definiciones nuevas dentro de los equipos y entre ellos.

Las definiciones en el registro configuran el comportamiento del sistema del almacén de características. Los trabajos automatizados utilizan el registro para programar y configurar la ingesta, la transformación y el almacenamiento de datos. Constituye la base de qué datos se almacenan en el almacén de características y cómo se organizan. Las API de servicio utilizan el registro para lograr una comprensión coherente de qué valores de características deberían estar disponibles, quién debería poder acceder a ellos y cómo deberían servir.

El registro permite anexar metadatos importantes a las definiciones de las características. Esto proporciona una vía para rastrear la propiedad, la información específica del proyecto o del dominio y una ruta para integrarse fácilmente con los sistemas adyacentes. Esto incluye información sobre dependencias y versiones que se utilizan para el seguimiento del linaje.

Para ayudar con los flujos de trabajo comunes de depuración, cumplimiento de normas y auditoría, el registro actúa como un registro inmutable de lo que está disponible analíticamente y lo que realmente se está ejecutando en producción.

Hasta ahora, analizamos los componentes mínimos principales de un almacén de características. En la práctica, las empresas suelen tener necesidades como cumplimiento de normas, control y seguridad que requieren capacidades adicionales centradas en la empresa. Ese será el tema de una futura entrada en el blog.

Introducción al almacén de características

Vemos los almacenes de características como el corazón del flujo de datos en las aplicaciones modernas de ML. Se están convirtiendo rápidamente en infraestructura crítica para los equipos de ciencia de datos que ponen ML en producción. Esperamos que la cantidad de organizaciones que usen tiendas de funciones se cuadruplique para el 2028.

Hay algunas opciones para comenzar con las tiendas de funciones:

  • Feast es una gran opción si ya tienes canalizaciones de transformación para calcular tus características, pero necesitas una buena capa de almacenamiento y servicio para ayudarte a usarlas en producción. Feast solo está disponible para GCP hoy en día, pero estamos trabajando duro para que Feast esté disponible como una tienda de funciones ligera para todos los entornos. Manténganse al tanto.
  • Tecton es una plataforma de características como servicio. Una gran diferencia entre Feast y Tecton es que Tecton admite transformaciones, por lo que las canalizaciones de características se pueden administrar de extremo a extremo dentro de Tecton. Tecton es una oferta gestionada y una excelente opción de tienda de características si necesitas acuerdos de nivel de servicio (SLA) de producción, alojamiento, colaboración avanzada, transformaciones gestionadas (por lotes/transmisión/en tiempo real) y/o capacidades empresariales.

Escribimos esta entrada de blog para ofrecer una definición común de los almacenes de características a medida que emergen como un componente principal de la pila operativa de ML. Creemos que la industria está a punto de ver una explosión de actividad en este espacio.

    Volver al glosario