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 und dann eine Modellversion für Ihr gespeichertes 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 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 organisiert Ihre trainierten Modelle mithilfe von Ressourcen, die Modelle und Versionen genannt werden. Ein Modell ist eine Lösung für maschinelles Lernen. Sie könnten beispielsweise ein Modell namens census erstellen, das Ihre gesamte Arbeit an einem US-Zensusmodell für maschinelles Lernen enthält. Die erstellte Entität namens census ist ein Container für die tatsächlichen Implementierungen des Modells für maschinelles Lernen. 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 so eingerichtet, dass Sie für jedes Modell für maschinelles Lernen mehrere Versionen erstellen können. Die Begriffe können etwas verwirrend sein, da eine AI Platform-Modellressource kein Modell für maschinelles Lernen für sich allein ist. Ein AI Platform-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 bereitgestellte "Modell" besteht aus einem oder mehreren Artefakten, die vom Training mit gehosteten Frameworks, TensorFlow, scikit-learn oder XGBoost produziert 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 Vorhersagen anfordern und dabei nur einen Modellnamen angegeben, verwendet AI Platform 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 Platform 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

Die Kontingentrichtlinie von AI Platform gibt ein Limit von 100 Modellen pro Projekt vor und begrenzt die Gesamtzahl der Versionen (aus der Kombination aller Modelle) auf 200.

Parameter für die Modellbereitstellung

AI Platform benötigt einige Informationen zum Erstellen Ihrer Modellversion. Außerdem gibt es einige Optionen, die Sie konfigurieren können. In diesem Abschnitt werden beide Parameterarten beschrieben. Diese Parameter werden im Objekt Version definiert oder einfach dem Befehl gcloud ai-platform versions create hinzugefügt.

Versionsname
Ein Name für die neue Version, der unter den vorhandenen Versionsnamen des Modells noch nicht vergeben sein darf.
Beschreibung
Sie können eine Beschreibung zu Ihrer Version angeben. Derzeit wird die Beschreibung nur ausgegeben, wenn Sie die Versionsinformationen mit der API abrufen. Sie wird weder mit dem gcloud-Befehlszeilentool noch in der GCP Console angezeigt.
Bereitstellungs-URI
Sie müssen den URI des Cloud Storage-Speicherorts angeben, an dem Ihr SavedModel gespeichert ist. AI Platform ruft das Modell aus diesem Speicherort ab und stellt es bereit. Im Befehl gcloud ai-platform versions create heißt dieser Parameter --origin. 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 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 hierzu finden Sie im Abschnitt "Skalierung".

Staging-Bucket

Wenn Sie Ihr Modell mit dem gcloud-Befehlszeilentool bereitstellen, 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 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 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.

Am einfachsten stellen Sie sich einen Knoten als eine virtuelle Maschine (VM) vor, auch wenn er mit einem anderen Mechanismus als eine herkömmliche VM implementiert wird. Jeder Knoten wird mit einer festgelegten Menge an Rechenleistung und Speicher bereitgestellt. Ein Knoten hat auch ein Betriebssystemimage und Konfigurationseinstellungen für die Software, die für die Ausführung des Modells und den Erhalt 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 für Sie entstehenden Kosten errechnen sich aus der gesamten Knotennutzung pro Minute, basierend auf einer Rate pro Stunde. Zum Beispiel entstehen für die Ausführung von zwei Knoten über zehn Minuten dieselben Kosten wie für die Ausführung eines Knotens über zwanzig Minuten. Da die Online- und Batchvorhersagen jedoch unterschiedliche Knotenzuordnungen vornehmen, 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 wie folgt 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. 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 wie folgt 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 zur Folge haben, dass die Anfragen verworfen werden, bis die neuen Knoten initialisiert wurden, und/oder dass die Latenz in diesem Zeitraum ansteigt.

Mit der Option minNodes für die Modellversion können Sie eine Mindestanzahl an einsatzbereiten Knoten festlegen, um eine sofortige und durchgehende Bereitstellung zu gewährleisten. Diese Einstellung kann die Kosten erhöhen, da Ihnen diese Knoten berechnet werden, auch wenn keine Vorhersagen erstellt werden.

Beschränkungen der automatischen Skalierung

Die automatische Skalierung von AI Platform 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, stoppt der Dienst die Skalierung. Dies bedeutet, dass die Anzahl der Knoten, die Sie angeben haben, immer bereit steht. Dadurch entstehen Ihnen aber auch laufende Kosten. Sie sollten diese Option nur dann wählen, 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 zu verwendenden Knoten legen Sie über manualScaling im Objekt Version fest, das Sie an projects.models.versions.create übergeben.

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 gcloud-Tool Textdatei mit JSON-Instanzstrings oder TFRecord-Datei (kann komprimiert sein)
Online mit API-Aufruf JSON-Anfragenachricht
Online mit gcloud-Tool 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],
      ...
    ],
        ...
  ]
}

Wenn Ihr Modell nur eine einzige Eingabe annimmt, müssen Sie sie nicht in ein JSON-Objekt einschließen. Wenn Sie beispielsweise einen einzigen Tensor, in diesem Fall einen Vektor, mit vier Werten senden, müssen Sie dies nicht wie folgt 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 Binärdaten in Ihren Eingaben verwenden, müssen Sie für deren Darstellung die base64-Codierung verwenden. Folgende besondere Formatierungen sind erforderlich:

  • Der codierte String muss als JSON-Objekt mit einem einzelnen Schlüssel mit dem Namen b64 formatiert werden. 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: Nehmen Sie jede Instanz als Element in eine Liste auf und nennen Sie die Liste instances. Das obige JSON-Beispiel einer einfachen Dateninstanz wird auf diese Weise zu:

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

Wenn Sie gcloud ai-platform projects predict für Onlinevorhersageanfragen verwenden, übergeben Sie eine Datei im selben 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 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 besitzen, können Sie diese als Teil der Datenvorverarbeitung zuweisen.

Laufzeitversionen

Bei Veröffentlichung neuer Versionen von AI Platform kann es sein, dass Modelle, die für ältere Versionen entwickelt wurden, damit veraltet sind. Dies ist besonders relevant, wenn Sie eine effektive Modellversion verwenden, die bereits über einen längeren Zeitraum unverändert ist. Daher sollten Sie die AI Platform-Richtlinie zur Versionsverwaltung lesen und alle Details der AI Platform-Laufzeitversion kennen, mit der Sie Ihre Modellversionen trainieren.

Laufzeitversionen und Vorhersagen

Sie können eine unterstützte AI Platform-Laufzeitversion angeben, wenn Sie eine Modellversion erstellen. Diese wird dann als Standardeinstellung für die Modellversion übernommen. Wenn Sie keine explizite Angabe machen, erstellt AI Platform Ihre Version mit der aktuellen Standardlaufzeitversion 1.0.

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

Sie können keine Onlinevorhersagen von Modellen anfordern, die sich außerhalb von AI Platform 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 Platform verwendet in Zonen unterteilte Regionen, um den geografischen Standort von Computerressourcen zu definieren. Wenn Sie ein Modell für die Vorhersage mithilfe von AI Platform 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-Dienste, einschließlich Modelltraining und Online-/Batchvorhersage, finden Sie unter Regionen.

Vorhersage-Logging

Batchvorhersagen generieren Joblogs, die sich in Stackdriver Logging einsehen lassen. 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 erstellen. Entweder generieren alle Versionen eines Modells Logs für Onlinevorhersagen oder keine.

Sie können das Onlinevorhersage-Logging für ein Modell festlegen. Dazu stellen Sie onlinePredictionLogging auf "true" (in Python True) ein. Dies erfolgt in der Modellressource, die Sie zum Erstellen des Modells mit project.models.create verwenden. Wenn Sie Ihr Modell mit dem gcloud-Befehlszeilentool erstellen, fügen Sie beim Ausführen von --enable-logging das Flag gcloud ai-platform models create hinzu.

Vorhersagen von nicht bereitgestellten Modellen abrufen

Sie können Batchvorhersagen von einem Modell anfordern, das Sie nicht im AI Platform-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, sollten Sie diese explizit in Ihrer Jobanfrage angeben. Andernfalls verwendet AI Platform die Laufzeitversion 1.0.

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

Modell testen

Mit dem AI Platform-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

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...