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

Cette page offre un aperçu de l'intégration de Vertex AI dans Spanner. L'intégration de Spanner Vertex AI fonctionne à la fois 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 l'interface GoogleSQL et PostgreSQL. Cela permet d'intégrer facilement la fonctionnalité de diffusion des prédictions ML aux opérations d'accès aux données Spanner générales effectuées à l'aide de requêtes DQL/LMD.

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

Générer des prédictions de ML à l'aide de l'intégration de Vertex AI dans Spanner offre plusieurs avantages par rapport à l'approche consistant à effectuer séparément l'accès aux données Spanner et l'accès au point de terminaison de prédiction Vertex AI:

  • Performances :
    • Meilleure latence: l'intégration de Vertex AI dans Spanner qui communique directement avec le service Vertex AI élimine les aller-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 Vertex AI dans Spanner s'exécute sur l'infrastructure de traitement des requêtes distribuée de Spanner, qui prend en charge l'exécution des requêtes hautement parallélisables.
  • Expérience utilisateur :
    • La possibilité d'utiliser une interface SQL unique, simple, cohérente et familière pour faciliter à la fois la transformation des données et les scénarios de diffusion du ML au niveau d'échelle de Spanner réduit la barrière d'entrée au ML et offre 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 ML et l'exécution des requêtes SQL, ce qui élimine le besoin de provisionner un 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 de service Vertex AI. Vous n'avez pas besoin d'entraîner un modèle avec Vertex AI pour l'utiliser avec l'intégration Vertex AI de Spanner, 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 Vertex AI dans Spanner

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

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 échouées 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 le Model Garden de Vertex AI ou utiliser un modèle que vous avez déployé sur Vertex AI.

Pour en savoir plus sur le déploiement d'un modèle sur un point de terminaison dans Vertex AI, consultez la section 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 en savoir plus sur l'utilisation de 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 être associés à cette fonctionnalité:

  • Vous payez les tarifs standards pour la prédiction en ligne Vertex AI. Le montant total dépend du type de modèle que vous utilisez. Certains types de modèles sont facturés à un tarif fixe à l'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é dans lequel 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. Le montant total dépend 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 réduire 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-les 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 de ML Spanner pour maintenir la haute disponibilité de Spanner lorsque vous utilisez l'intégration Spanner Vertex AI:

  1. Les modèles de ML Spanner doivent utiliser plusieurs points de terminaison Vertex AI dans le backend pour activer le basculement.
  2. Les points de terminaison Vertex AI doivent respecter le Contrat de niveau de service de Vertex AI.
  3. Les points de terminaison Vertex AI doivent provisionner suffisamment de capacité pour gérer le trafic entrant.
  4. Les points de terminaison Vertex AI doivent utiliser des régions distinctes à proximité 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 contrat de niveau de service et du nombre de lignes dans les requêtes Spanner:

SLA Spanner Contrat de niveau de service 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 de ML Spanner de sorte qu'il comporte un modèle principal, complexe et gourmand en calcul 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 calcul, qui s'étendent mieux et qui peuvent absorber les pics de trafic.

Conformité

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

En outre, nous vous recommandons 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 de vos projets hors production qui ne disposent peut-être pas de la configuration de conformité appropriée.