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 Vertex AI dans Spanner vous permet d'accéder aux modèles de ML de classification et de régression hébergés sur Vertex AI via l'interface GoogleSQL et PostgreSQL. Cela permet d'intégrer de manière transparente la fonctionnalité de diffusion de prédictions par 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 de Vertex AI dans Spanner offre de nombreux avantages par rapport à l'approche où l'accès aux données Spanner et l'accès au point de terminaison de prédiction Vertex AI sont effectués séparément:

  • Performances :
    • Latence améliorée: l'intégration de Vertex AI dans Spanner parlant au service Vertex AI élimine directement les allers-retours supplémentaires entre un nœud de calcul exécutant le client d'un client Spanner et le service Vertex AI.
    • Amélioration du débit/parallélisme: l'intégration de Vertex AI dans Spanner s'exécute sur l'infrastructure de traitement des requêtes distribué de Spanner, qui permet 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 à la fois la transformation des données et les scénarios d'inférence de ML au niveau de Spanner réduit la barrière à l'entrée du 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 de ML et l'exécution des requêtes SQL, il n'est donc pas nécessaire 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 de Vertex AI dans Spanner n'héberge pas de modèles de ML, mais repose 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 dans Spanner. En revanche, 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 outils suivants:

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

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

Un modèle intégré à Vertex AI dans Spanner permet de générer des prédictions ou des représentations vectorielles continues de texte dans votre code SQL à l'aide des fonctions de prédiction du ML. Ces fonctions sont les suivantes:

GoogleSQL

Vous pouvez utiliser la fonction de prédiction de 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 dans les cas d'exécution de requêtes volumineuses pour lesquelles certaines prédictions ayant échoué sont tolérables.

PostgreSQL

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

spanner.ML_PREDICT_ROW

Pour utiliser ces 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 en savoir plus sur le déploiement d'un modèle sur un point de terminaison dans Vertex AI, consultez la page 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 la page Générer des prédictions de ML à l'aide de SQL.

Pour savoir comment utiliser ces fonctions pour générer des représentations vectorielles continues de texte, consultez Obtenir des représentations vectorielles continues de texte.

Tarification

Aucuns frais supplémentaires ne vous sont facturés par Spanner lorsque vous l'utilisez avec l'intégration de Vertex AI dans Spanner. Toutefois, d'autres frais potentiels peuvent être associés à cette fonctionnalité:

  • Vous payez les tarifs standards pour la prédiction en ligne Vertex AI. Le coût total dépend du type de modèle utilisé. Certains types de modèles appliquent un tarif horaire fixe en fonction du type de machine et du nombre de nœuds que vous utilisez. Certains types de modèles utilisent des tarifs par appel. Nous vous recommandons de déployer cette dernière dans un projet dédié dans lequel vous avez défini des quotas de prédiction explicites.

  • Les tarifs standards sont facturés pour le transfert de données entre Spanner et Vertex AI. Le coût 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'instance multirégionales ou plusieurs points de terminaison Vertex AI, déployez vos points de terminaison sur le même continent.

SLA

La disponibilité de la prédiction en ligne Vertex AI étant plus faible, vous devez configurer correctement les modèles de ML Spanner pour maintenir la haute disponibilité de Spanner tout en utilisant l'intégration de Vertex AI dans Spanner:

  1. Les modèles de ML de Spanner doivent utiliser plusieurs points de terminaison Vertex AI sur le backend
  2. Les points de terminaison Vertex AI doivent être conformes au contrat de niveau de service Vertex AI.
  3. Les points de terminaison Vertex AI doivent provisionner une capacité suffisante pour gérer le trafic entrant.
  4. Pour éviter les pannes régionales, les points de terminaison Vertex AI doivent utiliser des régions distinctes proches de la base de données Spanner.
  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:

Contrat de niveau de service 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 de Spanner de manière à utiliser un modèle principal, complexe et gourmand en ressources de calcul comme premier point de terminaison. Les points de terminaison de basculement suivants peuvent pointer vers des modèles simplifiés qui nécessitent moins de ressources de calcul, s'adaptent mieux et peuvent absorber les pics de trafic.

Conformité

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

De plus, 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 n'ont peut-être pas la configuration de conformité appropriée.