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 fonctionne avec les bases de données GoogleSQL et PostgreSQL.

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 parfaitement 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 de Vertex AI dans Spanner offre de nombreux avantages par rapport à l'approche où l'accès aux données de Spanner et l'accès au point de terminaison de prédiction Vertex AI sont effectués séparément:

  • Performances :
    • Latence accrue: l'intégration de Vertex AI dans Spanner au service Vertex AI élimine directement les allers-retours supplémentaires entre un nœud de calcul exécutant le client Spanner et le service Vertex AI.
    • Débit/parallélisme amélioré: 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 les scénarios de transformation des données et de livraison de ML sur Spanner permet de réduire les obstacles à l'entrée en ML et d'améliorer l'expérience utilisateur.
  • 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. Cela vous évite d'avoir à provisionner des ressources de calcul supplémentaires (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 s'appuie sur l'infrastructure de 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 de Vertex AI dans 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 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 peut être utilisé pour 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 de 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 lorsque vous exécutez des requêtes volumineuses et que 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 le jardin de modèles 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 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 en savoir plus sur l'utilisation de 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 sont facturés par Spanner lorsque vous l'utilisez avec l'intégration Vertex AI de Spanner. D'autres frais potentiels peuvent toutefois ê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 que vous utilisez. Certains types de modèles ont un tarif horaire fixe en fonction du type de machine et du nombre de nœuds que vous utilisez. Certains types de modèles proposent 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 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'instances multirégionales ou plusieurs points de terminaison Vertex AI, déployez vos points de terminaison sur le même continent.

SLA

La disponibilité de Vertex AI pour les prédictions en ligne étant inférieure, vous devez configurer correctement les modèles de ML de Spanner pour maintenir la haute disponibilité de Spanner lorsque vous utilisez l'intégration à Vertex AI de 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 fournir une capacité suffisante 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:

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 Spanner de sorte qu'il utilise un modèle principal, complexe et nécessitant beaucoup de ressources de calcul comme premier point de terminaison. Les points de terminaison de basculement ultérieurs 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 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 s'ils n'ont pas la configuration de conformité appropriée.