In dieser Anleitung stellen Sie das offene Modell Gemma 2B mithilfe von Model Garden auf einem TPU-gestützten Vertex AI-Endpunkt bereit. Sie müssen ein Modell auf einem Endpunkt bereitstellen, bevor es für Onlinevorhersagen verwendet werden kann. Durch die Bereitstellung eines Modells werden dem Modell physische Ressourcen zugeordnet, sodass es Onlinevorhersagen mit niedriger Latenz bereitstellen kann.
Nachdem Sie das Gemma 2B-Modell bereitgestellt haben, führen Sie die Inferenz des trainierten Modells mit PredictionServiceClient aus, um Onlinevorhersagen zu erhalten. Onlinevorhersagen sind synchrone Anfragen an ein Modell, das auf einem Endpunkt bereitgestellt wird.
Ziele
In dieser Anleitung werden die folgenden Aufgaben erläutert:
- Offenes Modell Gemma 2B auf einem TPU-gestützten Endpunkt mit Model Garden bereitstellen
PredictionServiceClientfür Onlinevorhersagen verwenden
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
-
A
ct5lp-hightpu-1tmachine type with one TPU_V5 accelerator - Vertex AI prediction and explanation
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.
Hinweise
Für dieses Tutorial müssen Sie Folgendes tun:
- Ein Google Cloud Projekt einrichten und die Vertex AI API aktivieren
- Auf Ihrem lokalen Computer:
- Google Cloud CLI installieren, initialisieren und authentifizieren
- SDK für Ihre Sprache installieren
Google Cloud -Projekt einrichten
Richten Sie Ihr Google Cloud Projekt ein und aktivieren Sie die Vertex AI API.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Installieren und initialisieren Sie Google Cloud CLI.
-
Wenn Sie die gcloud CLI bereits installiert haben, aktualisieren Sie die
gcloud-Komponenten mit diesem Befehl.gcloud components update
-
Wenn Sie sich mit der gcloud CLI authentifizieren möchten, generieren Sie eine lokale Datei mit Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC), indem Sie diesen Befehl ausführen. Der vom Befehl gestartete Web-Flow wird verwendet, um Ihre Nutzeranmeldedaten anzugeben.
gcloud auth application-default login
Weitere Informationen finden Sie unter Authentifizierungskonfiguration der gcloud CLI und ADC-Konfiguration.
Installieren und aktualisieren Sie das Vertex AI SDK für Python, indem Sie diesen Befehl ausführen.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Installieren Sie die Protocol Buffers-Bibliothek für Python, indem Sie diesen Befehl ausführen.
pip3 install --upgrade "protobuf>=5.28"
- Die
aiplatformGo-Clientbibliothek - Go-Unterstützung für Protocol Buffers
- Google API Extensions for Go (gax-go)
Rufen Sie in der Google Cloud Console die Seite Model Garden auf.
Klicken Sie auf die Modellkarte Gemma 2.
Klicken Sie auf Bereitstellen, um den Bereich Modell bereitstellen zu öffnen.
Geben Sie im Bereich Modell bereitstellen die folgenden Details an.
Klicken Sie für Bereitstellungsumgebung auf Vertex AI.
Im Abschnitt Modell bereitstellen:
Wählen Sie für Ressourcen-ID die Option
gemma-2b-itaus.Übernehmen Sie für Modellname und Endpunktname die Standardwerte. Beispiel:
- Modellname:
gemma2-2b-it-1234567891234 - Endpunktname:
gemma2-2b-it-mg-one-click-deploy
Notieren Sie sich den Endpunktnamen. Sie benötigen sie, um die in den Codebeispielen verwendete Endpunkt-ID zu finden.
- Modellname:
Im Abschnitt Bereitstellungseinstellungen:
Übernehmen Sie die Standardoption für die Grundeinstellungen.
Übernehmen Sie für Region den Standardwert oder wählen Sie eine Region aus der Liste aus. Notieren Sie sich die Region. Sie benötigen sie für die Codebeispiele.
Wählen Sie für Maschinenspezifikation die TPU-basierte Instanz aus:
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t).
Klicken Sie auf Bereitstellen. Nach Abschluss des Deployments erhalten Sie eine E-Mail mit Details zu Ihrem neuen Endpunkt. Sie können die Endpunktdetails auch aufrufen, indem Sie auf Onlinevorhersage > Endpunkte klicken und Ihre Region auswählen.
PROJECT_ID: So finden Sie Ihre Projekt-ID.Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
Wählen Sie oben auf der Seite in der Projektauswahl Ihr Projekt aus.
Der Projektname, die Projektnummer und die Projekt-ID werden nach der Überschrift Willkommen angezeigt.
ENDPOINT_REGION: Die Region, in der Sie den Endpunkt bereitgestellt haben.ENDPOINT_ID: Die Endpunkt-ID finden Sie in der Konsole oder indem Sie den Befehlgcloud ai endpoints listausführen. Sie benötigen den Endpunktnamen und die Region aus dem Bereich Modell bereitstellen.Console
Sie können die Endpunktdetails aufrufen, indem Sie auf Onlinevorhersage > Endpunkte klicken und Ihre Region auswählen. Notieren Sie sich die Zahl, die in der Spalte
IDangezeigt wird.gcloud
Mit dem Befehl
gcloud ai endpoints listkönnen Sie die Endpunktdetails aufrufen.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAMEDie Ausgabe sieht so aus:
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Bereitstellung des Modells aufheben und Endpunkt löschen
- Modell aus Model Registry löschen
Klicken Sie in der Google Cloud Console auf Onlinevorhersage und dann auf Endpunkte.
Wählen Sie in der Drop-down-Liste Region die Region aus, in der Sie Ihren Endpunkt bereitgestellt haben.
Klicken Sie auf den Endpunktnamen, um die Detailseite zu öffnen. Beispiel:
gemma2-2b-it-mg-one-click-deploy.Klicken Sie in der Zeile für das Modell
Gemma 2 (Version 1)auf Aktionen und dann auf Bereitstellung des Modells am Endpunkt aufheben.Klicken Sie im Dialogfeld Bereitstellung des Endpunkts aufheben auf Bereitstellung aufheben.
Klicken Sie auf den Button Zurück, um zur Seite Endpunkte zurückzukehren.
Klicken Sie am Ende der Zeile für
gemma2-2b-it-mg-one-click-deployauf Aktionen und wählen Sie dann Endpunkt löschen aus.Klicken Sie in der Bestätigungsaufforderung auf Bestätigen.
- PROJECT_ID durch Ihren Projektnamen
- LOCATION_ID durch die Region, in der Sie das Modell und den Endpunkt bereitgestellt haben
- ENDPOINT_ID durch die Endpunkt-ID
- DEPLOYED_MODEL_NAME durch den Anzeigenamen des Modells
- DEPLOYED_MODEL_ID durch die Modell-ID
Rufen Sie die Endpunkt-ID mit dem Befehl
gcloud ai endpoints listab. Mit diesem Befehl werden die Endpunkt-IDs für alle Endpunkte in Ihrem Projekt aufgelistet. Notieren Sie sich die ID des Endpunkts, der in dieser Anleitung verwendet wird.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_IDDie Ausgabe sieht so aus: In der Ausgabe wird die ID als
ENDPOINT_IDbezeichnet.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deployRufen Sie die Modell-ID mit dem Befehl
gcloud ai models describeab. Notieren Sie sich die ID des Modells, das Sie in dieser Anleitung bereitgestellt haben.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_IDDie gekürzte Ausgabe sieht so aus. In der Ausgabe wird die ID als
deployedModelIdbezeichnet.Using endpoint [https://us-central1-aiplatform.googleapis.com/] artifactUri: [URI removed] baseModelSource: modelGardenSource: publicModelName: publishers/google/models/gemma2 ... deployedModels: - deployedModelId: '1234567891234567891' endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345 displayName: gemma2-2b-it-12345678912345 etag: [ETag removed] modelSourceInfo: sourceType: MODEL_GARDEN name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345 ...Heben Sie die Bereitstellung des Modells am Endpunkt auf. Sie benötigen die Endpunkt-ID und die Modell-ID aus den vorherigen Befehlen.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_IDDieser Befehl erzeugt keine Ausgabe.
Führen Sie den Befehl
gcloud ai endpoints deleteaus, um den Endpunkt zu löschen.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_IDGeben Sie bei Aufforderung zur Bestätigung
yein. Dieser Befehl erzeugt keine Ausgabe.Rufen Sie in der Google Cloud Console im Bereich „Vertex AI“ die Seite Model Registry auf.
Wählen Sie in der Drop-down-Liste Region die Region aus, in der Sie Ihr Modell bereitgestellt haben.
Klicken Sie am Ende der Zeile für
gemma2-2b-it-1234567891234auf Aktionen.Wählen Sie Modell löschen aus.
Wenn Sie das Modell löschen, werden alle zugehörigen Modellversionen und ‑bewertungen aus Ihrem Google Cloud -Projekt gelöscht.
Klicken Sie in der Bestätigungsaufforderung auf Löschen.
- Weitere Informationen zu offenen Gemma-Modellen
- Gemma-Nutzungsbedingungen lesen
- Weitere Informationen zu offenen Modellen
- Informationen zum Bereitstellen eines abgestimmten Modells
- Informationen zum Bereitstellen von Gemma 2 in Google Kubernetes Engine mit HuggingFace Textgen Inference (TGI)
- Weitere Informationen zum
PredictionServiceClientin Ihrer bevorzugten Sprache: Python, Node.js, Java oder Go
Google Cloud CLI einrichten
Richten Sie die Google Cloud CLI auf Ihrem lokalen Computer ein.
SDK für Ihre Programmiersprache einrichten
Um die in dieser Anleitung verwendete Umgebung einzurichten, installieren Sie das Vertex AI SDK für Ihre Sprache und die Protocol Buffers-Bibliothek. In den Codebeispielen werden Funktionen aus der Protocol Buffers-Bibliothek verwendet, um das Eingabeverzeichnis in das JSON-Format zu konvertieren, das von der API erwartet wird.
Klicken Sie auf Ihrem lokalen Computer auf einen der folgenden Tabs, um das SDK für Ihre Programmiersprache zu installieren.
Python
Klicken Sie auf Ihrem lokalen Computer auf einen der folgenden Tabs, um das SDK für Ihre Programmiersprache zu installieren.
Node.js
Installieren oder aktualisieren Sie das aiplatform SDK für Node.js, indem Sie den folgenden Befehl ausführen.
npm install @google-cloud/aiplatform
Java
Wenn Sie google-cloud-aiplatform als Abhängigkeit hinzufügen möchten, fügen Sie den entsprechenden Code für Ihre Umgebung hinzu.
Maven mit BOM
Fügen Sie Ihrem pom.xml folgenden HTML-Code hinzu:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> </dependencies>
Maven ohne BOM
Fügen Sie Folgendes zu pom.xml hinzu:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>5.28</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency>
Gradle ohne BOM
Fügen Sie zum build.gradle Folgendes hinzu:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'Go
Installieren Sie diese Go-Pakete mit den folgenden Befehlen.
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
Gemma mit Model Garden bereitstellen
Sie stellen das Gemma 2B-Modell auf einem ct5lp-hightpu-1t-Compute Engine-Maschinentyp bereit, der für das Training im kleinen bis mittleren Maßstab optimiert ist. Diese Maschine hat einen TPU v5e-Beschleuniger. Weitere Informationen zum Trainieren von Modellen mit TPUs finden Sie unter Cloud TPU v5e-Training.
In dieser Anleitung stellen Sie das auf Anweisungen abgestimmte offene Modell Gemma 2B mithilfe der Modellkarte in Model Garden bereit. Die spezifische Modellversion ist gemma2-2b-it (-it steht für auf Anweisungen abgestimmt).
Das Gemma 2B-Modell hat eine geringere Parametergröße, was zu geringeren Ressourcenanforderungen und mehr Flexibilität bei der Bereitstellung führt.
Gemma 2B mit dem PredictionServiceClient für Inferenzen verwenden
Nachdem Sie Gemma 2B bereitgestellt haben, verwenden Sie PredictionServiceClient, um Onlinevorhersagen für den Prompt „Warum ist der Himmel blau?“ zu erhalten.
Codeparameter
Für die PredictionServiceClient-Codebeispiele müssen Sie Folgendes aktualisieren.
Beispielcode
Aktualisieren Sie im Beispielcode für Ihre Sprache PROJECT_ID, ENDPOINT_REGION und ENDPOINT_ID. Führen Sie dann Ihren Code aus.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python API-Referenzdokumentation.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Go-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Go API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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
Einzelne Ressourcen löschen
Wenn Sie Ihr Projekt behalten möchten, löschen Sie die in dieser Anleitung verwendeten Ressourcen:
Bereitstellung des Modells aufheben und Endpunkt löschen
Verwenden Sie eine der folgenden Methoden, um die Bereitstellung eines Modells aufzuheben und den Endpunkt zu löschen:
Console
gcloud
So heben Sie die Bereitstellung des Modells auf und löschen den Endpunkt mithilfe der Google Cloud CLI:
Ersetzen Sie in diesen Befehlen Folgendes:
Modell löschen
Console
gcloud
Wenn Sie das Modell mit der Google Cloud CLI löschen möchten, geben Sie den Anzeigenamen und die Region des Modells für den Befehl gcloud ai models delete an.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
Ersetzen Sie DEPLOYED_MODEL_NAME durch den Anzeigenamen des Modells. Ersetzen Sie PROJECT_ID durch Ihren Projektnamen. Ersetzen Sie LOCATION_ID durch die Region, in der Sie das Modell bereitgestellt haben.