Qué es un almacén de características

En esta página se explica qué es un almacén de características y qué ventajas proporciona y las ventajas específicas del almacén de características de Databricks.

Un almacén de características es un repositorio centralizado que permite a los científicos de datos buscar y compartir características y también garantiza que el mismo código usado para calcular los valores de característica se usa para el entrenamiento y la inferencia del modelo.

El aprendizaje automático usa datos existentes para crear un modelo para predecir los resultados futuros. En casi todos los casos, los datos sin procesar requieren preprocesamiento y transformación antes de poder usarse para compilar un modelo. Este proceso se denomina ingeniería de características, y las salidas de este proceso se denominan características: los bloques de creación del modelo.

El desarrollo de características es complejo y lento. Una complicación adicional es que, para el aprendizaje automático, es necesario realizar los cálculos de caracterización para el entrenamiento del modelo y, a continuación, volver a usar el modelo para realizar predicciones. Es posible que el mismo equipo no realice estas implementaciones o que usen el mismo entorno de código, lo que puede provocar retrasos y errores. Además, los distintos equipos de una organización a menudo tendrán necesidades de características similares, pero es posible que no sean conscientes del trabajo que han realizado otros equipos. Un almacén de características está diseñado para solucionar estos problemas.

¿Por qué usar el almacén de características de Databricks?

El almacén de características de Databricks está totalmente integrado con otros componentes de Azure Databricks.

  • Detectabilidad: La interfaz de usuario del almacén de características, a la que se puede acceder desde el área de trabajo de Databricks, le permite examinar y buscar características existentes.
  • Linaje Al crear una tabla de características en Azure Databricks, los orígenes de datos usados para crear la tabla de características se guardan y son accesibles. Para cada característica de una tabla de características, también puede acceder a los modelos, cuadernos, trabajos y puntos de conexión que usan la característica.
  • Integración con puntuación y servicio de modelos. Cuando se usan características del almacén de características para entrenar un modelo, el modelo se empaqueta con metadatos de características. Cuando se usa el modelo para la puntuación por lotes o la inferencia en línea, recupera automáticamente las características del almacén de características. El autor de la llamada no necesita conocerlos ni incluir lógica para buscar o combinar características para puntuar nuevos datos. Esto facilita mucho la implementación y las actualizaciones de modelo.
  • Búsquedas a un momento dado. El almacén de características admite series temporales y casos de uso basados en eventos que requieren corrección en un momento dado.

Ingeniería de características en Unity Catalog

Con Databricks Runtime 13.2 y versiones posteriores, si el área de trabajo está habilitada para Unity Catalog, este se convierte en el almacén de características. Puede usar cualquier Delta o Delta Live Table de Unity Catalog con una clave principal como tabla de características para el entrenamiento o la inferencia de modelos. Unity Catalog proporciona detección de características, gobernanza, linaje y acceso entre áreas de trabajo.

¿Cómo funciona el Almacén de características de Databricks?

El flujo de trabajo de aprendizaje automático típico que usa Feature Store sigue esta ruta:

  1. Escriba código para convertir datos sin procesar en características y crear un DataFrame de Spark que contenga las características deseadas.
  2. En el caso de las áreas de trabajo habilitadas para Unity Catalog, escriba el dataframe como una tabla de características en Unity Catalog. Si el área de trabajo no está habilitada para Unity Catalog, escriba dataFrame como una tabla de características en el almacén de características del área de trabajo.
  3. Entrene un modelo mediante características del almacén de características. Al hacerlo, el modelo almacena las especificaciones de las características usadas para el entrenamiento. Cuando el modelo se usa para la inferencia, combina automáticamente las características de las tablas de características adecuadas.
  4. Registre el modelo en el registro de modelos.

Ya puede usar el modelo para realizar predicciones sobre los datos nuevos.

En los casos de uso por lotes, el modelo recupera automáticamente las características que necesita del almacén de características.

Feature Store workflow for batch machine learning use cases.

Para casos de uso de servicio en tiempo real, publique las características en una tienda en línea o use una tabla en línea.

En el momento de la inferencia, el modelo lee las características calculadas previamente del almacén en línea y las une con los datos proporcionados en la solicitud de cliente para el punto de conexión de servicio del modelo.

Feature Store flow for machine learning models that are served.

Empezar a usar el almacén de características

Consulte los artículos siguientes para empezar a trabajar con el almacén de características:

Cuando usted utiliza la Ingeniería de Características en el Unity Catalog, el Unity Catalog se encarga de compartir las tablas de características a través de las áreas de trabajo, y usted utiliza los privilegios del Unity Catalog para controlar el acceso a las tablas de características. Los siguientes enlaces corresponden únicamente a la tienda de funciones del área de trabajo:

Tipos de datos admitidos

La ingeniería de características en Unity Catalog y el Almacén de características del área de trabajo son compatibles con los siguientes tipos de datos de PySpark:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]

[1] BinaryType, DecimalType y MapType son compatibles en todas las versiones de Ingeniería de características en Unity Catalog y en el Almacén de características del área de trabajo v0.3.5 o superior.

Los tipos de datos enumerados anteriormente admiten tipos de características comunes en las aplicaciones de aprendizaje automático. Por ejemplo:

  • Puede almacenar vectores densos, tensores e inserciones como ArrayType.
  • Puede almacenar vectores dispersos, tensores e inserciones como MapType.
  • Puede almacenar texto como StringType.

Al publicarse en almacenes en línea, las características ArrayType y MapType se almacenan en formato JSON.

La interfaz de usuario del almacén de características muestra metadatos en los tipos de datos de características:

Complex data types example

Más información

Para obtener más información sobre los procedimientos recomendados para usar el almacén de características, descargue la Guía completa sobre los almacenes de características.