Cette page offre un aperçu de l'intégration de Vertex AI dans Spanner. L'intégration de Vertex AI dans Spanner est compatible avec 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 Vertex AI via les API GoogleSQL interface 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/DML.
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 la base de données de traitement de requêtes distribué, qui prend en charge l'exécution de requêtes 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 :
Requêtes fédérées BigQuery ensemble avec BigQuery ML.
Dataflow pour exporter des données de Spanner au format CSV et importer la source de données CSV dans Vertex AI.
L'intégration de Vertex AI dans Spanner étend les fonctions suivantes pour l'utilisation de modèles de ML :
générer des prédictions de ML en appelant un modèle avec SQL sur vos données Spanner. Vous pouvez utiliser un modèle Vertex AI Model Garden ou un modèle déployé sur votre point de terminaison Vertex AI.
Générer des représentations vectorielles continues de texte pour qu'un LLM traduise les requêtes textuelles en nombres. À Pour en savoir plus sur les représentations vectorielles continues, consultez Obtenir des représentations vectorielles continues de texte.
Utiliser les fonctions d'intégration de Vertex AI dans Spanner
Un modèle intégré à Vertex AI dans Spanner peut servir à générer des prédictions ou du texte des représentations vectorielles continues dans votre code SQL à l'aide des fonctions ML Predict. Ces fonctions sont les suivantes:
GoogleSQL
Vous pouvez utiliser la fonction de prédiction ML suivante pour GoogleSQL :
Vous devez enregistrer votre modèle à l'aide de la méthode CREATE MODEL
.
l'instruction LDD 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
certaines erreurs de prédiction sont tolérables.
PostgreSQL
Vous pouvez utiliser la fonction de prédiction ML suivante pour PostgreSQL :
Pour utiliser les fonctions, vous pouvez sélectionner un modèle Vertex AI Model Garden ou utiliser un modèle que vous avez déployé dans Vertex AI.
Pour en savoir plus sur le déploiement d'un modèle sur un point de terminaison dans Vertex AI, consultez Déployez un modèle sur un point de terminaison.
Pour plus d'informations 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 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 dans Vertex AI. Cependant, d'autres frais potentiels peuvent être associés à cette fonctionnalité :
Vous payez les tarifs standards de Vertex AI. la prédiction en ligne. Le coût total dépend du type de modèle que vous utilisez. Certains modèles ont un taux fixe à l'heure, en fonction du type de machine et du nombre 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 la région hébergeant le appelé « Endpoint ». 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
En raison de la disponibilité pour les prédictions en ligne Vertex AI, vous devez configurer correctement les modèles de ML de Spanner pour maintenir La haute disponibilité de Spanner lors de l'utilisation de l'intégration de Vertex AI dans Spanner:
- Les modèles de ML Spanner doivent utiliser plusieurs points de terminaison Vertex AI dans le backend pour activer le basculement.
- Les points de terminaison Vertex AI doivent respecter le Contrat de niveau de service de Vertex AI.
- Les points de terminaison Vertex AI doivent provisionner suffisamment de capacité pour gérer le trafic entrant.
- Les points de terminaison Vertex AI doivent utiliser des régions distinctes proches du Spanner pour éviter les pannes régionales.
- 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 du contrat de niveau de service auquel ils sont associés. le 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 pour 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 dans 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.