Las siguientes recomendaciones te ayudarán a planificar y usar Vertex AI Feature Store (heredado) en varias situaciones. Esta guía no tiene como objetivo ser exhaustiva.
Modela atributos que describen en conjunto varias entidades
Algunas funciones pueden aplicarse a varios tipos de entidades. Por ejemplo, puedes tener un valor calculado que registre los clics por producto por usuario. Esta función describe de forma conjunta los pares usuario-producto.
En este caso, la práctica recomendada es crear un tipo de entidad independiente para agrupar los atributos compartidos. Puedes crear un tipo de entidad, como product-user
, para que contenga los atributos compartidos.
Para los ID de la entidad específicos, concatena los ID de las entidades individuales, como los ID de la entidad del producto individual y el usuario. El único requisito es que los ID sean strings. Estos tipos de entidades combinadas se denominan tipos de entidades compuestas.
Para obtener más información, consulta Crea un tipo de entidad.
Usa políticas de IAM para controlar el acceso en varios equipos
Usa políticas y roles de IAM para establecer diferentes niveles de acceso a diferentes grupos de usuarios. Por ejemplo, los investigadores del AA, científicos de datos, ingenieros de confiabilidad de sitios y DevOps, requieren acceso al mismo almacén de atributos, pero su nivel de acceso puede variar. Por ejemplo, los usuarios de DevOps pueden requerir permisos para administrar un almacén de atributos, pero no requieren acceso al contenido de este.
También puedes restringir el acceso a un almacén de atributos o un tipo de entidad en particular mediante políticas de IAM a nivel de recursos.
Como ejemplo, imagina que tu organización incluye a las siguientes personas ficticias. Debido a que cada persona requiere un nivel de acceso diferente, a cada persona ficticia se le asigna un rol de IAM predefinido diferente. También puedes crear y usar tus propios roles personalizados.
Persona | Descripción | Rol predefinido |
---|---|---|
Investigador de AA o analista de negocios | Usuarios que solo ven datos de tipos de entidades específicos | roles/aiplatform.featurestoreDataViewer (se puede otorgar a nivel de proyecto o de recurso) |
Científicos de datos o ingenieros de datos | Usuarios que trabajan con recursos de tipos de entidades específicos. Para los recursos que poseen, pueden delegar el acceso a otras principales. | roles/aiplatform.entityTypeOwner (se puede otorgar a nivel de proyecto o de recurso) |
TI o DevOps | Usuarios que deben mantener y ajustar el rendimiento de almacenes de atributos específicos, pero que no requieren acceso a los datos | roles/aiplatform.featurestoreInstanceCreator (se puede otorgar a nivel de proyecto o de recurso) |
Canalización de importación de datos automatizada | Aplicaciones que escriben datos en tipos de entidades específicas. | roles/aiplatform.featurestoreDataWriter (se puede otorgar a nivel de proyecto o de recurso) |
Ingeniero de confiabilidad de sitios | Usuarios que administran almacenes de atributos específicos o todos los almacenes de atributos en un proyecto | roles/aiplatform.featurestoreAdmin (se puede otorgar a
nivel de proyecto o de recurso) |
Global (cualquier usuario de Vertex AI Feature Store (heredado)) | Permite a los usuarios ver y buscar funciones existentes. Si encuentran una función con la que quieren trabajar, pueden solicitar acceso a los propietarios de la función. En el caso de los usuarios de la consola de Google Cloud, este rol también se requiere para visualizar la página de destino de Vertex AI Feature Store (heredada), la página para importar trabajos y la página de entrega de trabajos por lote. |
Otorga el rol roles/aiplatform.featurestoreResourceViewer
a nivel de proyecto. |
Supervisa y ajusta los recursos según corresponda para optimizar la transferencia de lotes
Los trabajos de transferencia por lotes requieren que los trabajadores procesen y escriban datos debido a que esto puede aumentar el uso de CPU de tu almacén de atributos y afectar el rendimiento de las entregas en línea. Si la prioridad es preservar el rendimiento de entrega en línea, comienza con un trabajador por cada diez nodos de entrega en línea. Durante la transferencia, supervisa el uso de la CPU respecto al almacenamiento en línea. Si el uso de la CPU es más bajo de lo esperado, debes aumentar la cantidad de trabajadores futuros trabajos de transferencia por lotes para aumentar la capacidad de procesamiento. Si el uso de la CPU es mayor de lo esperado, debes aumentar la cantidad de nodos que se entregan en línea para aumentar la capacidad de la CPU o disminuir el recuento de trabajadores de transferencia por lotes, los cuales pueden reducir el uso de CPU.
Si aumentas la cantidad de nodos de entrega en línea, ten en cuenta que Vertex AI Feature Store (heredado) tarda unos 15 minutos en alcanzar un rendimiento óptimo después de realizar la actualización.
Para obtener más información, consulta actualiza un almacén de atributos y Valores de los atributos de la importación por lotes.
Para obtener más información sobre la supervisión de Feature Store, consulta Métricas de Cloud Monitoring.
Usa el campo disableOnlineServing
cuando reabasteces los datos históricos
El reabastecimiento de datos es un proceso que consiste en la transferencia de valores de atributos históricos, el cual no afecta los valores de atributos más recientes. En este caso, puedes inhabilitar la entrega en línea, que omite cualquier cambio en la tienda en línea. Para obtener más información, consulta Datos históricos de reabastecimiento.
Usa el ajuste de escala automático para reducir los costos durante las fluctuaciones de carga
Si usas Vertex AI Feature Store (heredado) con mucha frecuencia y encuentras fluctuaciones de cargas habituales en los patrones de tráfico, usa el ajuste de escala automático para optimizar los costos. El ajuste de escala automático permite que Vertex AI Feature Store revise los patrones de tráfico y ajuste de forma automática la cantidad de nodos para aumentarla o disminuirla según el uso de CPU, en lugar de mantener una cantidad alta de nodos. Esta opción funciona bien con los patrones de tráfico que experimentan un crecimiento y una disminución graduales.
Para obtener más información sobre el ajuste de escala automático, consulta Opciones de escalamiento.
Prueba el rendimiento de los nodos de entrega en línea para la entrega en tiempo real
Puedes garantizar el rendimiento de tu almacén de atributos durante la entrega en línea en tiempo real si pruebas el rendimiento de los nodos de entrega en línea. Puedes realizar estas pruebas en función de varios parámetros de comparativas, como QPS, latencia y API. Sigue estos lineamientos para probar el rendimiento de los nodos de entrega en línea:
Ejecuta todos los clientes de prueba desde la misma región, preferentemente en Compute Engine o Google Kubernetes Engine: Esto evita las discrepancias debido a la latencia de red resultante de los saltos entre regiones.
Usa la API de gRPC en el SDK: La API de gRPC tiene un mejor rendimiento que la API de REST. Si necesitas usar la API de REST, habilita la opción keep-alive de HTTP para volver a usar conexiones HTTP. De lo contrario, cada solicitud da como resultado la creación de una nueva conexión HTTP, lo que aumenta la latencia.
Ejecuta pruebas de mayor duración: Ejecuta pruebas con una duración más prolongada (15 minutos o más) y con un mínimo de 5 QPS para calcular métricas más precisas.
Agrega un período de “preparación”: Si comienzas a realizar pruebas después de un período de inactividad, es posible que observes una latencia alta mientras se restablecen las conexiones. Para dar cuenta del período inicial de alta latencia, puedes designar este período como un “período de preparación”, en el que se ignoran las lecturas iniciales de datos. Como alternativa, puedes enviar una tasa baja, pero coherente, del tráfico artificial a la tienda de atributos para mantener la conexión activa.
Si es necesario, habilita el ajuste de escala automático: Si prevés un crecimiento y una disminución graduales en el tráfico en línea, habilita el ajuste de escala automático. Si eliges el ajuste de escala automático, Vertex AI cambia de forma automática la cantidad de nodos de entrega en línea según el uso de CPU.
Para obtener más información sobre la entrega en línea, consulta la sección sobre entrega en línea. Para obtener más información sobre los nodos de entrega en línea, consulta Nodos de entrega en línea.
Especifica una hora de inicio para optimizar los costos de almacenamiento sin conexión durante la entrega por lotes y la exportación por lotes
Para optimizar los costos de almacenamiento sin conexión durante la entrega por lotes y la exportación por lotes, puedes especificar una startTime
en la solicitud batchReadFeatureValues
o exportFeatureValues
. La solicitud ejecuta una consulta en un subconjunto de los datos de atributos disponibles según la startTime
especificada. De lo contrario, la solicitud consulta todo el volumen disponible de datos de atributos, lo que genera altos costos de uso del almacenamiento sin conexión.
¿Qué sigue?
Obtén información sobre las prácticas recomendadas de Vertex AI Feature Store para implementar modelos de AA entrenados de forma personalizada en Vertex AI.