Cette page présente l'intégration de la plate-forme Spanner Agent. L'intégration de la plate-forme Spanner Agent fonctionne avec les bases de données GoogleSQL et PostgreSQL.
L'intégration de la plate-forme d'agents 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 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 Spanner à Agent Platform
Générer des prédictions de ML à l'aide de l'intégration de Spanner Agent Platform présente 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 la plate-forme Spanner Agent communiquant 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 la plate-forme Spanner Agent 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 la plate-forme Spanner Agent utilise la capacité de calcul 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) à cet effet.
Comment fonctionne l'intégration de Spanner Agent Platform ?
L'intégration de la plate-forme Spanner Agent 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 de la plate-forme Spanner Agent, 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 :
Dataflow pour exporter les données de Spanner au format CSV et importer la source de données CSV dans Vertex AI.
L'intégration de la plate-forme Spanner Agent étend les fonctions suivantes pour l'utilisation des modèles de ML :
Générez des prédictions de ML en appelant un modèle à l'aide de SQL sur vos données Spanner. Vous pouvez utiliser un modèle du Vertex AI Model Garden ou un modèle déployé sur votre point de terminaison Vertex AI.
Générez des embeddings de texte pour qu'un LLM traduise les requêtes de texte en nombres. Pour en savoir plus sur les embeddings, consultez Obtenir des embeddings de texte.
Utiliser les fonctions d'intégration Spanner Agent Platform
Un modèle dans l'intégration Spanner Agent Platform 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 :
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 :
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
Spanner n'applique aucun frais supplémentaire lorsque vous l'utilisez avec l'intégration de la plate-forme Spanner Agent. 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 des frais 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'instance 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é de la prédiction 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 de la plate-forme Spanner Agent Platform :
- Les modèles Spanner ML doivent utiliser plusieurs points de terminaison Vertex AI sur le backend pour permettre le basculement.
- Les points de terminaison Vertex AI doivent être conformes au SLA Vertex AI.
- Les points de terminaison Vertex AI doivent provisionner une capacité suffisante pour gérer le trafic entrant.
- 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.
- 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 suivants peuvent pointer vers des modèles simplifiés qui nécessitent moins de ressources de calcul, évoluent mieux et 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 la plate-forme Spanner Agent.
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 de non-production qui ne disposent peut-être pas de la configuration de conformité appropriée.