Auf dieser Seite finden Sie eine Übersicht über die Einbindung von Spanner Vertex AI. Die Spanner Vertex AI-Einbindung funktioniert sowohl mit GoogleSQL- als auch mit PostgreSQL-Datenbanken.
Dank der Einbindung von Spanner Vertex AI können Sie über die GoogleSQL- und PostgreSQL-Schnittstelle leicht auf Klassifikator- und Regressions-ML-Modelle zugreifen, die in Vertex AI gehostet werden. So lässt sich die Funktion zum Bereitstellen von ML-Vorhersagen nahtlos in allgemeine Spanner-Datenzugriffsvorgänge einbinden, die mit DQL-/DML-Abfragen ausgeführt werden.
Vorteile der Einbindung von Spanner Vertex AI
Das Generieren von ML-Vorhersagen mit der Spanner Vertex AI-Integration bietet mehrere Vorteile im Vergleich zum Ansatz, bei dem der Spanner-Datenzugriff und der Zugriff auf den Vertex AI-Vorhersageendpunkt separat erfolgen:
- Leistung:
- Geringere Latenz: Durch die direkte Kommunikation zwischen der Spanner Vertex AI-Integration und dem Vertex AI-Dienst werden zusätzliche Roundtrips zwischen einem Rechenknoten, auf dem ein Spanner-Client ausgeführt wird, und dem Vertex AI-Dienst vermieden.
- Höherer Durchsatz/Parallelismus: Die Spanner Vertex AI-Integration basiert auf der Infrastruktur für die verteilte Abfrageverarbeitung von Spanner, die eine hochgradig parallelisierbare Abfrageausführung unterstützt.
- Nutzerfreundlichkeit:
- Die Möglichkeit, eine einzige, einfache, einheitliche und vertraute SQL-Schnittstelle zu verwenden, um sowohl Datentransformation als auch ML-Serving-Szenarien auf Spanner-Ebene zu ermöglichen, senkt die Einstiegshürde für ML und ermöglicht eine viel reibungslosere Nutzererfahrung.
- Kosten:
- Bei der Spanner Vertex AI-Integration wird die Rechenkapazität von Spanner verwendet, um die Ergebnisse von ML-Berechnungen und SQL-Abfrageausführung zusammenzuführen. Dadurch ist es nicht erforderlich, zusätzliche Rechenleistung (z. B. in Compute Engine oder Google Kubernetes Engine) dafür bereitzustellen.
Wie funktioniert die Einbindung von Spanner Vertex AI?
Bei der Einbindung von Spanner Vertex AI werden keine ML-Modelle gehostet, sondern die Infrastruktur des Vertex AI-Dienstes wird verwendet. Sie müssen kein Modell mit Vertex AI trainieren, um es mit der Spanner Vertex AI-Integration zu verwenden. Sie müssen es jedoch auf einem Vertex AI-Endpunkt bereitstellen.
Wenn Sie Modelle mit Daten trainieren möchten, die in Spanner gespeichert sind, können Sie Folgendes verwenden:
Föderierte Abfragen in BigQuery in Kombination mit BigQuery ML.
Dataflow, um Daten aus Spanner in das CSV-Format zu exportieren und die CSV-Datenquelle in Vertex AI zu importieren.
Die Einbindung von Spanner Vertex AI erweitert die folgenden Funktionen für die Verwendung von ML-Modellen:
ML-Vorhersagen generieren, indem Sie ein Modell mit SQL für Ihre Spanner-Daten aufrufen. Sie können ein Modell aus dem Vertex AI Model Garden oder ein Modell verwenden, das auf Ihrem Vertex AI-Endpunkt bereitgestellt wird.
Texteinbettungen generieren, damit ein LLM Text-Prompts in Zahlen übersetzt. Weitere Informationen zu Einbettungen finden Sie unter Texteinbettungen abrufen.
Funktionen für die Einbindung von Spanner Vertex AI verwenden
Ein Modell in der Spanner Vertex AI-Integration kann verwendet werden, um Vorhersagen oder Texteinbettungen in Ihrem SQL-Code mit den ML-Vorhersagefunktionen zu generieren. Diese Funktionen sind:
GoogleSQL
Sie können die folgende ML-Vorhersagefunktion für GoogleSQL verwenden:
Sie müssen Ihr Modell mit der DDL-Anweisung CREATE MODEL
registrieren, bevor Sie es mit der Funktion ML.PREDICT
verwenden können.
Sie können auch SAFE.ML.PREDICT
verwenden, um null
anstelle eines Fehlers in Ihren Vorhersagen zurückzugeben. Das ist hilfreich, wenn Sie große Abfragen ausführen, bei denen einige fehlgeschlagene Vorhersagen tolerierbar sind.
PostgreSQL
Sie können die folgende ML-Vorhersagefunktion für PostgreSQL verwenden:
Wenn Sie die Funktionen verwenden möchten, können Sie ein Modell aus dem Vertex AI Model Garden auswählen oder ein Modell verwenden, das Sie in Vertex AI bereitgestellt haben.
Weitere Informationen zum Bereitstellen eines Modells für einen Endpunkt in Vertex AI finden Sie unter Modell auf einem Endpunkt bereitstellen.
Weitere Informationen zur Verwendung dieser Funktionen zum Generieren einer ML-Vorhersage finden Sie unter ML-Vorhersagen mit SQL generieren.
Weitere Informationen zur Verwendung dieser Funktionen zum Generieren von Texteinbettungen finden Sie unter Texteinbettungen abrufen.
Preise
Für die Verwendung von Spanner in Verbindung mit der Spanner Vertex AI-Integration fallen keine zusätzlichen Gebühren an. Allerdings können im Zusammenhang mit dieser Funktion weitere Kosten anfallen:
Sie zahlen die Standardpreise für Vertex AI-Onlinevorhersagen. Die Gesamtkosten hängen vom verwendeten Modelltyp ab. Für einige Modelltypen gilt ein Pauschaltarif pro Stunde, der vom Maschinentyp und der Anzahl der verwendeten Knoten abhängt. Für einige Modelltypen gelten Raten pro Aufruf. Wir empfehlen, das letztere in einem dedizierten Projekt bereitzustellen, in dem Sie explizite Vorhersagekontingente festgelegt haben.
Für die Datenübertragung zwischen Spanner und Vertex AI zahlen Sie die Standardpreise. Die Gesamtkosten hängen von der Region ab, in der sich der Server befindet, auf dem die Abfrage ausgeführt wird, und von der Region, in der sich der aufgerufene Endpunkt befindet. Um die Kosten zu minimieren, stellen Sie Ihre Vertex AI-Endpunkte in derselben Region wie Ihre Spanner-Instanz bereit. Wenn Sie multiregionale Instanzkonfigurationen oder mehrere Vertex AI-Endpunkte verwenden, stellen Sie Ihre Endpunkte auf demselben Kontinent bereit.
SLA
Da die Verfügbarkeit von Vertex AI-Onlinevorhersagen geringer ist, müssen Sie Spanner-ML-Modelle richtig konfigurieren, um die hohe Verfügbarkeit von Spanner bei der Verwendung der Spanner Vertex AI-Integration aufrechtzuerhalten:
- Für Spanner ML-Modelle müssen mehrere Vertex AI-Endpunkte im Backend verwendet werden, um Failover zu ermöglichen.
- Vertex AI-Endpunkte müssen dem Vertex AI-SLA entsprechen.
- Vertex AI-Endpunkte müssen genügend Kapazität für eingehenden Traffic bereitstellen.
- Vertex AI-Endpunkte müssen separate Regionen in der Nähe der Spanner-Datenbank verwenden, um regionale Ausfälle zu vermeiden.
- Für Vertex AI-Endpunkte sollten separate Projekte verwendet werden, um Probleme mit Vorhersagekontingenten pro Projekt zu vermeiden.
Die Anzahl der redundanten Vertex AI-Endpunkte hängt von der zugehörigen SLA und der Anzahl der Zeilen in Spanner-Abfragen ab:
Spanner-SLA | Vertex AI-SLA | 1 Zeile | 10 Zeilen | 100 Zeilen | 1.000 Zeilen |
---|---|---|---|---|---|
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 |
Auf Vertex AI-Endpunkten muss nicht genau dasselbe Modell gehostet werden. Wir empfehlen, das Spanner-ML-Modell so zu konfigurieren, dass es ein primäres, komplexes und rechenintensives Modell als ersten Endpunkt hat. Nachfolgende Failover-Endpunkte können auf vereinfachte Modelle verweisen, die weniger rechenintensiv sind, besser skaliert werden können und Trafficspitzen abfangen können.
Beschränkungen
- Die Eingabe und Ausgabe des Modells müssen ein JSON-Objekt sein.
Compliance
Assured Workloads unterstützen die Vertex AI Prediction API nicht. Wenn Sie die Einschränkung für die Ressourcennutzung aktivieren, wird die Vertex AI API und damit auch die Spanner Vertex AI-Einbindung deaktiviert.
Außerdem empfehlen wir, einen VPC Service Controls-Perimeter zu erstellen, damit Ihre Produktionsdatenbanken keine Verbindung zu Vertex AI-Endpunkten in Ihren Nichtproduktionsprojekten herstellen können, die möglicherweise nicht die richtige Compliance-Konfiguration haben.