Vorhersageüberblick

Sie können Ihre trainierten Modelle für maschinelles Lernen in der Cloud hosten und den Dienst AI Platform Prediction verwenden, um Zielwerte für neue Daten abzuleiten. Auf dieser Seite werden das Modellhosting und Vorhersagen erläutert sowie Überlegungen angesprochen, die Sie bei Ihren Projekten berücksichtigen sollten.

So gehts:

AI Platform Prediction verwaltet Rechenressourcen in der Cloud zur Ausführung Ihrer Modelle. Sie können Vorhersagen aus Ihren Modellen anfordern, um dafür vorhergesagte Zielwerte zu erhalten. Zum Einrichten von Vorhersagen in der Cloud gehen Sie so vor:

  1. Exportieren Sie Ihr Modell als Artefakte, die Sie für AI Platform Prediction bereitstellen können.

  2. Erstellen Sie eine Modellressource in AI Platform Prediction und anschließend eine Modellversion von Ihrem gespeicherten Modell.

    Wenn Sie eine benutzerdefinierte Vorhersageroutine bereitstellen, geben Sie auch den Code an, der zur Vorhersagezeit ausgeführt werden soll.

  3. Formatieren Sie die Eingabedaten für die Vorhersage und fordern Sie entweder eine Onlinevorhersage oder eine Batchvorhersage an.

  4. Bei einer Onlinevorhersage führt der Dienst das gespeicherte Modell aus und gibt die angeforderten Vorhersagen als Antwort auf den Aufruf zurück.

    • Die Modellversion wird in der Region bereitgestellt, die Sie beim Erstellen des Modells angegeben haben.
    • Eine Modellversion, die Sie regelmäßig verwenden, ist normalerweise immer einsatzbereit, obwohl es dafür keine Garantie gibt.

    Bei Verwendung einer Batchvorhersage, die nur für TensorFlow unterstützt wird, ist der Vorgang etwas komplizierter:

    1. Der Vorhersagedienst ordnet Ressourcen für die Ausführung des Jobs zu. Dazu wird mindestens ein Vorhersageknoten benötigt.

    2. Der Dienst stellt Ihre TensorFlow-Grafik auf jedem zugeordneten Knoten wieder her.

    3. Der Vorhersagedienst verteilt die Eingabedaten auf die zugeordneten Knoten.

    4. Jeder Knoten führt die Grafik aus und speichert die Vorhersagen an einem von Ihnen angegebenen Cloud Storage-Speicherort.

    5. Wenn alle Eingabedaten verarbeitet wurden, beendet der Dienst den Job und gibt die dafür zugeordneten Ressourcen frei.

Modellbereitstellung

AI Platform Prediction kann Ihre Modelle hosten, sodass Sie damit Vorhersagen in der Cloud treffen können. Der Vorgang, mit dem ein gespeichertes Modell gehostet wird, heißt Bereitstellung. Der Vorhersagedienst verwaltet die für die skalierte Ausführung Ihres Modells erforderliche Infrastruktur. Ferner stellt er das Modell für Online- oder Batchvorhersageanfragen zur Verfügung. In diesem Abschnitt wird die Modellbereitstellung beschrieben.

Modelle und Versionen

AI Platform Prediction organisiert Ihre trainierten Modelle mithilfe von Ressourcen, die Modelle und Versionen genannt werden. Ein Modell ist eine Lösung für maschinelles Lernen. Beispielsweise können Sie ein Modell namens census erstellen, das Ihre gesamte Arbeit zu einem Modell für maschinelles Lernen zur Volkszählung der USA enthält. Die von Ihnen erstellte Entität census ist ein Container für die tatsächlichen Implementierungen des ML-Modells. Diese werden als Versionen bezeichnet.

Die Entwicklung eines Modells für maschinelles Lernen ist ein iterativer Prozess. Aus diesem Grund sind die Ressourcen von AI Platform Prediction so eingerichtet, dass Sie für jedes Modell für maschinelles Lernen mehrere Versionen erstellen können. Diese Terminologie kann verwirrend sein, da eine Modellressource für AI Platform Prediction kein maschinelles Lernmodell ist. Ein AI Platform Prediction-Modell ist vielmehr ein Container, der die Versionen des Modells für maschinelles Lernen enthält.

Inhalt einer Version

Das als Modellversion in AI Platform Prediction bereitgestellte "Modell" besteht aus einem oder mehreren Artefakte, die durch das Training mit gehosteten Frameworks, TensorFlow, scikit-learn oder XGBoost erstellt werden. Es spielt keine Rolle, ob Sie Ihr Modell in der Cloud mithilfe von AI Platform oder mit einer anderen Lösung trainiert haben.

Sie haben auch die Möglichkeit, eine benutzerdefinierte Vorhersageroutine (Beta) bereitzustellen. In diesem Fall können Sie die Modellversion um zusätzliche Trainingsartefakte und zusätzlichen Code zur Verarbeitung von Vorhersageanfragen ergänzen.

Abweichungen zwischen Versionen

Die Versionen, die Sie für eine bestimmte Modellressource erstellen, sind beliebig. Das bedeutet, dass Sie die gleiche Modellressource verwenden können, auch wenn Sie das Modell für maschinelles Lernen zwischen den Versionen vollständig ändern. Ein Modell ist ein Verwaltungstool, das Sie so einsetzen können, wie es für Ihre Situation am sinnvollsten ist.

Es ist üblich, dass Eingaben und Ausgaben der Modellversionen identisch sind, insbesondere wenn sich eine Version in der Produktion befindet. Dies ermöglicht ein schnelles Wechseln zwischen den Versionen, ohne dass Sie die umgebende Anwendungsstruktur, die Sie um das Modell eingerichtet haben, ändern müssen. Auch das Testen neuer Versionen mit vorhandenen Daten ist dadurch einfacher.

Standardversion

Jedes Modell mit mindestens einer Version hat eine Standardversion. Diese Voreinstellung wird bei der Erstellung der ersten Version festgelegt. Wenn Sie bei einer Vorhersageanfrage nur einen Modellnamen angegeben, verwendet AI Platform Prediction die Standardversion für dieses Modell.

Beachten Sie, dass der Dienst die Standardversion nur ein einziges Mal automatisch festlegt, wenn Sie die allererste Version erstellen. Sie können aber jede nachfolgende Version über einen Aufruf von projects.models.versions.setDefault manuell als Standard festlegen. Diese Methode steht auch über gcloud ai-platform versions set-default und als Option in der Versionsliste auf der Seite mit den Modelldetails in der Google Cloud Console zur Verfügung. Zum Aufrufen dieser Seite klicken Sie auf der Seite "Modelle" in der Liste der Modelle auf Ihr Modell. So können Sie beispielsweise in der Produktion eine stabile Standardversion für Vorhersagen verwenden und gleichzeitig neuere Versionen testen, ohne eine eigene Modellressource zum Testen zu erstellen.

Modelle und Versionen benennen

Für die Namen von Modellen und Versionen gilt Folgendes:

  • Sie dürfen sich nur aus Buchstaben (Groß-/Kleinschreibung beachten), Zahlen und Unterstrichen zusammensetzen.
  • Sie müssen mit einem Buchstaben beginnen.
  • Sie dürfen maximal 128 Zeichen enthalten.
  • Sie dürfen innerhalb eines Projekts (für Modelle) oder innerhalb eines Modells (für Versionen) nicht mehrfach vergeben sein.

Neben diesen technischen Anforderungen gibt es keine weiteren Namensregeln. Hier finden Sie jedoch einige Best Practices:

  • Modellnamen sollten aussagekräftig und unverwechselbar sein, sodass sie in Listen mit vielen Namen in Logs oder Berichten leicht zu finden sind.
  • Es empfiehlt sich, Versionsnamen möglichst kurz und einfach zu halten. So lässt sich "v1" in einer Liste von Ressourcen einfacher erkennen als beispielsweise "2017_01_29T13_54_58".

Modell- und Versionslimits

Informationen darüber, wie viele Modelle und Versionen Sie in einem Google Cloud-Projekt erstellen können, finden Sie unter Ressourcenkontingente.

Parameter für die Modellbereitstellung

AI Platform Prediction benötigt verschiedene Informationen zum Erstellen Ihrer Modellversion. Außerdem gibt es einige Optionen, die Sie konfigurieren können. Dieser Abschnitt erläutert die Parameter für beide Arten. Diese Parameter werden im Version-Objekt definiert oder zur Vereinfachung dem Befehl gcloud ai-platform versions create hinzugefügt.

Versionsname
Ein Name für die neue Version, der für die vorhandenen Versionen des Modells noch nicht vergeben wurde.
Beschreibung
Sie können zu Ihrer Version eine Beschreibung festlegen. Derzeit wird die Beschreibung nur angegeben, wenn Sie die Versionsinformationen mit der API abrufen. Die Beschreibung wird weder in der Google Cloud CLI noch in der Google Cloud Console angezeigt.
Bereitstellungs-URI
Sie müssen den URI des Cloud Storage-Speicherorts angeben, an dem Ihr SavedModel gespeichert ist. AI Platform Prediction ruft das Modell aus diesem Speicherort ab und stellt es bereit. Dazu verwenden Sie den Parameter --origin im Befehl gcloud ai-platform versions create. Wenn Sie eine benutzerdefinierte Vorhersageroutine (Beta) bereitstellen, können Sie den URI eines Cloud Storage-Verzeichnisses angeben, das neben einem SavedModel auch alle Artefakte enthält, die Ihre Modellversion zur Vorhersage verwendet.
Laufzeitversion
AI Platform Prediction stellt Ihre Modellversion mit der neuesten stabilen Laufzeitversion bereit, sofern Sie keine andere unterstützte Version angeben. Die Laufzeitversion legt in erster Linie die Version von TensorFlow fest, die der Vorhersagedienst für die Ausführung Ihres Modells verwendet. Wenn Sie einen Batchvorhersagejob ausführen, können Sie die zugeordnete Laufzeitversion überschreiben. Onlinevorhersagen verwenden immer die Laufzeitversion, die bei der Bereitstellung der Modellversion festgelegt wurde.
Manuelle Skalierung

Sie können die Anzahl der Vorhersageknoten angeben, die für Ihre Modellversion ausgeführt werden sollen. Weitere Informationen dazu finden Sie im Abschnitt Skalierung.

Staging-Bucket

Wenn Sie die Google Cloud CLI zum Bereitstellen Ihres Modells verwenden, können Sie ein SavedModel auf Ihrem lokalen Computer verwenden. Das Tool führt das Staging des Modells an dem von Ihnen angegebenen Cloud Storage-Speicherort durch, bevor es in AI Platform Prediction bereitgestellt wird.

Grafikänderungen für Vorhersagen

Unter Umständen haben Sie TensorFlow-Vorgänge in Ihre Berechnungsgrafik eingebunden, die in erster Linie im Kontext des Trainings nützlich waren. Sie können diese Vorgänge aus der Grafik entfernen, wenn Ihr Modell trainiert und bereit für den Export der endgültigen Version ist.

Viele Tipps auf der Seite zur Entwicklung von Trainingsanwendungen handeln von Erfahrungswerten in Bezug auf Vorhersagen. In manchen Fällen geht es dabei um Änderungen, die Sie an Ihrem Modell vornehmen können, wenn der Großteil des Trainings durchgeführt ist und Sie mit der Bereitstellung von Versionen beginnen können.

Vorhersagen abrufen

Sie können neue Daten an Ihre bereitgestellten Modellversionen senden, um Vorhersagen zu erhalten. In den folgenden Abschnitten finden Sie wichtige Überlegungen zu Vorhersagen.

Onlinevorhersage im Vergleich zur Batchvorhersage

Informieren Sie sich über die Unterschiede zwischen Online- und Batchvorhersagen.

Vorhersageknoten und Ressourcenzuordnung

AI Platform Prediction misst Ihren Verarbeitungsaufwand für die Vorhersage in Knotenstunden. In diesem Abschnitt werden die Knoten und deren Zuordnung zu den verschiedenen Arten von Vorhersagen beschrieben.

Ein Knoten ist mit einer virtuellen Maschine (VM) vergleichbar, wobei er mit einem anderen Verfahren als eine herkömmliche VM implementiert wird. Jeder Knoten wird mit einer festgelegten Verarbeitungsleistung und einem entsprechenden Speicher bereitgestellt. Ein Knoten enthält auch ein Betriebssystemimage sowie Konfigurationseinstellungen für die Software, die für die Ausführung des Modells und den Abruf von Vorhersagen erforderlich ist.

Sowohl Online- als auch Batchvorhersagen führen die Knoten mit verteilter Verarbeitung aus, sodass eine bestimmte Anfrage oder ein Job mehrere Knoten gleichzeitig verwenden kann. Die Ihnen in Rechnung gestellten Kosten werden auf der Basis der gesamten Knotennutzung pro Minute, basierend auf einer Rate pro Stunde berechnet. Beispielsweise entstehen für die Ausführung von zwei Knoten über zehn Minuten die gleichen Kosten wie für die Ausführung eines Knotens über zwanzig Minuten. Da Online- und Batchvorhersagen Knoten unterschiedlich zuordnen, kann dies erhebliche Auswirkungen auf Ihre Kosten haben.

Knotenzuordnung bei Batchvorhersagen

Der Batchvorhersagedienst skaliert die Anzahl der verwendeten Knoten, um die erforderliche Zeit für die Ausführung Ihres Jobs möglichst niedrig zu halten. Dazu geht der Dienst so vor:

  • Er ordnet einige Knoten zu, um den Job beim Start ausführen zu können.

  • Er skaliert während des Jobs die Anzahl der Knoten, um die Effizienz zu optimieren. Jeder Knoten braucht eine gewisse Startzeit, sodass der Dienst versucht, genügend Knoten zuzuordnen, ohne jedoch die gesamte Ausführungszeit durch eine zu hohe Startzeit der Knoten zu beeinträchtigen.

  • Er beendet die Knoten, sobald der Job abgeschlossen ist.

Sie können die Skalierung eines Batchvorhersagejobs beeinflussen. Dazu geben Sie eine maximale Anzahl der zu verwendenden Knoten an. Generell sollten so viele Knoten verfügbar sein, wie der Dienst tatsächlich verwendet, allerdings unterliegt die Knotennutzung der Kontingentrichtlinie von AI Platform Prediction. Die Beschränkung der Anzahl von Knoten, die einem bestimmten Job zugeordnet werden, könnte besonders dann sinnvoll sein, wenn Sie Ihr Projekt mit anderen teilen und möglicherweise Jobs (sowohl Trainings- als auch Vorhersagejobs) gleichzeitig ausführen.

Knotenzuordnung bei Onlinevorhersagen

Der Onlinevorhersagedienst skaliert die Anzahl der verwendeten Knoten, um die Anzahl der Anfragen zu maximieren, die er ohne zu viel Latenz bewältigen kann. Dazu geht der Dienst so vor:

  • Er ordnet einige Knoten zu, wenn Sie Vorhersagen erstmalig nach einer langen Pause anfordern.

  • Er skaliert in Reaktion auf den Anfragetraffic die Anzahl der Knoten und fügt Knoten hinzu, wenn der Traffic zunimmt, bzw. entfernt Knoten bei nachlassenden Anfragen.

  • Er hält für mehrere Minuten lang mindestens einen Knoten für Anfragen bereit, auch wenn gerade keine Anfrage auszuführen ist. Der Bereitschaftszustand macht es möglich, dass der Dienst für jede Vorhersage sofort zur Verfügung steht.

  • Er skaliert auf null herunter, wenn für die Modellversion einige Minuten lang keine Vorhersageanfragen gestellt wurden.

Nachdem der Dienst auf null herunterskaliert wurde oder wenn eine plötzliche Spitze im Traffic vorliegt, kann es mehrere Sekunden bis Minuten dauern, bis die Knoten für Anfragen initialisiert sind. Die Zeit für die Initialisierung hängt von der Modellversionsgröße ab. Daher kann eine clientseitige Zeitüberschreitung dazu führen, dass die Anfragen verworfen werden, bis die neuen Knoten initialisiert wurden, und/oder dass die Latenz in diesem Zeitraum zunimmt.

Für eine sofortige Bereitstellung zu beliebigen Zeiten können Sie eine Mindestanzahl von Knoten festlegen, die der Dienst bereithalten soll. Dazu legen Sie für die Option minNodes für Ihre Modellversion einen Wert fest. Diese Einstellung kann die Kosten erhöhen, da Ihnen diese Knoten berechnet werden, auch wenn keine Vorhersagen erstellt werden.

Autoscaling-Beschränkungen

Das Autoscaling von AI Platform Prediction für Onlinevorhersagen unterstützt Sie dabei, variierende Mengen von Vorhersageanfragen zu verarbeiten und gleichzeitig die Kosten zu minimieren. Sie ist jedoch nicht in allen Situationen ideal. Unter Umständen stellt der Dienst die Knoten nicht schnell genug online bereit, um extreme Spitzen von Anfrage-Traffic zu bewältigen. Wenn Ihr Traffic regelmäßig hohe Spitzen aufweist und eine zuverlässig niedrige Latenz für Ihre Anwendung wichtig ist, sollten Sie die manuelle Skalierung nutzen.

Manuelle Skalierung

Sie können die Skalierung der Onlinevorhersage für eine Modellversion beeinflussen, indem Sie eine Anzahl von Knoten angeben, die unabhängig vom Traffic ausgeführt werden soll. Wenn Sie die Anzahl der Knoten manuell festlegen, beendet der Dienst die Skalierung. Dies führt dazu, dass die Anzahl der Knoten, die Sie angeben, immer bereit steht. Dadurch entstehen dann auch entsprechende laufende Kosten. Sie sollten deshalb diese Option nur dann verwenden, wenn die Anzahl der Anfragen, die Ihr Modell erhält, regelmäßig und schneller schwankt, als es die automatische Skalierung ausgleichen kann. Die Anzahl der Knoten, die verwendet werden sollen, legen Sie über manualScaling im Objekt Version fest, das Sie an projects.models.versions.createübergeben.

Skalierung in mehreren Zonen

Wenn Ihre Version einen Compute Engine-Maschinentyp (N1) verwendet und Sie autoScaling.minNodes oder manualScaling.nodes auf 2 oder höher festlegen (je nachdem, ob Sie die automatische oder manuelle Skalierung verwenden), laufen Ihre Vorhersageknoten in mehreren Zonen innerhalb derselben Region. Dies gewährleistet eine kontinuierliche Verfügbarkeit, wenn eine Zone ausfällt.

Eingabedaten für Vorhersagen

Die Daten, die Sie für Vorhersagen verwenden, sind neue Daten, die in derselben Form wie die Daten vorliegen, die Sie für das Training verwendet haben. Online- und Batchvorhersagen verwenden die gleichen Daten (Merkmale Ihres Modells), jedoch unterschiedliche Formate, wobei diese von der Art der Vorhersage und der verwendeten Schnittstelle abhängen. Die möglichen Formate sind in der folgenden Tabelle zusammengefasst und in den nachfolgenden Abschnitten näher beschrieben:

Vorhersageart und Schnittstelle Unterstütztes Eingabeformat
Batch mit API-Aufruf Textdatei mit JSON-Instanzstrings oder TFRecord-Datei (kann komprimiert sein)
Batch mit der gcloud CLI Textdatei mit JSON-Instanzstrings oder TFRecord-Datei (kann komprimiert sein)
Online mit API-Aufruf JSON-Anfragenachricht
Online mit der gcloud CLI Textdatei mit JSON-Instanzstrings oder CSV-Datei

JSON-Instanzstrings

Das Grundformat für Online- und Batchvorhersagen ist eine Liste von Instanzdatentensoren. Es kann sich dabei um eine einfache Werteliste oder Member eines JSON-Objekts handeln, je nachdem, wie Sie die Eingaben in der Trainingsanwendung konfiguriert haben:

Dieses Beispiel zeigt einen Eingabetensor und einen Instanzschlüssel:

{"values": [1, 2, 3, 4], "key": 1}

Die Zusammensetzung des JSON-Strings kann komplex sein, solange diese Regeln eingehalten werden:

  • Die oberste Ebene der Instanzdaten muss ein JSON-Objekt sein – ein Wörterbuch aus Schlüssel/Wert-Paaren.

  • Einzelne Werte in einem Instanzobjekt können Strings, Zahlen oder Listen sein. JSON-Objekte können nicht eingebettet werden.

  • Listen dürfen nur Elemente des gleichen Typs (einschließlich anderer Listen) enthalten. Strings und numerische Werte dürfen nicht kombiniert werden.

Der folgende (zur Lesbarkeit formatierte) String zeigt ein Objekt, das ein Label und ein Bild enthält. Das Bild ist ein dreidimensionales Array aus 8-Bit-Ganzzahlen:

{
  "tag": "beach",
  "image": [
    [
      [138, 30, 66],
      [130, 20, 56],
      ...
    ],
    [
      [126, 38, 61],
      [122, 24, 57],
      ...
    ],
        ...
  ]
}

Nimmt Ihr Modell nur eine einzelne Eingabe an, müssen Sie sie nicht in ein JSON-Objekt einbinden. Wenn Sie beispielsweise einen einzelnen Tensor – in diesem Fall einen Vektor – mit vier Werten senden, müssen Sie dies in folgender Weise formatieren:

{"values": [1, 2, 3, 4]}

Sie können die einzelnen Instanzen einfach in Form einer Liste angeben:

[1, 2, 3, 4]
Binärdaten in der Vorhersageeingabe

Binärdaten können nicht als UTF-8-codierte Strings formatiert werden, die von JSON unterstützt werden. Wenn Sie in Ihren Eingaben Binärdaten verwenden, müssen Sie für deren Darstellung die base64-Codierung verwenden. Folgende besondere Formatierungen sind erforderlich:

  • Ihre codierte Zeichenfolge muss als JSON-Objekt mit einem einzelnen Schlüssel namens b64 formatiert sein. Im folgenden Python-Beispiel wird ein Puffer aus JPEG-Rohdaten mithilfe der base64-Bibliothek codiert, um eine Instanz zu erstellen.

    {"image_bytes":{"b64": base64.b64encode(jpeg_data)}}
    
  • Im TensorFlow-Modellcode müssen Sie die Aliasse für die Ein- und Ausgabetensoren so benennen, dass sie auf "_bytes" enden.

Eingabedaten für Onlinevorhersagen

Eingabeinstanzen für Onlinevorhersagen übergeben Sie als Nachrichtentext für die Vorhersageanfrage. Informationen zum Formatieren von Anfrage- und Antworttext finden Sie unter Details zu Vorhersageanfragen.

Kurz gesagt bedeutet das, dass Sie jede Instanz als Element in eine Liste aufnehmen und das Listenmitglied mit instances benennen müssen. Das oben dargestellte JSON-Beispiel einer einfachen Dateninstanz sieht dann so aus:

{"instances": [{"values": [1, 2, 3, 4], "key": 1}]}

Wenn Sie gcloud ai-platform projects predict für Onlinevorhersageanfragen verwenden, übergeben Sie eine Datei in dem Format, das Sie auch für die Batchvorhersage verwenden.

Eingabedaten für Batchvorhersagen

Die Eingabedaten für eine Batchvorhersage übergeben Sie in einer oder mehreren Textdateien. Diese enthalten Zeilen mit den JSON-Instanzdaten, wie oben beschrieben. Eine Eingabedatei enthält keine Spaltenüberschriften oder andere Formatierungen, sondern nur die einfache JSON-Syntax.

{"image": [0.0, 0.0, ... ], "key": 0}
{"image": [0.0, 0.0, ... ], "key": 1}
{"image": [0.0, 0.0, ... ], "key": 2}

Instanzschlüssel

AI Platform Prediction führt die Batchvorhersagejobs mit verteilter Verarbeitung aus. Dies bedeutet, dass die Daten auf einen beliebigen Cluster von virtuellen Maschinen verteilt sind und die Verarbeitung in einer nicht absehbaren Reihenfolge stattfindet. Damit Sie die zurückgegebenen Vorhersagen den Eingabeinstanzen zuordnen können, müssen Sie Instanzschlüssel definieren. Ein Instanzschlüssel ist ein Wert, den jede Instanz aufweist und der unter den Instanzen in einem Satz von Daten nur einmal vergeben ist. Der einfachste Schlüssel ist eine Indexnummer.

Sie sollten die Schlüssel über Ihre Grafik unverändert in Ihrer Trainingsanwendung übergeben. Wenn Ihre Daten noch keine Instanzschlüssel haben, können Sie diese als Teil der Datenvorverarbeitung zuweisen.

Laufzeitversionen

Bei Veröffentlichung neuer Versionen von AI Platform Prediction kann es sein, dass Modelle, die für ältere Versionen entwickelt wurden, damit nicht mehr verwendet werden können. Dies ist besonders relevant, wenn Sie eine effektive Modellversion verwenden, die bereits über einen längeren Zeitraum unverändert ist. Informieren Sie sich deshalb über die AI Platform Prediction-Richtlinie zur Versionsverwaltung und die Details zur AI Platform Prediction-Laufzeitversion, mit der Sie Ihre Modellversionen trainieren.

Laufzeitversionen und Vorhersagen

Sie können bei der Erstellung einer Modellversion eine unterstützte AI Platform Prediction-Laufzeitversion angeben. Diese wird dann als Standardeinstellung für die Modellversion übernommen.

Sie können eine Laufzeitversion festlegen, die beim Start eines Batchvorhersagejobs verwendet wird. Dadurch sind auch Vorhersagen für ein Modell möglich, das nicht in AI Platform Prediction bereitgestellt wurde. Verwenden Sie für ein bereitgestelltes Modell die Standardlaufzeitversion des Modells in der Jobanfrage. Die Verwendung einer anderen Laufzeitversion führt möglicherweise zu unerwarteten Fehlern.

Sie können keine Onlinevorhersagen von Modellen anfordern, die sich außerhalb von AI Platform Prediction befinden. Es gibt also keine Möglichkeit, die Standardlaufzeitversion in Ihrer Anfrage zu überschreiben.

Die für eine Modellversion festgelegte Standardlaufzeitversion kann nicht geändert werden. Um eine andere Laufzeitversion für eine Modellversion anzugeben, stellen Sie eine neue Version mit denselben Trainingsartefakten bereit, die Sie ursprünglich verwendet haben.

Regionen und Vorhersagen

Google Cloud verwendet in Zonen unterteilte Regionen, um den geografischen Standort von physischen Computerressourcen zu definieren. Wenn Sie ein Modell für die Vorhersage mithilfe von AI Platform Prediction bereitstellen, geben Sie die Standardregion an, in der die Vorhersage ausgeführt werden soll.

Wenn Sie einen Batchvorhersagejob starten, können Sie eine Region angeben, in welcher der Job ausgeführt werden soll, und damit die Standardregion überschreiben. Onlinevorhersagen stammen dagegen immer aus der Standardregion, die für das Modell angegeben ist.

Informationen zu den verfügbaren Regionen für AI Platform Prediction-Dienste, einschließlich Modelltraining und Online-/Batchvorhersage, finden Sie unter Regionen.

Vorhersage-Logging

Mithilfe der Batchvorhersage werden Joblogs erstellt, die Sie in Cloud Logging aufrufen können. Sie können auch Logs für Onlinevorhersagen anfordern, wenn Sie das Modell bei der Erstellung so konfigurieren, dass Logs generiert werden. Sie müssen diese Option festlegen, wenn Sie die Modellressource in AI Platform Prediction erstellen. Entweder erstellen alle Versionen eines Modells Logs für Onlinevorhersagen oder keine Version.

Sie können für ein Modell das Onlinevorhersage-Logging einrichten. Dazu legen Sie für onlinePredictionLogging in der Modellressource, die Sie beim Erstellen Ihres Modells mit projects.models.create verwenden, "true" (True in Python) fest. Wenn Sie die Google Cloud CLI zum Erstellen Ihres Modells verwenden, fügen Sie bei der Ausführung von gcloud ai-platform models create das Flag --enable-logging hinzu.

Vorhersagen von nicht bereitgestellten Modellen abrufen

Sie können Batchvorhersagen von einem Modell anfordern, das Sie nicht im AI Platform Prediction-Dienst bereitgestellt haben. Anstatt einen Modell- oder Versionsnamen anzugeben, können Sie den URI eines Cloud Storage-Speicherorts verwenden, in dem das auszuführende Modell gespeichert ist.

Da für ein nicht bereitgestelltes Modell keine Standardlaufzeitversion festgelegt wurde, müssen Sie diese explizit in Ihrer Jobanfrage angeben.

In allen anderen Aspekten verhält sich ein Batchvorhersagejob für ein nicht bereitgestelltes Modell wie jeder andere Batchjob.

Modell testen

Mit dem AI Platform Prediction-Vorhersagedienst können Sie Ihre Modelle nicht nur für die Produktion hosten, sondern auch testen. Das Testen des Modells ist normalerweise der Schritt vor der Bereitstellung einer Lösung für maschinelles Lernen. Der Zweck einer Testphase ist es, das Modell in einer Umgebung zu prüfen, die der realen Einsatzsituation so ähnlich wie möglich ist.

Es können mehrere Versionen eines Modells gleichzeitig für den Dienst bereitgestellt sein. Sie haben also die Möglichkeit, bei Bedarf mehrere Versionen eines Modells gleichzeitig zu testen. So lässt sich auch einfach eine Produktionsversion des Modells bereitstellen, während die nächste Version bereits getestet wird. Wie so oft bei der Entwicklung von Anwendungen für maschinelles Lernen ist die Verfügbarkeit neuer Daten häufig ein einschränkender Faktor. Sie sollten deshalb eine Strategie für die Aufteilung vorhandener Daten und die Erfassung neuer Testdaten entwickeln.

Weitere Informationen