In dieser Anleitung registrieren Sie einen Vertex AI-Endpunkt als Remote-Modell in BigQuery. Anschließend verwenden Sie die Funktion ML.PREDICT, um Vorhersagen mit dem Remote-Modell zu treffen.
Sie können Remote-Modelle verwenden, wenn ein Modell für den Import in BigQuery zu groß ist. Sie sind auch nützlich, wenn Sie eine einzelne Inferenz für Online-, Batch- und Mikro-Batch-Anwendungsfälle verwenden möchten.
Ziele
- Importieren Sie ein vortrainiertes TensorFlow-Modell in die Vertex AI Model Registry.
- Stellen Sie das Modell in einem Vertex AI-Endpunkt bereit.
- Cloud-Ressourcenverbindung erstellen
- Verwenden Sie die
CREATE MODEL-Anweisung, um ein Remote-Modell in BigQuery zu erstellen. - Verwenden Sie die Funktion
ML.PREDICT, um Vorhersagen mit dem Remote-Modell zu treffen.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die BigQuery-, Vertex AI-, Cloud Storage- und BigQuery Connection APIs.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen- Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben, um die Aufgaben in diesem Dokument ausführen zu können.
Erforderliche Rollen
Wenn Sie ein neues Projekt erstellen, sind Sie der Projektinhaber und erhalten alle erforderlichen IAM-Berechtigungen, die Sie für dieses Tutorial benötigen.
Wenn Sie ein vorhandenes Projekt verwenden, gehen Sie so vor.
Prüfen Sie, ob Sie die folgenden Rollen für das Projekt haben:
- BigQuery Studio Admin (
roles/bigquery.studioAdmin) - Vertex AI-Nutzer (
roles/aiplatform.user) - BigQuery Connection Admin (
roles/bigquery.connectionAdmin)
Rollen prüfen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
-
Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.
- Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.
Rollen zuweisen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf Zugriffsrechte erteilen.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.
- Klicken Sie auf Rolle auswählen und suchen Sie nach der Rolle.
- Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
Weitere Informationen zu IAM-Berechtigungen in BigQuery finden Sie unter BigQuery-Berechtigungen.
Modell in Vertex AI Model Registry importieren
In dieser Anleitung verwenden Sie ein vortrainiertes TensorFlow-Modell, das in Cloud Storage unter gs://cloud-samples-data/bigquery/ml/remote_model_tutorial/ verfügbar ist. Der Cloud Storage-Bucket befindet sich am multiregionalen Standort US.
Das Modell ist ein TensorFlow-Modell mit dem Namen saved_model.pb. Es handelt sich um ein benutzerdefiniertes Modell zur Sentimentanalyse, das durch Feinabstimmung eines BERT-Modells mit IMDb-Filmrezensionen im Nur-Text-Format erstellt wurde. Das Modell verwendet Texteingaben aus den Filmrezensionen und gibt Sentimentwerte zwischen 0 und 1 zurück. Wenn Sie das Modell in die Modellregistrierung importieren, verwenden Sie einen vordefinierten TensorFlow-Container.
So importieren Sie das Modell:
Rufen Sie in der Google Cloud Console die Seite Vertex AI Model Registry auf.
Klicken Sie auf Importieren.
Gehen Sie für Schritt 1: Name und Region so vor:
Wählen Sie Als neues Modell importieren aus.
Geben Sie für Name
bert_sentimentein.Geben Sie unter Beschreibung
BQML tutorial modelein.Wählen Sie bei Region die Option
us-central1aus. Sie müssen eine Region in den USA auswählen, da sich der Cloud Storage-Bucket am multiregionalen StandortUSbefindet.Klicken Sie auf Weiter.
Gehen Sie für Schritt 2: Modelleinstellungen so vor:
Wählen Sie Modellartefakte in einen neuen vordefinierten Container importieren aus.
Gehen Sie im Bereich Vordefinierte Containereinstellungen folgendermaßen vor:
Wählen Sie für Modell-Framework die Option TensorFlow aus.
Wählen Sie für Modell-Framework-Version die Option 2.15 aus.
Wählen Sie für Beschleunigertyp die Option GPU aus.
Geben Sie für Speicherort des Modellartefakts
gs://cloud-samples-data/bigquery/ml/remote_model_tutorial/ein.Übernehmen Sie für alle verbleibenden Optionen die Standardwerte und klicken Sie auf Importieren.
Wenn der Import abgeschlossen ist, wird das Modell auf der Seite Model Registry angezeigt.
Modell in einem Vertex AI-Endpunkt bereitstellen
Führen Sie die folgenden Schritte aus, um das Modell an einem Endpunkt bereitzustellen.
Rufen Sie in der Google Cloud Console die Seite Vertex AI Model Registry auf.
Klicken Sie in der Spalte Name auf
bert_sentiment.Klicken Sie auf den Tab Bereitstellen und Testen.
Klicken Sie auf In Endpunkt bereitstellen.
Führen Sie für Schritt 1, Endpunkt definieren, die folgenden Schritte aus:
Klicken Sie auf Neuen Endpunkt erstellen.
Geben Sie unter Endpunktname
bert sentiment endpointein.Übernehmen Sie die verbleibenden Standardwerte und klicken Sie auf Weiter.
Gehen Sie für Schritt 2, Modelleinstellungen, so vor:
Geben Sie im Abschnitt Compute-Einstellungen für Mindestanzahl von Computing-Knoten den Wert
1ein. Dies ist die Anzahl der Knoten, die für das Modell verfügbar sein müssen.Wählen Sie im Bereich Erweiterte Skalierungsoptionen für Maschinentyp die Option Standard (n1-standard-2) aus. Da Sie beim Importieren des Modells GPU als Beschleunigertyp ausgewählt haben, werden der Beschleunigertyp und die Anzahl der Beschleuniger automatisch festgelegt, nachdem Sie den Maschinentyp ausgewählt haben.
Behalten Sie die verbleibenden Standardwerte bei und klicken Sie auf Bereitstellen.
Wenn das Modell am Endpunkt bereitgestellt wird, ändert sich der Status in
Active.Kopieren Sie die numerische Endpunkt-ID in der Spalte ID und den Wert in der Spalte Region. Sie benötigen sie später.
Dataset erstellen
Erstellen Sie ein BigQuery-Dataset zum Speichern Ihres ML-Modells.
Console
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.
Klicken Sie auf Aktionen ansehen > Dataset erstellen.
Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:
Geben Sie unter Dataset-ID
bqml_tutorialein.Wählen Sie als Standorttyp die Option Multiregional und dann USA aus.
Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.
bq
Wenn Sie ein neues Dataset erstellen möchten, verwenden Sie den Befehl bq mk --dataset.
Erstellen Sie ein Dataset mit dem Namen
bqml_tutorialund legen Sie den Datenspeicherort aufUSfest.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Prüfen Sie, ob das Dataset erstellt wurde:
bq ls
API
Rufen Sie die Methode datasets.insert mit einer definierten Dataset-Ressource auf.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
BigQuery-Cloud-Ressourcenverbindung erstellen
Sie benötigen eine Cloud-Ressourcenverbindung, um eine Verbindung zu einem Vertex AI-Endpunkt herzustellen.
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Explorer:

Wenn Sie den linken Bereich nicht sehen, klicken Sie auf Linken Bereich maximieren, um ihn zu öffnen.
Klicken Sie im Bereich Explorer auf Daten hinzufügen.
Das Dialogfeld Daten hinzufügen wird geöffnet.
Wählen Sie im Bereich Filtern nach im Abschnitt Datenquellentyp die Option Datenbanken aus.
Alternativ können Sie im Feld Nach Datenquellen suchen
Vertex AIeingeben.Klicken Sie im Abschnitt Empfohlene Datenquellen auf Vertex AI.
Klicken Sie auf die Lösungsübersichtskarte Vertex AI-Modelle: BigQuery Federation.
Wählen Sie in der Liste Verbindungstyp die Option Vertex AI-Remote-Modelle, Remote-Funktionen und BigLake (Cloud Resource) aus.
Geben Sie im Feld Verbindungs-ID
bqml_tutorialein.Prüfen Sie, ob Mehrere Regionen – USA ausgewählt ist.
Klicken Sie auf Verbindung erstellen.
Klicken Sie unten im Fenster auf Zur Verbindung. Alternativ können Sie im Bereich Explorer auf Verbindungen und dann auf
us.bqml_tutorialklicken.Kopieren Sie im Bereich Verbindungsinformationen die Dienstkonto-ID. Sie benötigen diese ID, wenn Sie Berechtigungen für die Verbindung konfigurieren. Wenn Sie eine Verbindungsressource erstellen, erstellt BigQuery ein eindeutiges Systemdienstkonto und ordnet es der Verbindung zu.
bq
Verbindung herstellen:
bq mk --connection --location=US --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE bqml_tutorial
Ersetzen Sie
PROJECT_IDdurch IhreGoogle Cloud Projekt-ID. Der Parameter--project_idüberschreibt das Standardprojekt.Wenn Sie eine Verbindungsressource herstellen, erstellt BigQuery ein eindeutiges Systemdienstkonto und ordnet es der Verbindung zu.
Fehlerbehebung:Wird der folgende Verbindungsfehler angezeigt, aktualisieren Sie das Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Rufen Sie die Dienstkonto-ID ab und kopieren Sie sie zur Verwendung in einem späteren Schritt:
bq show --connection PROJECT_ID.us.bqml_tutorial
Die Ausgabe sieht etwa so aus:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
Verbindungszugriff einrichten
Weisen Sie dem Dienstkonto der Cloud-Ressourcenverbindung die Rolle „Vertex AI User“ zu. Sie müssen diese Rolle in demselben Projekt gewähren, in dem Sie den Endpunkt des Remote-Modells erstellt haben.
So weisen Sie die Rolle zu:
Zur Seite IAM & Verwaltung.
Klicken Sie auf Zugriff gewähren.
Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID der Cloud-Ressourcenverbindung ein, die Sie zuvor kopiert haben.
Wählen Sie im Feld Rolle auswählen die Option Vertex AI und dann Vertex AI-Nutzer aus.
Klicken Sie auf Speichern.
BigQuery ML-Remote-Modell erstellen
Sie erstellen ein BigQuery ML-Remote-Modell mit der Anweisung CREATE MODEL und der Klausel REMOTE WITH CONNECTION. Weitere Informationen zur CREATE MODEL-Anweisung finden Sie unter CREATE MODEL-Anweisung für Remote-Modelle über benutzerdefinierte Modelle.
Sie erstellen Ihr Modell am multiregionalen Standort US. In einem multiregionalen BigQuery-Dataset (US, EU) können Sie nur ein Remote-Modell erstellen, das eine Verbindung zu einem Endpunkt herstellt, der in einer Region innerhalb desselben multiregionalen Standorts (US, EU) bereitgestellt wird.
Wenn Sie das Remote-Modell erstellen, benötigen Sie die Endpunkt-ID, die beim Bereitstellen des Modells in Vertex AI generiert wurde. Außerdem müssen die Namen und Typen der Ein- und Ausgabefelder genau mit der Ein- und Ausgabe des Vertex AI-Modells übereinstimmen. In diesem Beispiel ist die Eingabe ein Text STRING und die Ausgabe ein ARRAY vom Typ FLOAT64.
Console
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie unter Neu erstellen auf SQL-Abfrage.
Geben Sie im Abfrageeditor diese
CREATE MODEL-Anweisung ein und klicken Sie dann auf Ausführen:CREATE OR REPLACE MODEL `PROJECT_ID.bqml_tutorial.bert_sentiment` INPUT (text STRING) OUTPUT(scores ARRAY<FLOAT64>) REMOTE WITH CONNECTION `PROJECT_ID.us.bqml_tutorial` OPTIONS(ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpoints/ENDPOINT_ID')
Ersetzen Sie Folgendes:
- PROJECT_ID ist der Name Ihres Projekts.
- ENDPOINT_ID: Die Endpunkt-ID, die Sie zuvor kopiert haben.
Wenn der Vorgang abgeschlossen ist, wird eine Meldung wie
Successfully created model named bert_sentimentangezeigt.Ihr neues Modell wird im Bereich Ressourcen angezeigt. Modelle sind am Modellsymbol
zu erkennen.Wenn Sie das neue Modell im Feld Ressourcen auswählen, werden Informationen zum Modell unter dem Abfrageeditor angezeigt.
bq
Erstellen Sie das Remote-Modell mit der folgenden
CREATE MODEL-Anweisung:bq query --use_legacy_sql=false \ "CREATE OR REPLACE MODEL `PROJECT_ID.bqml_tutorial.bert_sentiment` INPUT (text STRING) OUTPUT(scores ARRAY<FLOAT64>) REMOTE WITH CONNECTION `PROJECT_ID.us.bqml_tutorial` OPTIONS(ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpoints/ENDPOINT_ID')"
Ersetzen Sie Folgendes:
- PROJECT_ID ist der Name Ihres Projekts.
- ENDPOINT_ID: Die Endpunkt-ID, die Sie zuvor kopiert haben.
Nachdem Sie das Modell erstellt haben, prüfen Sie, ob es im Dataset angezeigt wird:
bq ls -m bqml_tutorial
Die Ausgabe sieht etwa so aus:
Id Model Type Labels Creation Time ---------------- ------------ -------- ----------------- bert_sentiment 28 Jan 17:39:43
Vorhersagen mit ML.PREDICT abrufen
Mit der Funktion ML.PREDICT können Sie Stimmungsanalysen aus dem Remote-Modell abrufen. Die Eingabe ist eine Textspalte (review) mit Rezensionen von Filmen aus der Tabelle bigquery-public-data.imdb.reviews.
In diesem Beispiel werden 10.000 Datensätze ausgewählt und für die Vorhersage gesendet. Das Remote-Modell verwendet für Anfragen standardmäßig eine Batchgröße von 128.
Console
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Neu erstellen auf SQL-Abfrage.
Geben Sie im Abfrageeditor diese Abfrage mit der Funktion
ML.PREDICTein und klicken Sie dann auf Ausführen.SELECT * FROM ML.PREDICT ( MODEL `PROJECT_ID.bqml_tutorial.bert_sentiment`, ( SELECT review as text FROM `bigquery-public-data.imdb.reviews` LIMIT 10000 ) )
Die Abfrageergebnisse sollten in etwa so aussehen:
bq
Geben Sie den folgenden Befehl ein, um die Abfrage mit ML.PREDICT auszuführen.
bq query --use_legacy_sql=false \ 'SELECT * FROM ML.PREDICT ( MODEL `PROJECT_ID.bqml_tutorial.bert_sentiment`, ( SELECT review as text FROM `bigquery-public-data.imdb.reviews` LIMIT 10000 ) )'
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Console
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
gcloud
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Alternativ können Sie die einzelnen Ressourcen entfernen, die in dieser Anleitung verwendet werden:
Nächste Schritte
- Eine Übersicht über BigQuery ML finden Sie unter Einführung in KI und ML in BigQuery ML.
- Weitere Informationen zur Verwendung der
CREATE MODEL-Anweisung für Remote-Modelle finden Sie unter CREATE MODEL-Anweisung für Remote-Modelle über benutzerdefinierte Modelle. - Weitere Informationen zur Verwendung eines BigQuery-Notebooks finden Sie unter Einführung in Notebooks.
- Weitere Informationen zu Regionen und Multiregionen finden Sie auf der Seite Unterstützte Standorte.
- Weitere Informationen zum Importieren von Modellen in Vertex AI Model Registry finden Sie unter Modelle in Vertex AI importieren.
- Weitere Informationen zur Modellversionsverwaltung in Vertex AI Model Registry finden Sie unter Modellversionsverwaltung mit Model Registry.
- Informationen zur Verwendung von Vertex AI VPC Service Controls finden Sie unter VPC Service Controls mit Vertex AI.