Schnelles KI-Prototyping mit Google Cloud AutoML Vision

Keine Kommentare

Bei klassischen Machine-Learning-(ML-)Projekten beschäftigen sich Data Scientists häufig längere Zeit (mehrere Monate) mit der Entwicklung eines ML-Modells. Dabei werden hohe Kosten verursacht und die Zeit, bis ein erstes Modell zur Verfügung steht, ist verhältnismäßig lang. Hinzu kommt die Zeit, bis das Modell in der Produktion eingesetzt wird. Zu diesem Zeitpunkt weiß man auch noch nicht, ob sich ein ML-Ansatz überhaupt für den vorliegenden Use Case eignet.

Hier kann der Service AutoML (Automated Machine Learning) der Google Cloud Platform (GCP) verwendet werden. AutoML (siehe auch diesen Blogpost) eignet sich somit, wenn sich ein Betrieb einen Vorteil von der Benutzung von Machine Learning verspricht, aber noch keine bis wenige Berührungspunkte damit hatte. Mit AutoML kann zügig (in wenigen Wochen) und ohne viel Vorwissen ein erster Prototyp entwickelt werden. Dies wollen wir im Folgenden anhand eines Anwendungsbeispiels vorstellen.

Use Case: Qualitätskontrolle in der Verpackungsindustrie

Wir haben uns mit der automatischen Qualitätskontrolle in der industriellen Fertigung beschäftigt. Ziel war es, für einen Kunden einen ML-Prototyp zu entwerfen. Dieser sollte in  die bestehende Fließbandproduktion integriert werden und beschädigte Verpackungen erkennen, um diese auszusortieren. Als Grundlage hat der Kunde uns ca. 50.000 gelabelte Bilder zur Verfügung gestellt, wovon wir ca. die Hälfte für das Training verwendet haben. Da es sich bei unserer Problemstellung um eine binäre Klassifikation handelt, wurden die Bilder in correct und damaged unterteilt. Bedingt durch den Einsatz am Fließband gab es zusätzlich die Anforderung, dass die Klassifizierung und Übertragung nicht länger als 600 ms in Anspruch nehmen dürfen. Folgend sieht man eine symbolhafte Darstellung des Use Cases.

Symbolhafte Darstellung des Use Cases

Quelle: Denis Stalz-John

Umsetzung auf der Google Cloud mit AutoML Vision

Die Google Cloud Platform (GCP) bietet eine Vielzahl von Cloud-Computing-Services an. Hierzu zählen beispielsweise Datenbanklösungen, Infrastruktur-Modernisierung und AI- & ML-Services. Zum Zeitpunkt der Veröffentlichung dieses Blogposts bietet Google zudem 300 $ Free Credits an.

In der GCP haben wir folgende Schritte ausgeführt:

  • Daten-Upload
  • Daten-Labeling
  • Modell-Training
  • Modell-Validierung
  • Deployment

Für AutoML und AI Platform (Unified) gibt es eine Weboberfläche, die die oben genannten Schritte ermöglicht. Folgend wird die AI Platform (Unified) mit einem einfachen Beispiel gezeigt, wobei die gezeigten Teile sehr ähnlich zu dem Gegenstück von AutoML sind. Sobald man ein Google-Cloud-Projekt erstellt hat und zu der AI Platform (Unified) navigiert, sieht man folgendes Bild. Um nun ein Modell zu erstellen, wird zunächst ein Datensatz erstellt.

Startseite der AI Platform (Unified)

Startseite der AI Platform (Unified)

Daten-Upload

Für diesen Datensatz werden Bilder benötigt, die man ganz einfach über den Browser hochladen kann.

Bilder import Tab der GCP

Daten Upload

Sobald Bilder von der lokalen Festplatte ausgewählt wurden, werden sie hochgeladen und in der Oberfläche angezeigt. Beim Hochladen wird automatisch ein Cloud Storage Bucket erstellt, der unten in der Oberfläche benannt werden kann, bevor man den Datensatz erstellt. Leider können über die AutoML-Oberfläche zum Zeitpunkt der Veröffentlichung dieses Posts nur 500 Bilder auf einmal hochgeladen werden. Um dieses Problem zu umgehen, können Bilder direkt in einen Cloud Storage Bucket hochgeladen werden. Bei dieser Möglichkeit muss der GCP-Nutzer allerdings selber eine CSV-Datei erstellen, die die Bilder in Klassen aufteilt. Diese Datei wird dann in Verbindung mit dem GCS Bucket von AutoML genutzt, um den Datensatz zu erstellen.

Bilder upload der GCP

Daten Upload

Daten-Labeling

Sofern die Bilder wie hier gezeigt über die UI hochgeladen werden, müssen diese danach noch gelabelt werden. Um dies zu erreichen, wird ein neues Label erstellt und auf alle neuen Bilder angewendet. Eine weitere Möglichkeit ist es, die Bilder mit einer CSV-Datei aus einem Google Cloud Storage Bucket in den Datensatz zu laden und automatisch in Klassen aufzuteilen.

Bilder labeln in der GCP

Daten-Labeling

Modell-Training

Der vorherige Schritt wird nun für jede Bildklasse wiederholt; sobald sich alle Daten im Datensatz befinden, kann das Training gestartet werden.

Budget festlegen

Modell-Training

Ein Budget (node hours) wird für das Training, das bei unseren Tests zwischen 4 und 12 Stunden gedauert hat, festgelegt. Nach Abschluss stellt Google in der GCP eine Analyse des produzierten Modells zur Verfügung. Diese Analyse beinhaltet verschiedene in der Deep-Learning-Umgebung übliche Metriken, um ein Modell zu evaluieren.

Modell-Validierung

GCP Evaluations Tab

Modell-Validierung

In dem oben zu sehenden Evaluate-Tab wird die Analyse des Modells angezeigt. Hier werden verschiedene Metriken zur Verfügung gestellt, um die Qualität des Modells zu bewerten. Über den Confidence Threshold kann man einstellen, wie sicher sich das Modell sein muss, um ein Bild einer Klasse zuzuordnen. Im gezeigten Beispiel muss sich das Modell zu mindestens 50 % sicher sein, um ein Bild als correct zu klassifizieren.

Deployment

Dieses Modell kann in der GCP deployt werden oder eine Modell-Datei kann in fünf verschieden Formaten heruntergeladen werden. Der Vorteil des lokalen Hostings liegt bei niedrigeren Latenzen, was für eine schnelle und effiziente Fließbandproduktion essenziell ist. Außerdem fallen keine laufenden Kosten innerhalb der GCP für den Kunden an.

Export Optionen des Modells

Export Optionen

Disclaimer: Zu Beginn des Projekts war AutoML noch ein alleinstehendes Produkt in der GCP. Mittlerweile ist AutoML jedoch Teil der AI Platform (Unified) auf der GCP. Die hier gezeigten Screenshots entstammen der Variante auf der AI Platform (Unified), jedoch sollte es keine großen Unterschiede bei den gezeigten Schritten geben.

Unblackboxing mit Explainable AI

Ein Nachteil von AutoML ist, dass das erzeugte Modell eine Black Box ist und somit auch nicht erweiterbar oder modifizierbar ist. Als Nutzer muss man Google vertrauen, dass bspw. die besten Hyperparameter gewählt werden. Allerdings kann es durch Explainable AI besser verstanden werden.

In unserem Use Case möchte man eine visuelle Begründung der Vorhersage erhalten. Es wäre also wünschenswert zu wissen, welche Pixel auf dem Bild jeweils für oder gegen spezifische Klassifizierungen sprechen. Ist bspw. der Bildhintergrund ausschlaggebend für die Entscheidung?

Fazit

Abschließend können wir sagen, dass AutoML mit der AI Platform (Unified) dabei unterstützen kann, einen Prototyp eines Machine-Learning-Modells in sehr kurzer Zeit, mit begrenzten Ressourcen und ohne Expertenwissen zu erstellen. Somit kann ein ML Use Case schnell validiert werden. Die Weboberfläche ist benutzerfreundlich sowie minimalistisch und übersichtlich gestaltet. Einziger Nachteil: Zum aktuellen Zeitpunkt hat AutoML eher Black-Box-Charakter, der jedoch kontinuierlich mit neuen Explainable-AI-Services abgeschwächt wird.

Give it a try.

Ressourcen

 

 

 

Mitglieder für unsere Gilde gesucht! Jetzt der Gilde als Cloud Native Developer und Consultant (w/d/m) beitreten

 

 

Über 1.000 Abonnenten sind up to date!

Die neuesten Tipps, Tricks, Tools und Technologien.
Jede Woche direkt in deine Inbox.

Kostenfrei anmelden und immer auf dem neuesten Stand bleiben!
(Keine Sorge, du kannst dich jederzeit abmelden.)

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.