Modellartefakte zur Vorhersage exportieren

Google Distributed Cloud (GDC) Air-Gapped bietet vordefinierte Container für die Bereitstellung von Onlinevorhersagen aus Modellen, die mit den folgenden ML-Frameworks (maschinelles Lernen) trainiert wurden:

  • TensorFlow
  • PyTorch

Wenn Sie einen dieser vordefinierten Container verwenden möchten, müssen Sie das Modell als ein oder mehrere Modellartefakte speichern, die den Anforderungen des vordefinierten Containers entsprechen. Diese Anforderungen gelten unabhängig davon, ob Ihre Modellartefakte in Distributed Cloud erstellt werden.

Hinweise

Führen Sie vor dem Exportieren von Modellartefakten die folgenden Schritte aus:

  1. Erstellen und trainieren Sie ein Vorhersagemodell, das auf einen der unterstützten Container ausgerichtet ist.
  2. Wenn Sie kein Projekt haben, richten Sie ein Projekt für Vertex AI ein.
  3. Arbeiten Sie mit Ihrem Infrastrukturbetreiber zusammen, um den Vorhersagecluster zu erstellen.

    Der IO erstellt den Cluster für Sie, ordnet ihn Ihrem Projekt zu und weist die entsprechenden Knotenpools innerhalb des Clusters zu. Dabei werden die Ressourcen berücksichtigt, die Sie für Onlinevorhersagen benötigen.

  4. Storage-Bucket für das Projekt erstellen:

  5. Erstellen Sie das Dienstkonto „Vertex AI Default Serving“ (vai-default-serving-sa) in Ihrem Projekt. Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten einrichten.

  6. Weisen Sie dem Vertex AI-Standard-Serving-Dienstkonto (vai-default-serving-sa) für den von Ihnen erstellten Speicher-Bucket die Rolle „Project Bucket Object Viewer“ (project-bucket-object-viewer) zu. Informationen zum Gewähren des Bucket-Zugriffs auf Dienstkonten finden Sie unter Bucket-Zugriff gewähren.

  7. Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Vertex AI Prediction User“ (vertex-ai-prediction-user) zuzuweisen, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf die Onlinevorhersage benötigen. Informationen zu dieser Rolle finden Sie unter IAM-Berechtigungen vorbereiten.

Framework-spezifische Anforderungen für den Export in vordefinierte Container

Je nachdem, welches ML-Framework Sie für die Vorhersage verwenden, müssen Sie Modellartefakte in verschiedene Formate exportieren. In den folgenden Abschnitten werden die zulässigen Modellformate für jedes ML-Framework beschrieben.

TensorFlow

Wenn Sie ein Modell mithilfe von TensorFlow trainieren, exportieren Sie das Modell als TensorFlow SavedModel-Verzeichnis.

Es gibt mehrere Möglichkeiten, SavedModels aus dem TensorFlow-Trainingscode zu exportieren. In der folgenden Liste werden einige Möglichkeiten für verschiedene TensorFlow APIs beschrieben:

Wenn Sie nicht Keras und keinen Estimator nutzen, müssen Sie das Tag serve und die serving_default-Signatur für das Exportieren des SavedModel verwenden, damit Vertex AI Ihre Modellartefakte für Vorhersagen nutzen kann. Keras und Estimator übernehmen diese Aufgabe automatisch. Weitere Informationen zum Angeben von Signaturen während des Exports

Erstellen Sie für die Bereitstellung von Vorhersagen mit diesen Artefakten ein Model mit dem vordefinierten Container für Vorhersagen, der der Version von TensorFlow entspricht, die Sie für das Training verwendet haben.

PyTorch

Wenn Sie PyTorch zum Trainieren eines Modells verwenden, müssen Sie die Modellartefakte verpacken, einschließlich eines Standard- oder benutzerdefinierten Handlers. Erstellen Sie dazu eine Archivdatei mit der Torch-Modellarchivierung. Die vordefinierten PyTorch-Images erwarten, dass das Archiv den Namen model.mar hat. Legen Sie also den Modellnamen auf model fest.

Informationen zur Optimierung von Arbeitsspeichernutzung, Latenz und Durchsatz eines PyTorch-Modells, das mit TorchServe bereitgestellt wird, finden Sie im Leitfaden: PyTorch-Leistung.

Modell hochladen

Sie müssen Ihr Modell in den von Ihnen erstellten Storage-Bucket hochladen. Weitere Informationen zum Hochladen von Objekten in Storage-Buckets finden Sie unter Storage-Objekte in Projekten hoch- und herunterladen.

Der Pfad zum Speicher-Bucket Ihres Modells muss die folgende Struktur haben:

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

Weitere Informationen zum Exportieren finden Sie unter Framework-spezifische Anforderungen für den Export in vordefinierte Container.