En esta página se ofrece una descripción general de la integración de Spanner con Vertex AI. La integración de Spanner con Vertex AI funciona con bases de datos GoogleSQL y PostgreSQL.
La integración de Spanner con Vertex AI te permite acceder a modelos de aprendizaje automático de clasificación y regresión alojados en Vertex AI a través de la interfaz de GoogleSQL y PostgreSQL. De esta forma, se integra a la perfección la función de servicio de predicciones de aprendizaje automático con las operaciones generales de acceso a datos de Spanner que se realizan mediante consultas DQL o DML.
Ventajas de la integración de Spanner con Vertex AI
Generar predicciones de aprendizaje automático con la integración de Spanner Vertex AI ofrece varias ventajas en comparación con el enfoque en el que el acceso a los datos de Spanner y el acceso al endpoint de predicción de Vertex AI se realizan por separado:
- Rendimiento:
- Mejor latencia: la integración de Spanner con Vertex AI se comunica directamente con el servicio Vertex AI, lo que elimina los viajes de ida y vuelta adicionales entre un nodo de computación que ejecuta un cliente de Spanner y el servicio Vertex AI.
- Mejor rendimiento o paralelismo: la integración de Vertex AI de Spanner se ejecuta sobre la infraestructura de procesamiento de consultas distribuida de Spanner, que admite la ejecución de consultas altamente paralelizable.
- Experiencia de usuario:
- La posibilidad de usar una interfaz SQL única, sencilla, coherente y familiar para facilitar tanto la transformación de datos como los casos prácticos de servicio de aprendizaje automático a nivel de escala de Spanner reduce la barrera de entrada del aprendizaje automático y permite disfrutar de una experiencia de usuario mucho más fluida.
- Costes:
- La integración de Spanner con Vertex AI usa la capacidad de computación de Spanner para combinar los resultados de los cálculos de aprendizaje automático y la ejecución de consultas de SQL, lo que elimina la necesidad de aprovisionar recursos de computación adicionales (por ejemplo, en Compute Engine o Google Kubernetes Engine).
¿Cómo funciona la integración de Spanner con Vertex AI?
La integración de Spanner con Vertex AI no aloja modelos de aprendizaje automático, sino que se basa en la infraestructura del servicio Vertex AI. No es necesario que entrenes un modelo con Vertex AI para usarlo con la integración de Spanner Vertex AI, pero debes desplegarlo en un endpoint de Vertex AI.
Para entrenar modelos con datos almacenados en Spanner, puedes usar lo siguiente:
Consultas federadas de BigQuery junto con BigQuery ML.
Dataflow para exportar datos de Spanner a formato CSV e importar la fuente de datos CSV a Vertex AI.
La integración de Spanner con Vertex AI amplía las siguientes funciones para usar modelos de aprendizaje automático:
Genera predicciones de aprendizaje automático llamando a un modelo mediante SQL en tus datos de Spanner. Puedes usar un modelo de Vertex AI Model Garden o un modelo desplegado en tu endpoint de Vertex AI.
Genera incrustaciones de texto para que un LLM traduzca las peticiones de texto a números. Para obtener más información sobre las inserciones, consulta el artículo Obtener inserciones de texto.
Usar funciones de integración de Spanner Vertex AI
Un modelo de la integración de Spanner con Vertex AI se puede usar para generar predicciones o inserciones de texto en tu código SQL mediante las funciones de predicción de aprendizaje automático. Estas funciones son las siguientes:
GoogleSQL
Puedes usar la siguiente función de predicción de aprendizaje automático para GoogleSQL:
Debes registrar tu modelo con la instrucción CREATE MODEL
DDL antes de usarlo con la función ML.PREDICT
.
También puedes usar SAFE.ML.PREDICT
para devolver null
en lugar de un error en tus predicciones. Esto resulta útil en los casos en los que se ejecutan consultas grandes y se pueden tolerar algunas predicciones fallidas.
PostgreSQL
Puedes usar la siguiente función de predicción de aprendizaje automático para PostgreSQL:
Para usar las funciones, puedes seleccionar un modelo de Model Garden de Vertex AI o usar un modelo que hayas desplegado en Vertex AI.
Para obtener más información sobre cómo desplegar un modelo en un endpoint de Vertex AI, consulta el artículo Desplegar un modelo en un endpoint.
Para obtener más información sobre cómo usar estas funciones para generar una predicción de aprendizaje automático, consulta Generar predicciones de aprendizaje automático con SQL.
Para obtener más información sobre cómo usar estas funciones para generar incrustaciones de texto, consulta el artículo Obtener incrustaciones de texto.
Precios
Spanner no aplica cargos adicionales cuando se usa con la integración de Spanner Vertex AI. Sin embargo, esta función puede conllevar otros cargos:
Pagas las tarifas estándar de la predicción online de Vertex AI. El cargo total depende del tipo de modelo que utilices. Algunos tipos de modelos tienen una tarifa plana por hora, que depende del tipo de máquina y del número de nodos que utilices. Algunos tipos de modelos tienen tarifas por llamada. Te recomendamos que implementes esta opción en un proyecto específico en el que hayas definido cuotas de predicción explícitas.
Pagas las tarifas estándar por la transferencia de datos entre Spanner y Vertex AI. El cargo total depende de la región que aloja el servidor que ejecuta la consulta y de la región que aloja el endpoint llamado. Para minimizar los cargos, despliega tus endpoints de Vertex AI en la misma región que tu instancia de Spanner. Cuando uses configuraciones de instancias multirregionales o varios endpoints de Vertex AI, despliega tus endpoints en el mismo continente.
Acuerdo de nivel de servicio
Debido a que la disponibilidad de la predicción online de Vertex AI es menor, debes configurar correctamente los modelos de AA de Spanner para mantener la alta disponibilidad de Spanner mientras usas la integración de Spanner con Vertex AI:
- Los modelos de AA de Spanner deben usar varios endpoints de Vertex AI en el backend para habilitar la conmutación por error.
- Los endpoints de Vertex AI deben cumplir el ANS de Vertex AI.
- Los endpoints de Vertex AI deben aprovisionar suficiente capacidad para gestionar el tráfico entrante.
- Los endpoints de Vertex AI deben usar regiones independientes cercanas a la base de datos de Spanner para evitar interrupciones regionales.
- Los endpoints de Vertex AI deben usar proyectos independientes para evitar problemas con las cuotas de predicción por proyecto.
El número de endpoints de Vertex AI redundantes depende de su SLA y del número de filas de las consultas de Spanner:
Acuerdo de nivel de servicio de Spanner | Acuerdo de Nivel de Servicio de Vertex AI | 1 fila | 10 filas | 100 filas | 1000 filas |
---|---|---|---|---|---|
99,99 % | 99,9 % | 2 | 2 | 2 | 3 |
99,99 % | 99,5 % | 2 | 3 | 3 | 4 |
99,999 % | 99,9 % | 2 | 2 | 3 | 3 |
99,999 % | 99,5 % | 3 | 3 | 4 | 4 |
No es necesario que los endpoints de Vertex AI alojen exactamente el mismo modelo. Te recomendamos que configures el modelo de AA de Spanner para que tenga un modelo principal, complejo y con un uso intensivo de los recursos de computación como primer endpoint. Los endpoints de conmutación por error posteriores pueden apuntar a modelos simplificados que requieran menos recursos de computación, se escalen mejor y puedan absorber picos de tráfico.
Limitaciones
- La entrada y la salida del modelo deben ser un objeto JSON.
Cumplimiento
Assured Workloads no admite la API Vertex AI Prediction. Si habilitas una restricción de uso de recursos, se inhabilita la API de Vertex AI y, por tanto, la función de integración de Spanner con Vertex AI.
Además, te recomendamos que crees un perímetro de Controles de Servicio de VPC para asegurarte de que tus bases de datos de producción no puedan conectarse a los endpoints de Vertex AI de tus proyectos que no sean de producción, ya que es posible que no tengan la configuración de cumplimiento adecuada.