Feature Store
Aprende qué es un feature store, cómo los almacenes offline y online evitan el desfase entre entrenamiento y servicio, y por qué la gestión de características importa para un MLOps escalable.
Un almacén de características es un sistema centralizado para gestionar, almacenar, descubrir y servir las características de datos utilizadas por los modelos de aprendizaje automático. Ayuda a los equipos a aplicar las mismas definiciones de características durante el entrenamiento y la inferencia en producción, lo que reduce el trabajo duplicado y las incoherencias. Por ejemplo, en lugar de reconstruir el valor de «compras en los últimos 30 días» de un cliente en varias canalizaciones, los equipos pueden definirlo una vez, mantener su historial y recuperar su valor más reciente cuando un modelo realiza una predicción.
Cómo funciona un almacén de características#
Una característica es una entrada medible para un modelo, como la antigüedad de la cuenta, el valor medio de las transacciones, el recuento de objetos detectados o la incrustación de una imagen. Los datos sin procesar se convierten en entradas útiles para el modelo mediante ingeniería de características o extracción de características automatizada.
Un almacén de características típico coordina varios componentes:
- Definiciones de características: Los esquemas describen el nombre, el tipo de dato, el propietario, la lógica de transformación, la clave de entidad y la versión de cada característica. Las características relacionadas se pueden organizar en grupos de características o vistas, tal como se describe en los conceptos de Amazon SageMaker Feature Store.
- Almacén fuera de línea: Los valores históricos sirven para la exploración, el entrenamiento, la validación y la inferencia por lotes. La documentación del almacén fuera de línea de Feast explica cómo se recuperan las características históricas de series temporales de las fuentes de datos subyacentes.
- Almacén en línea: Los valores más recientes se guardan en una base de datos de baja latencia para predicciones en tiempo real. Un almacén en línea de Feast, por ejemplo, suele conservar el valor más nuevo para cada clave de entidad.
- Materialización: Un proceso programado o en flujo continuo traslada los valores de características calculados al almacén en línea.
- Registro y metadatos: Las definiciones en las que se pueden hacer búsquedas ayudan a los equipos a descubrir, gobernar, versionar y reutilizar características.
Una entidad identifica lo que describe la característica. Puede ser un ID de cliente, ID de producto, ID de máquina o ID de cámara. Una marca de tiempo de eventos registra cuándo era válido el valor en lugar de cuándo se escribió por casualidad.
Por qué importan los almacenes de características#
Un beneficio importante es la coherencia entre el entrenamiento y el servicio. Si un modelo se entrena con un cálculo pero recibe un cálculo ligeramente diferente en producción, el sesgo entre entrenamiento y servicio puede reducir la calidad de las predicciones. Las definiciones centrales y la lógica de recuperación compartida hacen que esto sea menos probable.
La recuperación consciente del tiempo es igual de importante. Una fila de entrenamiento solo debe contener información que existiera cuando ocurrió el evento predicho. Las uniones puntuales en el tiempo en Feast reconstruyen dichos valores históricos, lo que ayuda a evitar la fuga de datos procedente de información futura. La guía de servicio de características de Google Cloud enfatiza de forma similar las marcas de tiempo y las búsquedas puntuales en el tiempo para características sensibles al factor temporal.
Los almacenes de características también admiten:
- Reutilización: Varios modelos pueden consumir características de confianza sin tener que reconstruir canalizaciones.
- Frescura: Las actualizaciones en flujo continuo pueden mantener actualizadas las entradas en tiempo real.
- Gobernanza: La propiedad, el linaje, los controles de acceso y las versiones facilitan la auditoría de las características.
- Supervisión: Los equipos pueden detectar valores faltantes, registros obsoletos, cambios en el esquema y deriva de datos.
Estas capacidades hacen que los almacenes de características sean una parte importante del MLOps de producción, especialmente cuando muchos modelos y equipos dependen de datos compartidos.
Comparativa de los almacenes de características con sistemas relacionados#
Un almacén de características no es simplemente otra base de datos.
- Un lago de datos contiene grandes volúmenes de datos sin procesar o procesados, mientras que un almacén de características añade definiciones orientadas a modelos, marcas de tiempo, lógica de recuperación e interfaces de servicio.
- Una base de datos vectorial se especializa en la búsqueda de similitudes sobre vectores. Un almacén de características puede gestionar incrustaciones, pero también puede contener características escalares, categóricas, agregadas y de series temporales.
- Una canalización de ingeniería de características calcula características; el almacén de características gestiona y sirve los valores resultantes.
- Un registro de modelos gestiona las versiones y los artefactos de los modelos, mientras que un almacén de características gestiona las entradas de los modelos.
Los sistemas gestionados pueden combinar varias de estas responsabilidades. Por ejemplo, los almacenes de características gestionados de Azure Machine Learning proporcionan descubrimiento, versionado, materialización y recuperación histórica de características.
Aplicaciones en el mundo real#
Detección de fraudes: Un modelo de pagos puede utilizar la velocidad de las transacciones, el importe medio de las compras, la antigüedad de la cuenta y el recuento de pagos fallidos recientes. El almacén fuera de línea reconstruye los valores históricos para el entrenamiento, mientras que el almacén en línea suministra los valores actuales en cuestión de milisegundos cuando llega una nueva transacción.
Inspección por visión artificial: Un sistema de fabricación puede almacenar recuentos continuos de defectos, el estado de los equipos, metadatos de turnos e incrustaciones visuales organizadas por línea de producción y marca de tiempo. Las características históricas permiten el reentrenamiento, mientras que los valores actuales ayudan a un modelo desplegado a interpretar nuevas detecciones. Los equipos pueden gestionar imágenes, anotaciones, entrenamiento, despliegue y supervisión con Ultralytics Platform, mientras que un almacén de características independiente sirve las entradas operativas.
Ultralytics YOLO26 puede generar características de imagen que posteriormente podrían registrarse con ID de entidad, marcas de tiempo y metadatos de versión:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
images = [
"https://ultralytics.com/images/bus.jpg",
"https://ultralytics.com/images/zidane.jpg",
]
embeddings = model.embed(images)
first_image_features = embeddings[0]
print(len(embeddings))
print(first_image_features.shape)Este ejemplo realiza la extracción de características, no la gestión completa del almacén de características. Una canalización de producción validaría los vectores, los asociaría con registros y tiempos de eventos, almacenaría versiones históricas y supervisaría la frescura y la calidad utilizando prácticas como las descritas en las directrices de calidad de ML de Google Cloud.






