Regionale Endpunkte

Wenn Sie mit Onlinevorhersagen arbeiten, können Sie mit der AI Platform Training und Prediction API über ihren globalen Endpunkt (ml.googleapis.com) oder über einen ihrer regionalen Endpunkte (REGION-ml.googleapis.com) interagieren. Die Verwendung eines regionalen Endpunkts für Onlinevorhersagen bietet Ihrem Modell zusätzlichen Schutz vor Ausfällen in anderen Regionen, da es Ihre Modell- und Versionsressourcen von anderen Regionen isoliert.

AI Platform Prediction unterstützt derzeit die folgenden regionalen Endpunkte:

  • us-central1
  • us-east1
  • us-east4
  • us-west1
  • northamerica-northeast1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • asia-east1
  • asia-northeast1
  • asia-southeast1
  • australia-southeast1

In diesem Leitfaden werden die Vorteile und Einschränkungen der regionalen und der globalen Endpunkte miteinander verglichen. Außerdem wird die Verwendung eines regionalen Endpunkts für die Onlinevorhersage erläutert.

Regionale Endpunkte

Regionale Endpunkte weisen einige wichtige Unterschiede im Vergleich zu globalen Endpunkten auf:

  • Regionale Endpunkte unterstützen nur Compute Engine-Maschinentypen (N1). Sie können keine Legacy-Maschinentypen (MLS1) auf regionalen Endpunkten verwenden. Das bedeutet, dass alle Vorteile und Einschränkungen der Compute Engine-Maschinentypen (N1) gelten. Sie können beispielsweise GPUs auf regionalen Endpunkten verwenden, aber derzeit können Sie kein Logging von Streams aktivieren.

    Zur Verwendung des Maschinentyps Compute Engine (N1) müssen Sie einen regionalen Endpunkt verwenden.

  • Regionale Endpunkte unterstützen nur Onlinevorhersagen und AI Explanations. Auf regionalen Endpunkten bereitgestellte Modelle unterstützen die Batchvorhersage nicht.

    AI Platform Prediction nutzt die AI Platform Training and Prediction API gemeinsam mit AI Platform Training und AI Platform Vizier. Beachten Sie, dass regionale Endpunkte derzeit kein AI Platform Training unterstützen. Nur der Endpunkt us-central1 unterstützt AI Platform Optimizer.

    Weitere Informationen darüber, welche API-Methoden auf welchen Endpunkten verfügbar sind, finden Sie in der API-Referenz.

AI Platform Prediction-Ressourcennamen sind für Ihr Google Cloud-Projekt an einem gegebenen Endpunkt eindeutig, können jedoch auf verschiedenen Endpunkten dupliziert werden. Beispielsweise können Sie ein Modell mit dem Namen "hello-world" auf dem Endpunkt europe-west4 und ein anderes Modell mit dem Namen "hello-world" auf dem Endpunkt us-central1 erstellen.

Wenn Sie Modelle auf einem regionalen Endpunkt auflisten, sehen Sie nur Modelle, die an diesem Endpunkt erstellt wurden. Ebenso werden beim Auflisten von Modellen auf dem globalen Endpunkt nur Modelle angezeigt, die auf dem globalen Endpunkt erstellt wurden.

Regionale Endpunkte im Vergleich zu globalen Endpunktregionen

Wenn Sie auf dem globalen Endpunkt eine Modellressource erstellen, können Sie eine Region für Ihr Modell angeben. Wenn Sie Versionen in diesem Modell erstellen und Vorhersagen bereitstellen, werden die Vorhersageknoten in der angegebenen Region ausgeführt.

Wenn Sie einen regionalen Endpunkt verwenden, führt AI Platform Prediction Ihre Vorhersageknoten in der Region des Endpunkts aus. In diesem Fall bietet AI Platform Prediction jedoch zusätzliche Isolierung, da die gesamte AI Platform Prediction-Infrastruktur in dieser Region ausgeführt wird.

Wenn Sie beispielsweise den Bereich us-east1 auf dem globalen Endpunkt verwenden, werden Ihre Vorhersageknoten in us-east1 ausgeführt. Die Infrastruktur für AI Platform Prediction, mit der Ihre Ressourcen verwaltet werden (Routinganfragen, Umgang mit Modell- und Versionserstellung, -aktualisierungen und -löschungen usw.), muss jedoch nicht unbedingt in us-east1 ausgeführt werden. Wenn Sie dagegen den regionalen Endpunkt europe-west4 verwenden, werden Ihre Vorhersageknoten und die gesamte AI Platform Prediction-Infrastruktur in europe-west4 ausgeführt.

Regionale Endpunkte verwenden

Um einen regionalen Endpunkt zu verwenden, müssen Sie zuerst ein Modell auf dem regionalen Endpunkt erstellen. Führen Sie dann alle mit diesem Modell verbundenen Aktionen (z. B. das Erstellen einer Modellversion und das Senden von Vorhersageanfragen) auf demselben Endpunkt aus.

Wenn Sie die Google Cloud Console verwenden, müssen Sie beim Erstellen des Modells das Kästchen Regionalen Endpunkt verwenden anklicken. Führen Sie alle anderen Google Cloud Console-Aktionen wie auf dem globalen Endpunkt aus.

Wenn Sie die Google Cloud CLI verwenden, geben Sie bei jedem Befehl, der mit Ihrem Modell und dessen untergeordneten Ressourcen interagiert, das Flag --region für die Region Ihres Endpunkts an. Dazu gehören: Der Support umfasst

Alternativ können Sie das Attribut ai_platform/region auf eine bestimmte Region festlegen, damit die gcloud CLI immer den entsprechenden regionalen Endpunkt für AI Plattform-Vorhersagebefehle verwendet, auch wenn Sie das Flag --region nicht angeben. (Diese Konfiguration gilt nicht für Befehle in der Befehlsgruppe gcloud ai-platform operations.)

Wenn Sie direkt mit der AI Platform Training und Prediction API interagieren (z. B. mithilfe der Google API-Clientbibliothek für Python), stellen Sie alle API-Anfragen an den regionalen Endpunkt analog zur Vorgehensweise beim globalen Endpunkt. Weitere Informationen darüber, welche API-Methoden auf regionalen Endpunkten verfügbar sind, finden Sie in der API-Referenz.

Die folgenden Beispiele zeigen, wie Sie mit einem regionalen Endpunkt ein Modell und eine Version erstellen und eine Onlinevorhersageanfrage senden. Wenn Sie die Beispiele verwenden möchten, ersetzen Sie REGION überall durch eine der Regionen, in denen regionale Endpunkte verfügbar sind:

  • us-central1
  • us-east1
  • us-east4
  • us-west1
  • northamerica-northeast1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • asia-east1
  • asia-northeast1
  • asia-southeast1
  • australia-southeast1

Modell erstellen

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite Modell erstellen auf und wählen Sie Ihr Google Cloud-Projekt aus:

    Zur Seite "Modell erstellen"

  2. Benennen Sie Ihr Modell, klicken Sie auf das Kästchen Regionalen Endpunkt verwenden und wählen Sie in der Drop-down-Liste Region die Region des Endpunkts aus, den Sie verwenden möchten.

  3. Klicken Sie auf Create.

gcloud

Führen Sie diesen Befehl aus:

gcloud ai-platform models create MODEL_NAME \
  --region=REGION

Ersetzen Sie in diesem Befehl die folgenden Platzhalter:

  • MODEL_NAME: Name, den Sie für Ihr Modell auswählen.
  • REGION: Region des Endpunkts, den Sie verwenden möchten.

Python

In diesem Beispiel wird die Google APIs-Clientbibliothek für Python verwendet. Bevor Sie sie verwenden können, müssen Sie die Google APIs-Clientbibliothek für Python installieren und die Authentifizierung in Ihrer Entwicklungsumgebung einrichten.

Führen Sie den folgenden Python-Code aus:

from google.api_core.client_options import ClientOptions
from googleapiclient import discovery

endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)

request_body = { 'name': 'MODEL_NAME' }
request = ml.projects().models().create(parent='projects/PROJECT_ID',
    body=request_body)

response = request.execute()
print(response)

Ersetzen Sie in diesem Code die folgenden Platzhalter:

  • REGION: Region des Endpunkts, den Sie verwenden möchten.
  • MODEL_NAME: Name, den Sie für Ihr Modell auswählen.
  • PROJECT_ID: ID Ihres Google Cloud-Projekts.

Weitere Informationen zum Erstellen eines Modells.

Modellversionen erstellen

In diesem Beispiel wird davon ausgegangen, dass Sie bereits kompatible Modellartefakte in Cloud Storage hochgeladen haben.

Google Cloud Console

Folgen Sie dem Modell, das Sie im vorherigen Abschnitt erstellt haben, und folgen Sie der Anleitung zum Erstellen einer Modellversion in der Google Cloud Console.

gcloud

In diesem Beispiel wird davon ausgegangen, dass Sie bereits kompatible Modellartefakte in Cloud Storage hochgeladen haben. Führen Sie folgenden Befehl aus:

gcloud ai-platform versions create VERSION_NAME \
  --region=REGION \
  --model=MODEL_NAME \
  --framework=FRAMEWORK \
  --machine-type=MACHINE_TYPE \
  --origin=MODEL_DIRECTORY \
  --python-version=3.7 \
  --runtime-version=2.11

Ersetzen Sie in diesem Befehl die folgenden Platzhalter:

  • REGION: Region des Endpunkts, die Sie im vorherigen Abschnitt verwendet haben.
  • VERSION_NAME: Name, den Sie für Ihre Version auswählen.
  • MODEL_NAME: Name des Modells, das Sie im vorherigen Abschnitt erstellt haben.
  • FRAMEWORK: Framework, das zum Erstellen der Modellartefakte verwendet wird.
  • MACHINE_TYPE: Compute Engine-Maschinentyp (N1).
  • MODEL_DIRECTORY: Cloud Storage-URI für Ihr Modellverzeichnis (beginnend mit "gs://").

Python

Führen Sie den folgenden Python-Code aus:

from google.api_core.client_options import ClientOptions
from googleapiclient import discovery

endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)

request_body = { 'name': 'VERSION_NAME',
    'deploymentUri': 'MODEL_DIRECTORY',
    'runtimeVersion': '2.11',
    'machineType': 'MACHINE_TYPE',
    'framework': 'FRAMEWORK',
    'pythonVersion': '3.7'}
request = ml.projects().models().versions().create(
    parent='projects/PROJECT_ID/models/MODEL_NAME',
    body=request_body)

response = request.execute()
print(response)

Ersetzen Sie in diesem Code die folgenden Platzhalter:

  • REGION: Region des Endpunkts, die Sie im vorherigen Abschnitt verwendet haben.
  • VERSION_NAME: Name, den Sie für Ihre Version auswählen.
  • MODEL_DIRECTORY: Cloud Storage-URI für Ihr Modellverzeichnis (beginnend mit "gs://").
  • MACHINE_TYPE: Compute Engine-Maschinentyp (N1).
  • FRAMEWORK: Framework, das zum Erstellen der Modellartefakte verwendet wird.
  • PROJECT_ID: ID Ihres Google Cloud-Projekts.
  • MODEL_NAME: Name des Modells, das Sie im vorherigen Abschnitt erstellt haben.

Weitere Informationen zum Erstellen einer Modellversion.

Onlinevorhersageanfrage senden

Google Cloud Console

  1. Öffnen Sie in der Google Cloud Console die Seite Modelle.

    Zur Seite „Modelle“

  2. Wählen Sie in der Drop-down-Liste Region die Region des Endpunkts aus, die Ihr Modell verwendet. Klicken Sie auf den Namen des Modells, das Sie in einem vorherigen Abschnitt erstellt haben, um die zugehörige Seite Modelldetails aufzurufen.

  3. Klicken Sie auf den Namen der Version, die Sie in einem vorherigen Abschnitt erstellt haben, um die zugehörige Seite Versionsdetails aufzurufen.

  4. Klicken Sie auf den Tab Testen und verwenden. Geben Sie eine oder mehrere Instanzen von Eingabedaten ein und klicken Sie auf die Schaltfläche Test, um eine Anfrage für eine Onlinevorhersage zu senden.

gcloud

In diesem Beispiel wird davon ausgegangen, dass Sie die Vorhersageeingabe in einer durch Zeilenumbruch getrennten JSON-Datei in Ihrer lokalen Umgebung gespeichert haben. Führen Sie dazu diesen Befehl aus:

gcloud ai-platform predict \
  --region=REGION \
  --model=MODEL_NAME \
  --version=VERSION_NAME \
  --json-request=INPUT_PATH

Ersetzen Sie in diesem Befehl die folgenden Platzhalter:

  • REGION: Region des Endpunkts, die Sie in den vorherigen Abschnitten verwendet haben.
  • MODEL_NAME: Name des Modells, das Sie in einem vorherigen Abschnitt erstellt haben.
  • VERSION_NAME: Name der Modellversion, die Sie im vorherigen Abschnitt erstellt haben.
  • INPUT_PATH: Der Pfad in Ihrem lokalen Dateisystem zu einer JSON-Datei mit Vorhersageeingabe.

Python

Führen Sie den folgenden Python-Code aus:

from google.api_core.client_options import ClientOptions
from googleapiclient import discovery

endpoint = 'https://REGION-ml.googleapis.com'
client_options = ClientOptions(api_endpoint=endpoint)
ml = discovery.build('ml', 'v1', client_options=client_options)

request_body = { 'instances': INSTANCES }
request = ml.projects().predict(
    name='projects/PROJECT_ID/models/MODEL_NAME/VERSION_NAME',
    body=request_body)

response = request.execute()
print(response)

Ersetzen Sie in diesem Code die folgenden Platzhalter:

  • REGION: Region des Endpunkts, die Sie in den vorherigen Abschnitten verwendet haben.
  • INSTANCES: Liste mit Vorhersage-Eingabeinstanzen.
  • MODEL_NAME: Name des Modells, das Sie in einem vorherigen Abschnitt erstellt haben.
  • VERSION_NAME: Name der Version, die Sie im vorherigen Abschnitt erstellt haben.

Weitere Informationen zu Onlinevorhersagen

Nächste Schritte