1. Übersicht
In diesem Lab verwenden Sie Vertex AI, um ein Modell mit tabellarischen Daten zu trainieren und einzusetzen. Vertex AI ist das neueste KI-Produkt von Google Cloud und aktuell als Vorabversion verfügbar.
Lerninhalte
Die folgenden Themen werden behandelt:
- Verwaltetes Dataset in Vertex AI hochladen
- Ein Modell mit AutoML trainieren
- Trainiertes AutoML-Modell auf einem Endpunkt bereitstellen und diesen Endpunkt verwenden, um Vorhersagen zu erhalten
Die Gesamtkosten für die Ausführung dieses Labs in Google Cloud betragen etwa 22$.
2. Einführung in Vertex AI
In diesem Lab verwenden Sie das neueste KI-Produkt von Google Cloud. Vertex AI vereint die ML-Angebote von Google Cloud in einer nahtlosen Entwicklungsumgebung. Bisher musste auf mit AutoML trainierte und benutzerdefinierte Modelle über verschiedene Dienste zugegriffen werden. Das neue Angebot kombiniert diese und weitere, neue Produkte zu einer einzigen API. Sie können auch vorhandene Projekte zu Vertex AI migrieren. Wenn Sie Feedback haben, finden Sie auf der Supportseite weitere Informationen.
Vertex AI umfasst viele verschiedene Produkte, die End-to-End-ML-Workflows unterstützen. In diesem Lab konzentrieren wir uns auf die unten hervorgehobenen Produkte: AutoML für tabellarische Daten, Prediction und Workbench.

3. Richten Sie Ihre Umgebung ein.
Sie benötigen ein Google Cloud Platform-Projekt mit aktivierter Abrechnung, um dieses Codelab auszuführen. Eine Anleitung zum Erstellen eines Projekts finden Sie hier.
Schritt 1: Compute Engine API aktivieren
Rufen Sie Compute Engine auf und wählen Sie Aktivieren aus, falls die API noch nicht aktiviert ist. Sie benötigen sie, um Ihre Notebook-Instanz zu erstellen.
Schritt 2: Vertex AI API aktivieren
Rufen Sie den Bereich „Vertex AI“ in der Cloud Console auf und klicken Sie auf **Vertex AI API aktivieren**.

Schritt 3: Vertex AI Workbench-Instanz erstellen
Klicken Sie im Bereich „Vertex AI“ der Cloud Console auf „Workbench“:

Klicken Sie dort unter Nutzerverwaltete Notebooks auf Neues Notebook:

Wählen Sie dann die aktuelle Version des TensorFlow Enterprise (mit LTS) Instanztyps ohne GPUs aus:

Übernehmen Sie die Standardoptionen und klicken Sie auf Erstellen.
Schritt 5: Notebook öffnen
Nachdem die Instanz erstellt wurde, klicken Sie auf JupyterLab öffnen:

Die Daten, die wir zum Trainieren unseres Modells verwenden, stammen aus diesem Dataset zur Erkennung von Kreditkartenbetrug. Wir verwenden eine Version dieses Datasets, die in BigQuery öffentlich verfügbar gemacht wurde.
4. Verwaltetes Dataset erstellen
In Vertex AI können Sie verwaltete Datasets für verschiedene Datentypen erstellen. Anschließend können Sie Statistiken zu diesen Datasets generieren und sie verwenden, um Modelle mit AutoML oder Ihrem eigenen benutzerdefinierten Modellcode zu trainieren.
Schritt 1: Dataset erstellen
Wählen Sie im Vertex-Menü in der Console Datasets aus:

In diesem Lab erstellen wir ein Modell zur Betrugserkennung, um zu ermitteln, ob eine bestimmte Kreditkartentransaktion als betrügerisch eingestuft werden sollte.
Geben Sie auf der Seite „Datasets“ einen Namen für das Dataset ein und wählen Sie dann Tabellarisch und Regression/Klassifizierung aus. Klicken Sie dann auf Erstellen , um das Dataset zu erstellen:

Es gibt mehrere Möglichkeiten, Daten in verwaltete Datasets in Vertex AI zu importieren:
- Eine lokale Datei von Ihrem Computer hochladen
- Dateien aus Cloud Storage auswählen
- Daten aus BigQuery auswählen
Hier laden wir Daten aus einer öffentlichen BigQuery-Tabelle hoch.
Schritt 2: Daten aus BigQuery importieren
Wählen Sie „Tabelle oder Ansicht aus BigQuery auswählen“ als Importmethode aus und kopieren Sie dann Folgendes in das Feld BigQuery-Tabelle: bigquery-public-data.ml_datasets.ulb_fraud_detection. Wählen Sie dann Weiter aus:

Nach dem Importieren des Datasets sollte etwa Folgendes angezeigt werden:

Optional können Sie auf Statistiken generieren klicken, um weitere Informationen zu diesem Dataset zu erhalten. Dies ist jedoch nicht erforderlich, bevor Sie mit dem nächsten Schritt fortfahren. Dieses Dataset enthält echte Kreditkartentransaktionen. Die meisten Spaltennamen wurden verschleiert, daher die Namen V1, V2 usw.
5. Ein Modell mit AutoML trainieren
Nachdem Sie ein verwaltetes Dataset hochgeladen haben, können Sie ein Modell mit diesen Daten trainieren. Wir trainieren ein Klassifizierungsmodell , um vorherzusagen, ob eine bestimmte Transaktion betrügerisch ist. Vertex AI bietet zwei Optionen für das Training von Modellen:
- AutoML: Trainieren Sie mit minimalem Aufwand und minimalen Fachkenntnissen zu maschinellem Lernen hochwertige Modelle.
- Benutzerdefiniertes Training: Führen Sie Ihre benutzerdefinierten Trainingsanwendungen in der Cloud mit einem der vorgefertigten Container von Google Cloud oder mit Ihrem eigenen Container aus.
In diesem Lab verwenden wir AutoML für das Training.
Schritt 1: Trainingsjob starten
Wählen Sie auf der Seite mit den Dataset-Details, auf der Sie im vorherigen Schritt aufgehört haben, rechts oben Neues Modell trainieren aus. Wählen Sie Klassifizierung als Ziel aus, lassen Sie AutoML für das Modelltraining ausgewählt und klicken Sie dann auf Weiter:

Geben Sie einen Namen für das Modell ein oder verwenden Sie den Standardnamen. Wählen Sie unter Zielspalte die Option Klasse aus. Dies ist eine Ganzzahl, die angibt, ob eine bestimmte Transaktion betrügerisch war (0 für nicht betrügerisch, 1 für betrügerisch).
Wählen Sie dann Weiter aus:

Scrollen Sie in diesem Schritt nach unten und klicken Sie auf Erweiterte Optionen, um sie zu maximieren. Da dieses Dataset stark unausgeglichen ist (weniger als 1% der Daten enthalten betrügerische Transaktionen), wählen Sie die Option AUC PRC aus, um Genauigkeit und Trefferquote für die weniger häufige Klasse zu maximieren:

Wählen Sie Weiter aus und fahren Sie mit dem letzten Schritt fort (Computing und Preise). Geben Sie hier 1 als Anzahl der Knotenstunden für Ihr Budget ein und lassen Sie die vorzeitige Beendigung aktiviert. Das Training Ihres AutoML-Modells für eine Rechenstunde ist meist ein guter Ausgangspunkt, um festzustellen, ob es eine Beziehung zwischen den von Ihnen ausgewählten Features und Labels gibt. Ausgehend davon können Sie Features anpassen und das Modell für weitere Stunden trainieren, um die Modellleistung zu verbessern. Wählen Sie dann Start training (Training starten) aus.
Sie erhalten eine E-Mail, wenn der Trainingsjob abgeschlossen ist. Das Training dauert etwas länger als eine Stunde, da Zeit für das Starten und Beenden von Ressourcen benötigt wird.
6. Bewertungsmesswerte für das Modell untersuchen
In diesem Schritt sehen wir uns an, wie gut unser Modell abgeschnitten hat.
Nachdem der Trainingsjob für Ihr Modell abgeschlossen ist, rufen Sie in Vertex AI den Tab Modelle auf. Klicken Sie auf das gerade trainierte Modell und sehen Sie sich den Tab Bewerten an. Hier gibt es viele Bewertungsmesswerte. Wir konzentrieren uns auf zwei: die Wahrheitsmatrix und die Featurewichtigkeit.
Schritt 1: Wahrheitsmatrix verstehen
Eine Wahrheitsmatrix gibt den Prozentsatz der Beispiele jeder Klasse in einem Testsatz an, den das Modell korrekt vorhergesagt hat. Bei einem unausgeglichenen Dataset wie dem, mit dem wir arbeiten, ist dies ein besserer Messwert für die Leistung unseres Modells als die Gesamtgenauigkeit.
Weniger als 1% der Beispiele in unserem Dataset waren betrügerische Transaktionen. Wenn die Genauigkeit unseres Modells also 99% beträgt, ist es sehr wahrscheinlich, dass es die nicht betrügerische Klasse nur in 99% der Fälle zufällig errät. Daher ist es hier besser, die Genauigkeit unseres Modells für jede Klasse zu betrachten.
Wenn Sie auf dem Tab Bewerten nach unten scrollen, sollte eine Wahrheitsmatrix angezeigt werden, die etwa so aussieht (die genauen Prozentsätze können variieren):

Die Wahrheitsmatrix zeigt, dass unser anfängliches Modell 85% der betrügerischen Beispiele in unserem Testsatz korrekt klassifizieren kann. Das ist ziemlich gut, insbesondere angesichts des erheblichen Ungleichgewichts in unserem Dataset. Als Nächstes könnten wir versuchen, unser Modell für weitere Rechenstunden zu trainieren, um zu sehen, ob wir diesen Wert von 85 % verbessern können.
Schritt 2: Featurewichtigkeit ansehen
Unter der Wahrheitsmatrix sollte ein Diagramm zur Featurewichtigkeit angezeigt werden, das so aussieht:

Hier sehen wir die Features, die unserem Modell bei der Vorhersage das größte Signal geliefert haben. Die Featurewichtigkeit ist eine Art von Explainable AI – ein Bereich, der verschiedene Methoden umfasst, um mehr Einblick in die Vorhersagen eines ML-Modells zu erhalten. Das hier gezeigte Diagramm zur Featurewichtigkeit wird als Aggregat berechnet, indem alle Vorhersagen unseres Modells für unseren Testsatz betrachtet werden. Es zeigt die wichtigsten Features für eine Reihe von Beispielen.
Dieses Diagramm wäre interessanter, wenn die meisten Features in unserem Dataset nicht verschleiert wären. Wir könnten beispielsweise feststellen, dass die Art einer Transaktion (Überweisung, Einzahlung usw.) der größte Indikator für Betrug war.
In einem realen Szenario könnten diese Featurewichtigkeitswerte verwendet werden, um unser Modell zu verbessern und mehr Vertrauen in seine Vorhersagen zu gewinnen. Es kann sinnvoll sein, beim nächsten Modelltraining die Features mit der geringsten Wichtigkeit zu entfernen oder zwei der wichtigeren Features zu einer Featureverknüpfung zu kombinieren und zu prüfen, ob das die Modellleistung verbessert.
Wir betrachten hier die Featurewichtigkeit für eine Reihe von Beispielen, können aber auch die Featurewichtigkeit für einzelne Vorhersagen in Vertex AI abrufen. Wie das geht, sehen wir uns an, nachdem wir unser Modell bereitgestellt haben.
7. Modell auf einem Endpunkt bereitstellen
Nachdem wir nun ein trainiertes Modell haben, ist der nächste Schritt, einen Endpunkt in Vertex AI zu erstellen. Einer Modellressource in Vertex AI können mehrere Endpunkte zugeordnet sein. Sie können den Traffic auch zwischen Endpunkten aufteilen.
Schritt 1: Endpunkt erstellen
Rufen Sie auf der Modellseite den Tab Bereitstellen und testen auf und klicken Sie auf Auf Endpunkt bereitstellen:

Geben Sie einen Namen für den Endpunkt ein, z. B. fraud_v1, lassen Sie den Zugriff auf Standard festgelegt und klicken Sie auf Weiter.
Übernehmen Sie die Standardeinstellungen für die Trafficaufteilung und den Maschinentyp, klicken Sie auf Fertig und dann auf Weiter.
Wir verwenden für diesen Endpunkt kein Modell-Monitoring. Sie können diese Option also deaktiviert lassen und auf Bereitstellen klicken. Die Bereitstellung des Endpunkts dauert einige Minuten. Sobald sie abgeschlossen ist, wird ein grünes Häkchen daneben angezeigt:

Sie sind ihr dicht auf den Fersen. Jetzt können Sie Vorhersagen von Ihrem bereitgestellten Modell abrufen.
8. Vorhersagen für unser bereitgestelltes Modell abrufen
Es gibt mehrere Möglichkeiten, Modellvorhersagen zu erhalten:
- Vertex AI-UI
- Vertex AI API
Wir zeigen Ihnen beide.
Schritt 1: Modellvorhersagen in der UI abrufen
Scrollen Sie auf der Modellseite, auf der Ihr Endpunkt angezeigt wird (wo wir im letzten Schritt aufgehört haben), nach unten zum Abschnitt Modell testen:

Hier hat Vertex AI Zufallswerte für jedes Feature unseres Modells ausgewählt, mit denen wir eine Testvorhersage abrufen können. Sie können diese Werte nach Belieben ändern. Scrollen Sie nach unten und wählen Sie Vorhersage aus.
Im Abschnitt Vorhersageergebnis der Seite sollte der vorhergesagte Prozentsatz Ihres Modells für jede Klasse angezeigt werden. Ein Konfidenzwert von 0.99 für die Klasse 0 bedeutet beispielsweise, dass Ihr Modell davon ausgeht, dass dieses Beispiel mit einer Wahrscheinlichkeit von 99% nicht betrügerisch ist.
Schritt 2: Modellvorhersagen mit der Vertex AI API abrufen
Die UI ist eine gute Möglichkeit, um zu prüfen, ob der bereitgestellte Endpunkt wie erwartet funktioniert. Wahrscheinlich möchten Sie aber Vorhersagen dynamisch über einen REST API-Aufruf abrufen. Um Ihnen zu zeigen, wie Sie hier Modellvorhersagen abrufen, verwenden wir die Vertex AI Workbench-Instanz, die Sie am Anfang dieses Labs erstellt haben.
Öffnen Sie als Nächstes die erstellte Notebook-Instanz und öffnen Sie über den Launcher ein Python 3-Notebook:

Führen Sie in Ihrem Notebook den folgenden Code in einer Zelle aus, um das Vertex AI SDK zu installieren:
!pip3 install google-cloud-aiplatform --upgrade --user
Fügen Sie dann eine Zelle in Ihrem Notebook hinzu, um das SDK zu importieren und einen Verweis auf den gerade bereitgestellten Endpunkt zu erstellen:
from google.cloud import aiplatform
endpoint = aiplatform.Endpoint(
endpoint_name="projects/YOUR-PROJECT-NUMBER/locations/us-central1/endpoints/YOUR-ENDPOINT-ID"
)
Sie müssen zwei Werte in der String endpoint_name oben durch Ihre Projektnummer und Ihren Endpunkt ersetzen. Ihre Projektnummer finden Sie im Dashboard des Projekts.
Ihre Endpunkt-ID finden Sie hier im Bereich „Endpunkte“ der Console:

Erstellen Sie schließlich eine Vorhersage für Ihren Endpunkt, indem Sie den folgenden Code in eine neue Zelle kopieren und ausführen:
test_instance={
'Time': 80422,
'Amount': 17.99,
'V1': -0.24,
'V2': -0.027,
'V3': 0.064,
'V4': -0.16,
'V5': -0.152,
'V6': -0.3,
'V7': -0.03,
'V8': -0.01,
'V9': -0.13,
'V10': -0.18,
'V11': -0.16,
'V12': 0.06,
'V13': -0.11,
'V14': 2.1,
'V15': -0.07,
'V16': -0.033,
'V17': -0.14,
'V18': -0.08,
'V19': -0.062,
'V20': -0.08,
'V21': -0.06,
'V22': -0.088,
'V23': -0.03,
'V24': 0.01,
'V25': -0.04,
'V26': -0.99,
'V27': -0.13,
'V28': 0.003
}
response = endpoint.predict([test_instance])
print('API response: ', response)
Sie sollten eine Vorhersage von etwa .67 für die Klasse 0 sehen. Das bedeutet, dass das Modell davon ausgeht, dass diese Transaktion mit einer Wahrscheinlichkeit von 67% nicht betrügerisch ist.
🎉 Das wars! 🎉
Sie haben gelernt, wie Sie Vertex AI für Folgendes verwenden:
- Verwaltetes Dataset hochladen
- Ein Modell für tabellarische Daten mit AutoML trainieren und bewerten
- Modell auf einem Endpunkt bereitstellen
- Vorhersagen für einen Modellendpunkt mit dem SDK für Vertex AI abrufen
Weitere Informationen zu den verschiedenen Bereichen von Vertex AI finden Sie in der Dokumentation.
9. Bereinigen
Wenn Sie das in diesem Lab erstellte Notebook weiterhin verwenden möchten, sollten Sie es deaktivieren, wenn Sie es nicht verwenden. Wählen Sie in der Workbench-UI in der Cloud Console das Notebook aus und klicken Sie dann auf Beenden.
Wenn Sie das Notebook vollständig löschen möchten, klicken Sie einfach rechts oben auf die Schaltfläche „Löschen“.
Wenn Sie den bereitgestellten Endpunkt löschen möchten, rufen Sie den Bereich Endpunkte in der Vertex AI-Console auf und heben Sie die Bereitstellung des Modells auf dem Endpunkt auf:

Wenn Sie den Storage-Bucket löschen möchten, rufen Sie im Navigationsmenü der Cloud Console „Storage“ auf, wählen Sie den Bucket aus und klicken Sie auf „Löschen“:
