In dieser Anleitung wird beschrieben, wie Sie Modelle in Model Registry 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 Vorhersagen ausführen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Vertex AI-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 Vertex AI Anfragen für Vorhersagen ausführen kann. Sie können vordefinierte Container von Vertex AI 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 Vorhersagecontainer zu erfüllen
Wenn Sie ein AutoML-Tabellenmodell importieren, das Sie zuvor exportiert haben, müssen Sie einen bestimmten benutzerdefinierten Container verwenden, der von Vertex AI 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 Vertex AI 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
odermodel.pkl
- XGBoost:
model.bst
,model.joblib
odermodel.pkl
Modellartefakte für Vorhersagen exportieren
Modell mit Google Cloud Console importieren
So importieren Sie ein Modell mithilfe der Google Cloud Console:
Rufen Sie in der Cloud Console die Seite Vertex AI-Modelle 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 aus, die der Region des Buckets und dem regionalen Vertex AI-Endpunkt entspricht, den Sie verwenden. Klicken Sie auf Weiter.
Wenn Sie Erweiterte Optionen maximieren, können Sie optional einen vom Kunden verwalteten 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 Vorhersagen 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:latest
ein.Ersetzen Sie
MULTI_REGION
durchus
,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 Befehl gcloud ai models upload
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 dabei Folgendes:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
-
MODEL_NAME: Ein Anzeigename für
Model
. -
IMAGE_URI: Der URI des Container-Images zum Bereitstellen von Vorhersagen. 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 die Vorhersage verwenden, müssen Sie wahrscheinlich einige zusätzliche optionale Flags angeben, damit Vertex AI Ihr Container-Image verwenden kann. Diese Flags, die mit --container-
beginnen, entsprechen Feldern von containerSpec
Ihres Model
.
REST
Verwenden Sie das folgende Codebeispiel, um ein Modell mithilfe der Methode upload
der Ressource model
hochzuladen.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
- PROJECT_ID: Ihre Projekt-ID.
-
MODEL_NAME: Ein Anzeigename für
Model
. - MODEL_DESCRIPTION: Optional. Eine Beschreibung für das Modell.
-
IMAGE_URI: Der URI des Container-Images zum Bereitstellen von Vorhersagen. 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 FeldartifactUri
sind 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
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.
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.
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 Referenzdokumentation zur Python API.
Informationen zum Importieren eines Modells mit aktivierten Einstellungen für Vertex Explainable AI-Einstellungen 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. Vertex AI 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 maximal unterstützte Modellgröße beträgt 10 GiB.
Nächste Schritte
- Stellen Sie das Modell programmgesteuert oder mithilfe der Google Cloud Console auf einem Endpunkt bereit.