Prácticas recomendadas de Vertex AI Feature Store (antigua)

Las siguientes prácticas recomendadas te ayudarán a planificar y usar Vertex AI Feature Store (antigua) en diferentes situaciones. Esta guía no pretende ser exhaustiva.

Modelizar funciones que describan conjuntamente varias entidades

Algunas funciones pueden aplicarse a varios tipos de entidades. Por ejemplo, puede tener un valor calculado que registre los clics por producto y usuario. Esta función describe conjuntamente los pares producto-usuario.

En este caso, la práctica recomendada es crear un tipo de entidad independiente para agrupar las funciones compartidas. Puedes crear un tipo de entidad, como product-user, para incluir funciones compartidas.

En el caso de los IDs de entidad, concatena los IDs de las entidades individuales, como los IDs de producto y de usuario. El único requisito es que los IDs deben ser cadenas. Estos tipos de entidades combinadas se denominan tipos de entidades compuestas.

Para obtener más información, consulta el artículo sobre cómo crear un tipo de entidad.

Usar políticas de gestión de identidades y accesos para controlar el acceso en varios equipos

Usa roles y políticas de gestión de identidades y accesos para definir diferentes niveles de acceso para distintos grupos de usuarios. Por ejemplo, los investigadores de aprendizaje automático, los científicos de datos, los profesionales de DevOps y los ingenieros de fiabilidad de sitios necesitan acceder al mismo almacén de características, pero su nivel de acceso puede variar. Por ejemplo, los usuarios de DevOps pueden necesitar permisos para gestionar un almacén de características, pero no requieren acceso al contenido del almacén.

También puedes restringir el acceso a un almacén de características o a un tipo de entidad concretos mediante políticas de gestión de identidades y accesos (IAM) a nivel de recurso.

Por ejemplo, supongamos que tu organización incluye los siguientes perfiles. Como cada perfil requiere un nivel de acceso diferente, a cada uno se le asigna un rol de gestión de identidades y accesos predefinido. También puedes crear y usar tus propios roles personalizados.

Perfil ficticio Descripción Rol predefinido
Investigador de aprendizaje automático o analista empresarial Usuarios que solo ven datos de tipos de entidades específicos roles/aiplatform.featurestoreDataViewer (se puede conceder a nivel de proyecto o de recurso)
Científicos o ingenieros de datos Usuarios que trabajan con recursos de un tipo de entidad específico. Pueden delegar el acceso a los recursos que les pertenecen a otras entidades. roles/aiplatform.entityTypeOwner (se puede conceder a nivel de proyecto o de recurso)
TI o DevOps Usuarios que deben mantener y ajustar el rendimiento de feature stores específicos, pero que no necesitan acceder a los datos. roles/aiplatform.featurestoreInstanceCreator (se puede conceder a nivel de proyecto o de recurso)
Flujo de procesamiento de importación de datos automatizado Aplicaciones que escriben datos en tipos de entidades específicos. roles/aiplatform.featurestoreDataWriter (se puede conceder a nivel de proyecto o de recurso)
Ingeniero de fiabilidad de sitios Usuarios que gestionan feature stores concretos o todos los feature stores de un proyecto roles/aiplatform.featurestoreAdmin (se puede conceder a nivel de proyecto o de recurso)
Global (cualquier usuario de Vertex AI Feature Store [antigua])

Permite que los usuarios vean y busquen funciones. 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 es necesario para ver la página de destino de Vertex AI Feature Store (antigua), la página de trabajos de importación y la página de trabajos de servicio por lotes.

Otorgue el rol roles/aiplatform.featurestoreResourceViewer a nivel de proyecto.

Monitoriza y ajusta los recursos según sea necesario para optimizar la importación por lotes

Las tareas de importación por lotes requieren que los trabajadores procesen y escriban datos, lo que puede aumentar la utilización de la CPU de tu almacén de características y afectar al rendimiento del servicio online. Si quieres mantener el rendimiento de la publicación online, empieza con un trabajador por cada diez nodos de publicación online. Durante la importación, monitoriza el uso de la CPU del almacenamiento online. Si el uso de la CPU es inferior al esperado, aumenta el número de trabajadores para futuros trabajos de importación por lotes y, así, aumentar el rendimiento. Si el uso de la CPU es superior al esperado, aumenta el número de nodos de servicio online para incrementar la capacidad de la CPU o reduce el recuento de trabajadores de importación por lotes. Ambas opciones pueden reducir el uso de la CPU.

Si aumentas el número de nodos de entrega online, ten en cuenta que Vertex AI Feature Store (antigua) tarda unos 15 minutos en alcanzar un rendimiento óptimo después de que hagas el cambio.

Para obtener más información, consulta cómo actualizar un almacén de características e importar valores de características por lotes.

Para obtener más información sobre la monitorización de almacenes de características, consulta las métricas de Cloud Monitoring.

Usar el campo disableOnlineServing al rellenar datos históricos

La reposición es el proceso de importar valores de características históricos y no afecta a los valores de características más recientes. En ese caso, puede inhabilitar la publicación online, lo que omitirá cualquier cambio en la tienda online. Para obtener más información, consulta Rellenar datos históricos.

Usar el autoescalado para reducir los costes durante las fluctuaciones de carga

Si usas Vertex AI Feature Store (antigua) de forma intensiva y experimentas fluctuaciones de carga frecuentes en tus patrones de tráfico, utiliza el escalado automático para optimizar los costes. El autoescalado permite que Vertex AI Feature Store (antigua) revise los patrones de tráfico y ajuste automáticamente el número de nodos en función de la utilización de la CPU, en lugar de mantener un número elevado de nodos. Esta opción es adecuada para patrones de tráfico que experimentan un crecimiento y un descenso graduales.

Para obtener más información sobre el autoescalado, consulta Opciones de escalado.

Probar el rendimiento de los nodos de publicación online para la publicación en tiempo real

Puede verificar el rendimiento de su almacén de características durante el servicio online en tiempo real probando el rendimiento de sus nodos de servicio online. Puedes realizar estas pruebas en función de varios parámetros de referencia, como QPS, latencia y API. Sigue estas directrices para probar el rendimiento de los nodos de servicio online:

  • Ejecuta todos los clientes de prueba desde la misma región, preferiblemente en Compute Engine o Google Kubernetes Engine: de esta forma, se evitan las discrepancias debidas a la latencia de la red provocada por los saltos entre regiones.

  • Usa la API gRPC en el SDK: la API gRPC tiene un mejor rendimiento que la API REST. Si necesitas usar la API REST, habilita la opción HTTP Keep-Alive para reutilizar las conexiones HTTP. De lo contrario, cada solicitud dará lugar a la creación de una nueva conexión HTTP, lo que aumentará la latencia.

  • Haga pruebas de mayor duración: haga pruebas de mayor duración (15 minutos o más) y con un mínimo de 5 QPS para calcular métricas más precisas.

  • Añade un periodo de calentamiento: si empiezas a hacer pruebas después de un periodo de inactividad, puede que observes una latencia alta mientras se restablecen las conexiones. Para tener en cuenta el periodo inicial de alta latencia, puedes designar este periodo como "periodo de calentamiento", en el que se ignoran las lecturas de datos iniciales. Como alternativa, puedes enviar una tasa baja pero constante de tráfico artificial al almacén de características para mantener la conexión activa.

  • Habilita el autoescalado si es necesario: si prevés que el tráfico online aumentará y disminuirá gradualmente, habilita el autoescalado. Si eliges el autoescalado, Vertex AI cambia automáticamente el número de nodos de servicio online en función de la utilización de la CPU.

Para obtener más información sobre el servicio online, consulta Servicio online. Para obtener más información sobre los nodos de publicación online, consulta Nodos de publicación online.

Especifica una hora de inicio para optimizar los costes de almacenamiento sin conexión durante el servicio y la exportación por lotes

Para optimizar los costes de almacenamiento sin conexión durante el servicio y la exportación por lotes, puede especificar un startTime en su solicitud batchReadFeatureValues o exportFeatureValues. La solicitud ejecuta una consulta en un subconjunto de los datos de características disponibles, en función del startTime especificado. De lo contrario, la solicitud consultará todo el volumen disponible de datos de características, lo que supondrá un coste elevado de uso del almacenamiento sin conexión.

Siguientes pasos

Consulta las prácticas recomendadas de Vertex AI Feature Store (antigua) para implementar modelos de aprendizaje automático entrenados de forma personalizada en Vertex AI.