In dieser Anleitung wird beschrieben, wie Sie Modelle in die Model Registry der Gemini Enterprise Agent Platform importieren. Nachdem Sie das Modell importiert haben, ist es in Model Registry sichtbar. In Model Registry können Sie das importierte Modell auf einem Endpunkt bereitstellen und Inferenzanfragen ausführen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Agent Platform-Nutzer (roles/aiplatform.user) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die
Sie zum Importieren von Modellen benötigen,
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Vordefinierte oder benutzerdefinierte Container
Wenn Sie ein Modell importieren, verknüpfen Sie es mit einem Container, damit die Agent Platform Inferenzanfragen ausführen kann. Sie können von der Agent Platform bereitgestellte vordefinierte Container verwenden. Alternativ haben Sie die Möglichkeit, eigene benutzerdefinierte Container zu verwenden, die Sie erstellen und per Push in Artifact Registry übertragen.
Sie können einen vordefinierten Container verwenden, wenn Ihr Modell die folgenden Anforderungen erfüllt:
- Ab Python 3.7 trainiert
- Mit TensorFlow, PyTorch, scikit-learn oder XGBoost trainiert
- Exportiert, um die framework-spezifischen Anforderungen für einen der vordefinierten Inferenz container zu erfüllen
Wenn Sie ein AutoML-Tabellenmodell importieren, das Sie zuvor exportiert haben, müssen Sie einen bestimmten benutzerdefinierten Container verwenden, der von der Agent Platform bereitgestellt wird.
Erstellen Sie andernfalls einen neuen benutzerdefinierten Container oder verwenden Sie einen vorhandenen benutzerdefinierten Container in Artifact Registry.
Modellartefakte in Cloud Storage hochladen
Sie müssen Ihre Modellartefakte in einem Cloud Storage-Bucket speichern, wobei die Region des Buckets mit dem von Ihnen verwendeten regionalen Endpunkt übereinstimmt.
Wenn sich Ihr Cloud Storage-Bucket in einem anderen Google Cloud Projekt befindet, müssen Sie der Agent Platform Zugriff gewähren , um Ihre Modellartefakte zu lesen.
Wenn Sie einen vordefinierten Container verwenden, achten Sie darauf, dass die Modellartefakte Dateinamen haben, die exakt mit den folgenden Beispielen übereinstimmen:
- TensorFlow SavedModel:
saved_model.pb - PyTorch:
model.mar - scikit-learn:
model.joblib - XGBoost:
model.bstodermodel.joblib
Modellartefakte für Inferenzanfragen exportieren .
Modell mit der Google Cloud console importieren
So importieren Sie ein Modell mit der Google Cloud console:
Rufen Sie in der Google Cloud console die Seite Modelle der Agent Platform auf.
Klicken Sie auf Importieren.
Wählen Sie Als neues Modell importieren aus, um ein neues Modell zu importieren.
Wählen Sie Als neue Version importieren aus, um ein Modell als Version eines vorhandenen Modells zu importieren. Weitere Informationen zur Versionsverwaltung finden Sie unter Modellversionsverwaltung.
Name und Region: Geben Sie einen Namen für das Modell ein. Wählen Sie die Region, die der Region des Buckets entspricht, und den regionalen Endpunkt der Agent Platform aus, den Sie verwenden. Klicken Sie auf Weiter.
Wenn Sie Erweiterte Optionen maximieren, können Sie optional einen kundenverwalteten Verschlüsselungsschlüssel hinzufügen.
Wählen Sie je nach Typ des verwendeten Containers unten den entsprechenden Tab aus.
Vordefinierter Container
Wählen Sie Modellartefakte in einen neuen vordefinierten Container importieren aus.
Wählen Sie das Modell-Framework und die Modell-Framework-Version aus, die Sie zum Trainieren Ihres Modells verwendet haben.
Wenn Sie GPUs für das Bereitstellen von Inferenzanfragen verwenden möchten, setzen Sie den Beschleunigertyp auf GPUs.
Sie wählen den GPU-Typ später aus, wenn Sie das Modell auf einem Endpunkt bereitstellen.
Geben Sie den Cloud Storage-Pfad zum Verzeichnis an, das die Modellartefakte enthält.
Zum Beispiel
gs://BUCKET_NAME/models/.Lassen Sie die Vorhersageschemas leer.
Wenn Sie Ihr Modell ohne Vertex Explainable AI-Einstellungen importieren möchten, klicken Sie auf Importieren.
Wenn der Import abgeschlossen ist, wird das Modell auf der Seite Modelle angezeigt.
Setzen Sie andernfalls die Konfiguration Ihres Modells fort, indem Sie auf dem Tab Erklärbarkeit Ihre Erklärbarkeitseinstellungen eingeben. Weitere Informationen zu den Erklärbarkeitseinstellungen.
Benutzerdefinierter Container
Wählen Sie Vorhandenen benutzerdefinierten Container importieren aus.
Legt den URI des Container-Images fest.
Wenn Sie Modellartefakte zusätzlich zu einem Container-Image bereitstellen möchten, geben Sie den Cloud Storage-Pfad zum Verzeichnis an, das Ihre Modellartefakte enthält.
z. B.
gs://BUCKET_NAME/models/.Geben Sie Werte für die anderen Felder an.
Weitere Informationen zu diesen optionalen Feldern.
Wenn Sie Ihr Modell ohne Vertex Explainable AI-Einstellungen importieren möchten, klicken Sie auf Importieren.
Wenn der Import abgeschlossen ist, wird das Modell auf der Seite Modelle angezeigt.
Setzen Sie andernfalls die Konfiguration Ihres Modells fort, indem Sie auf dem Tab Erklärbarkeit Ihre Erklärbarkeitseinstellungen eingeben. Weitere Informationen zu den Erklärbarkeitseinstellungen.
Tabellarischer AutoML-Container
Wählen Sie Vorhandenen benutzerdefinierten Container importieren aus.
Geben Sie im Feld Container-Image
MULTI_REGION-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1:latestein.Ersetzen Sie
MULTI_REGIONdurchus,europe, oderasia, um das Docker-Repository auszuwählen, aus dem Sie das Docker-Image abrufen möchten. Jedes Repository stellt dasselbe Docker-Image bereit. Es kann jedoch die Latenz verringern, die Multi-Region der Artifact Registry auszuwählen, die der Maschine am nächsten ist, auf der Sie Docker ausführen.Geben Sie im Feld Paketspeicherort den Cloud Storage-Pfad zum Verzeichnis an, das Ihre Modellartefakte enthält.
Der Pfad sieht in etwa so aus wie im folgenden Beispiel:
gs://BUCKET_NAME/models-MODEL_ID/tf-saved-model/TIMESTAMP/Lassen Sie alle anderen Felder leer.
Klicken Sie auf Importieren.
Wenn der Import abgeschlossen ist, wird das Modell auf der Seite Modelle angezeigt. Sie können dieses Modell wie andere tabellarische AutoML-Modelle verwenden. Allerdings unterstützen importierte tabellarische AutoML-Modelle nicht Vertrex Explainable AI.
Modell programmgesteuert importieren
Die folgenden Beispiele zeigen, wie Sie ein Modell mit verschiedenen Tools importieren:
gcloud
Im folgenden Beispiel wir der gcloud ai models upload
Befehl verwendet:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Ersetzen Sie Folgendes:
- LOCATION_ID: Die Region, in der Sie die Agent Platform verwenden.
-
MODEL_NAME: Ein Anzeigename für das
Model. -
IMAGE_URI: Der URI des Container-Images zum Bereitstellen von Inferenzanfragen.
Zum Beispiel
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest. Verwenden Sie einen vordefinierten Container oder einen benutzerdefinierten Container. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: Der Cloud Storage-URI (beginnend mit
gs://) eines Verzeichnisses in Cloud Storage, das Ihre Modellartefakte enthält.
Das vorherige Beispiel zeigt alle Flags, die zum Importieren der meisten Modelle erforderlich sind. Wenn Sie keinen vordefinierten Container für Inferenzanfragen verwenden, müssen Sie
wahrscheinlich einige zusätzliche optionale
Flags angeben, damit
die Agent Platform Ihr Container-Image verwenden kann. Diese Flags, die mit --container- beginnen, entsprechen Feldern von Model's
containerSpec.
REST
Verwenden Sie das folgende Codebeispiel, um ein Modell mithilfe der Methode upload der Ressource model hochzuladen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der Sie die Agent Platform verwenden.
- PROJECT_ID: Ihre [Projekt-ID](/resource-manager/docs/creating-managing-projects#identifiers). .
-
MODEL_NAME: Ein Anzeigename für das
Model. - MODEL_DESCRIPTION: Optional. Eine Beschreibung für das Modell.
-
IMAGE_URI: Der URI des Container-Images zum Bereitstellen von Inferenzanfragen.
Zum Beispiel
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest. Verwenden Sie einen vordefinierten Container oder einen benutzerdefinierten Container. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: Der Cloud Storage-URI (beginnend mit
gs://) eines Verzeichnisses in Cloud Storage, das Ihre Modellartefakte enthält. Diese Variable und das FeldartifactUrisind optional, wenn Sie einen benutzerdefinierten Container verwenden. labels: Optional. Alle Schlüssel/Wert-Paare zum Organisieren Ihrer Modelle. Beispiel:- "env": "prod"
- "tier": "backend"
- Geben Sie LABEL_NAME und LABEL_VALUE für alle Labels an, die Sie auf diese Trainingspipeline anwenden möchten.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload
JSON-Text der Anfrage:
{
"model": {
"displayName": "MODEL_NAME",
"predictSchemata": {},
"containerSpec": {
"imageUri": "IMAGE_URI"
},
"artifactUri": "PATH_TO_MODEL_ARTIFACT_DIRECTORY",
"labels": {
"LABEL_NAME_1": "LABEL_VALUE_1",
"LABEL_NAME_2": "LABEL_VALUE_2"
}
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload" | Select-Object -Expand Content
Java
Folgen Sie der Java Einrichtungsanleitung in der Kurzanleitung zur Verwendung von Clientbibliotheken für die Agent Platform, bevor Sie dieses Beispiel anwenden.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Agent Platform zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Folgen Sie der Node.js Einrichtungsanleitung in der Kurzanleitung zur Verwendung von Clientbibliotheken für die Agent Platform, bevor Sie dieses Beispiel anwenden.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Agent Platform zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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.
Informationen zum Importieren eines Modells mit aktivierten Einstellungen für Vertex Explainable AI finden Sie in den Beispielen für das Importieren von Vertex Explainable AI-Modellen.
Vorgangsstatus abrufen
Einige Anfragen starten lang andauernde Vorgänge, die viel Zeit in Anspruch nehmen. Diese Anfragen geben einen Vorgangsnamen zurück, mit dem Sie den Status des Vorgangs aufrufen oder den Vorgang abbrechen können. Die Agent Platform stellt Hilfsmethoden bereit, um Aufrufe für Vorgänge mit langer Laufzeit auszuführen. Weitere Informationen finden Sie unter Mit lang andauernden Vorgängen arbeiten.
Beschränkungen
- Die maximale Modellgröße, die von Model Registry unterstützt wird, beträgt 1 TB.
Nächste Schritte
- Stellen Sie das Modell auf einem Endpunkt bereit, programmatisch oder mithilfe der Konsole Google Cloud .