Rückblick: Google Cloud AutoML ist ein wirklich automatisiertes maschinelles Lernen

Wenn Sie versuchen, das beste Modell für maschinelles Lernen für Ihre Daten automatisch zu trainieren, gibt es AutoML oder automatisiertes maschinelles Lernen und dann Google Cloud AutoML. Google Cloud AutoML ist ein Schnitt darüber. 

In der Vergangenheit habe ich H2O Driverless AI, Amazon SageMaker und Azure Machine Learning AutoML überprüft. Die fahrerlose KI führt automatisch Feature-Engineering und Hyperparameter-Tuning durch und behauptet, ebenso wie Kaggle-Master zu funktionieren. Amazon SageMaker unterstützt die Hyperparameteroptimierung. Azure Machine Learning AutoML durchsucht automatisch Funktionen, Algorithmen und Hyperparameter für grundlegende Algorithmen für maschinelles Lernen. Mit einer separaten Azure Machine Learning-Funktion zur Optimierung von Hyperparametern können Sie bestimmte Hyperparameter für ein vorhandenes Experiment durchsuchen.

Diese sind gut, aber Google Cloud AutoML geht auf eine ganz andere Ebene und passt die kampferprobten, hochgenauen tiefen neuronalen Netze von Google an Ihre getaggten Daten an. Anstatt beim Training von Modellen aus Ihren Daten von vorne zu beginnen, implementiert Google Cloud AutoML das automatische Deep-Transfer-Lernen (dh es beginnt mit einem vorhandenen Deep-Neural-Netzwerk, das auf anderen Daten trainiert wurde) und die Suche nach neuronalen Architekturen (dh es findet die richtige Kombination aus zusätzlichen Daten) Netzwerkschichten) für die Übersetzung von Sprachpaaren, die Klassifizierung natürlicher Sprachen und die Bildklassifizierung.

In jedem Bereich verfügt Google bereits über einen oder mehrere vorab geschulte Dienste, die auf tiefen neuronalen Netzen und riesigen Mengen gekennzeichneter Daten basieren. Diese funktionieren möglicherweise unverändert für Ihre Daten, und Sie sollten dies testen, um Zeit und Geld zu sparen. Wenn diese Dienste nicht das tun, was Sie benötigen, können Sie mit Google Cloud AutoML ein Modell erstellen, das dies tut, ohne dass Sie wissen, wie Sie Transferlernen durchführen oder sogar neuronale Netze erstellen.

Transferlernen bietet zwei große Vorteile gegenüber dem Training eines neuronalen Netzwerks von Grund auf. Erstens werden für das Training viel weniger Daten benötigt, da die meisten Schichten des Netzwerks bereits gut trainiert sind. Zweitens läuft es viel schneller, da nur die letzten Ebenen optimiert werden.

Google Cloud AutoML-Übersetzung

So können Sie beispielsweise in ein oder zwei Stunden mit dem Transferlernen von Google Cloud AutoML Translation gegen 1.000 zweisprachige Satzpaare trainieren. Das anpassbare neuronale Basisnetz, NMT, benötigte Hunderte bis Tausende von Stunden, um für jedes Sprachpaar auf einer großen Anzahl von CPUs und GPUs von Grund auf neu zu trainieren. Beachten Sie, dass die stündliche Gebühr für die Schulung eines benutzerdefinierten Übersetzungsmodells derzeit 76 US-Dollar beträgt.

Im Anfängerhandbuch für AutoML-Übersetzungen werden die Grundlagen der Funktionen von Google Cloud AutoML Translation und die Gründe für die Verwendung erläutert. Im Wesentlichen wird ein vorhandenes allgemeines Übersetzungsmodell für einen Nischenzweck verfeinert. Sie müssen keine Schulungen für die allgemeine Übersetzung der rund hundert Sprachen durchführen, die Google bereits unterstützt. Sie müssen jedoch das Transferlernen ausführen, wenn Sie ein Übersetzungsnetzwerk für spezielle Vokabeln oder die Verwendung erstellen möchten . Ein Beispiel, das Google erwähnt, ist die Übersetzung zeitkritischer Finanzdokumente in Echtzeit. Für die allgemeine Übersetzung werden nicht immer die richtigen Kunstbegriffe für die Finanzierung verwendet.

 Das Einrichten des Trainings für Google Cloud AutoML Translation erfolgt in fünf Schritten, wie in den folgenden Screenshots gezeigt, sobald Sie eine Datei mit Satzpaaren vorbereitet haben. Ich habe die 8.720 Englisch-Spanisch-Paare für App-Eingabeaufforderungen verwendet, die von Google im AutoML-Übersetzungs-Schnellstart bereitgestellt wurden und als tabulatorgetrennte Wertedatei formatiert sind. Google Cloud AutoML Translation unterstützt auch das XML-basierte TMX-Format (Translation Memory eXchange) für Satzpaare.

Sie werden feststellen, dass es keine Möglichkeit gibt, die Hardware (CPUs, GPUs, TPUs und Speicher) zu steuern, die zur Durchführung des Trainings verwendet wird. Das ist bewusst: Das Training wird das verwenden, was es braucht. Es gibt auch keine Optionen zum Steuern der dem Modell hinzugefügten neuronalen Netzwerkschichten, der Anzahl der auszuführenden Epochen oder der Stoppkriterien.

Sobald das Modelltraining abgeschlossen ist, können Sie die Verbesserung (wenn alles gut geht) des BLEU-Scores gegenüber dem Basismodell anzeigen und versuchen, mit dem Modell Vorhersagen zu treffen. Dieses Training dauerte 0,9 Stunden (weniger als vorhergesagt) und kostete 68,34 USD.

Google Cloud AutoML Natürliche Sprache

Die Google Natural Language API verwendet Text und sagt Entitäten, Gefühle, Syntax und Kategorien voraus (aus einer vordefinierten Liste). Wenn Ihr Problem mit der Textklassifizierung nicht zu einem dieser Probleme passt, können Sie einen beschrifteten Satz von Anweisungen angeben und mit Google Cloud AutoML Natural Language einen benutzerdefinierten Klassifizierer erstellen.

Um AutoML Natural Language für das Training einzurichten, müssen Sie Ihre Daten beschaffen, beschriften, als CSV-Datei vorbereiten und das Training ausführen. Sie können auch die AutoML Natural Language-Benutzeroberfläche verwenden, um die Daten hochzuladen und zu kennzeichnen, wenn Sie dies bevorzugen.

Nach Abschluss des Modelltrainings können Sie die Präzisions-, Rückruf- und Verwirrungsmatrix des Modells anzeigen. Sie können auch den Bewertungsschwellenwert für den gewünschten Kompromiss zwischen Präzision und Rückruf anpassen. Optimieren Sie den Rückruf, um falsch negative Ergebnisse zu minimieren. Optimieren Sie die Präzision, um Fehlalarme zu minimieren.

Dieses Training dauerte 3,63 Stunden (ungefähr wie vorhergesagt) und kostete 10,88 USD.

Google Cloud AutoML Vision

Die Google Cloud Vision-API klassifiziert Bilder in Tausende vordefinierter Kategorien, erkennt einzelne Objekte und Gesichter in Bildern und findet und liest gedruckte Wörter in Bildern. Mit Google Cloud AutoML Vision können Sie Ihre eigene Liste von Kategorien definieren und trainieren. Einige reale Anwendungen umfassen das Erkennen von Schäden an Windkraftanlagen anhand von Drohnenfotos und das Klassifizieren von Wertstoffen für die Abfallentsorgung.

Um einen Google Cloud AutoML Vision-Datensatz einzurichten, müssen Sie mindestens 100 Bilder für jede Kategorie erstellen und in einer CSV-Datei kennzeichnen. Alle Bilder und die CSV-Datei müssen sich in einem Google Cloud Storage-Bucket befinden.

Ich habe dieses Training auf maximal eine Stunde eingestellt, was für bis zu 10 Modelle pro Monat kostenlos ist. Ich war angenehm überrascht, gute Ergebnisse aus dem kostenlosen Training zu sehen, und machte mir nicht die Mühe, das Training fortzusetzen, um die Präzision und den Rückruf zu verbessern.

Google Cloud AutoML bietet praktische Optionen für die Durchführung gezielter Übersetzungen, die benutzerdefinierte Textklassifizierung und die benutzerdefinierte Bildklassifizierung. Jede dieser APIs funktioniert gut, wenn Sie genügend genau beschriftete Daten angeben und viel weniger Zeit und Geschick benötigen als das Erstellen eines eigenen neuronalen Netzwerkmodells oder sogar eines eigenen Transfer-Lernmodells. Mit Google Cloud AutoML erstellen Sie tatsächlich TensorFlow-Modelle, ohne unbedingt etwas über TensorFlow, Python, neuronale Netzwerkarchitekturen oder Schulungshardware zu wissen.

Es gibt viele Möglichkeiten, die Datenaufbereitung falsch zu machen, aber zum Glück suchen alle drei APIs nach den häufigsten Fehlern, z. B. nach zu wenigen oder zu vielen Exemplaren für eine Kategorie. Die nach dem Training angezeigten Diagnosen geben Ihnen eine gute Vorstellung davon, wie gut Ihr Modell funktioniert, und Sie können die Modelle einfach optimieren, indem Sie mehr beschriftete Trainingsdaten hinzufügen und das Training erneut ausführen.

- -

Kosten: Google Cloud AutoML-Übersetzung: Das Training kostet 76,00 USD pro Stunde, die Übersetzung 80 USD pro Million Zeichen nach den ersten 500.000. Google Cloud AutoML Natural Language: Das Training kostet 3,00 USD pro Stunde, die Klassifizierung 5 USD pro tausend Textdatensätze nach den ersten 30.000. Google Cloud AutoML Vision: Das Training kostet nach der ersten Stunde 20 US-Dollar pro Stunde, nach der ersten Stunde 3 US-Dollar pro tausend Bilder. 

Plattform: Google Cloud Platform