Présentation de l'intégration de Vertex AI dans Spanner

Cette page présente l'intégration de Vertex AI dans Spanner. L'intégration de Spanner à Vertex AI fonctionne avec les bases de données GoogleSQL et PostgreSQL.

L'intégration Vertex AI dans Spanner vous permet d'accéder aux modèles de classification et de régression de ML hébergés sur Vertex AI via les interfaces GoogleSQL et PostgreSQL. Cela permet d'intégrer de manière fluide la fonctionnalité de diffusion des prédictions de ML aux opérations générales d'accès aux données Spanner effectuées à l'aide de requêtes DQL/LMD.

Avantages de l'intégration de Vertex AI dans Spanner

La génération de prédictions de ML à l'aide de l'intégration Spanner Vertex AI offre de nombreux avantages par rapport à l'approche où l'accès aux données Spanner et au point de terminaison de prédiction Vertex AI sont effectués séparément :

  • Performances :
    • Latence améliorée : l'intégration de Spanner Vertex AI qui communique directement avec le service Vertex AI élimine les allers-retours supplémentaires entre un nœud de calcul exécutant un client Spanner et le service Vertex AI.
    • Meilleur débit/parallélisme : l'intégration de Spanner Vertex AI s'exécute sur l'infrastructure de traitement de requêtes distribuée de Spanner, qui prend en charge l'exécution de requêtes hautement parallélisables.
  • Expérience utilisateur :
    • La possibilité d'utiliser une interface SQL unique, simple, cohérente et familière pour faciliter les scénarios de transformation de données et de diffusion de ML à l'échelle de Spanner abaisse la barrière à l'entrée du ML et permet une expérience utilisateur beaucoup plus fluide.
  • Coûts :
    • L'intégration de Vertex AI dans Spanner utilise la capacité de calcul de Spanner pour fusionner les résultats des calculs de ML et de l'exécution des requêtes SQL. Il n'est donc pas nécessaire de provisionner une capacité de calcul supplémentaire (par exemple, dans Compute Engine ou Google Kubernetes Engine).

Comment fonctionne l'intégration de Vertex AI dans Spanner ?

L'intégration Vertex AI dans Spanner n'héberge pas de modèles de ML, mais s'appuie plutôt sur l'infrastructure du service Vertex AI. Vous n'avez pas besoin d'entraîner un modèle à l'aide de Vertex AI pour l'utiliser avec l'intégration Spanner Vertex AI, mais vous devez le déployer sur un point de terminaison Vertex AI.

Pour entraîner des modèles sur des données stockées dans Spanner, vous pouvez utiliser les éléments suivants :

L'intégration de Vertex AI dans Spanner étend les fonctions suivantes pour l'utilisation de modèles de ML :

Utiliser les fonctions d'intégration de Spanner Vertex AI

Un modèle dans l'intégration Spanner Vertex AI peut être utilisé pour générer des prédictions ou des embeddings de texte dans votre code SQL à l'aide des fonctions ML.PREDICT. Voici ces fonctions :

GoogleSQL

Vous pouvez utiliser la fonction de prédiction ML suivante pour GoogleSQL :

ML.PREDICT

Vous devez enregistrer votre modèle à l'aide de l'instruction LDD CREATE MODEL avant de l'utiliser avec la fonction ML.PREDICT.

Vous pouvez également utiliser SAFE.ML.PREDICT pour renvoyer null au lieu d'une erreur dans vos prédictions. Cela est utile lorsque vous exécutez de grandes requêtes pour lesquelles certaines prédictions ayant échoué sont tolérables.

PostgreSQL

Vous pouvez utiliser la fonction de prédiction ML suivante pour PostgreSQL :

spanner.ML_PREDICT_ROW

Pour utiliser les fonctions, vous pouvez sélectionner un modèle dans Vertex AI Model Garden ou utiliser un modèle que vous avez déployé sur Vertex AI.

Pour savoir comment déployer un modèle sur un point de terminaison dans Vertex AI, consultez Déployer un modèle sur un point de terminaison.

Pour en savoir plus sur l'utilisation de ces fonctions pour générer une prédiction de ML, consultez Générer des prédictions de ML à l'aide de SQL.

Pour savoir comment utiliser ces fonctions pour générer des embeddings de texte, consultez Obtenir des embeddings de texte.

Tarifs

Aucuns frais supplémentaires ne sont appliqués par Spanner lorsque vous l'utilisez avec l'intégration de Spanner Vertex AI. Cependant, d'autres frais potentiels peuvent résulter de cette fonctionnalité :

  • Vous payez les tarifs standards pour la prédiction en ligne Vertex AI. Le montant total facturé dépend du type de modèle que vous utilisez. Certains types de modèles sont facturés à un tarif forfaitaire par heure, en fonction du type de machine et du nombre de nœuds que vous utilisez. Certains types de modèles ont des tarifs par appel. Nous vous recommandons de déployer ce dernier dans un projet dédié où vous avez défini des quotas de prédiction explicites.

  • Vous payez les tarifs standards pour le transfert de données entre Spanner et Vertex AI. Les frais totaux dépendent de la région hébergeant le serveur qui exécute la requête et de la région hébergeant le point de terminaison appelé. Pour minimiser les frais, déployez vos points de terminaison Vertex AI dans la même région que votre instance Spanner. Lorsque vous utilisez des configurations d'instances multirégionales ou plusieurs points de terminaison Vertex AI, déployez vos points de terminaison sur le même continent.

Contrat de niveau de service

Étant donné que la disponibilité des prédictions en ligne Vertex AI est plus faible, vous devez configurer correctement les modèles Spanner ML pour maintenir la haute disponibilité de Spanner lorsque vous utilisez l'intégration Spanner Vertex AI :

  1. Les modèles Spanner ML doivent utiliser plusieurs points de terminaison Vertex AI en backend pour permettre le basculement.
  2. Les points de terminaison Vertex AI doivent être conformes au SLA Vertex AI.
  3. Les points de terminaison Vertex AI doivent provisionner une capacité suffisante pour gérer le trafic entrant.
  4. Les points de terminaison Vertex AI doivent utiliser des régions distinctes proches de la base de données Spanner pour éviter les pannes régionales.
  5. Les points de terminaison Vertex AI doivent utiliser des projets distincts pour éviter les problèmes liés aux quotas de prédiction par projet.

Le nombre de points de terminaison Vertex AI redondants dépend de leur SLA et du nombre de lignes dans les requêtes Spanner :

SLA Spanner SLA Vertex AI 1 ligne 10 lignes 100 lignes 1 000 lignes
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

Les points de terminaison Vertex AI n'ont pas besoin d'héberger exactement le même modèle. Nous vous recommandons de configurer le modèle Spanner ML pour qu'il dispose d'un modèle principal, complexe et nécessitant beaucoup de calculs comme premier point de terminaison. Les points de terminaison de basculement ultérieurs peuvent pointer vers des modèles simplifiés qui sont moins gourmands en ressources de calcul, qui évoluent mieux et qui peuvent absorber les pics de trafic.

Limites

  • L'entrée et la sortie du modèle doivent être un objet JSON.

Conformité

Assured Workloads n'est pas compatible avec l'API Vertex AI Prediction. L'activation d'une contrainte de restriction de l'utilisation des ressources désactive l'API Vertex AI et, de fait, la fonctionnalité d'intégration de Spanner à Vertex AI.

Nous vous recommandons également de créer un périmètre VPC Service Controls pour vous assurer que vos bases de données de production ne peuvent pas se connecter aux points de terminaison Vertex AI dans vos projets hors production, qui peuvent ne pas avoir la configuration de conformité appropriée.