Verteiltes maschinelles Lernen mit TensorFlow auf einem Raspi-Clusterchen

Die Rechenlast fürs Training neuronaler Netze kann TensorFlow ab Version 2.3 auf mehrere Rechner verteilen. Zum Ausprobieren genügen ein paar Raspis.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Albert Hulm)

Lesezeit: 16 Min.
Von
  • Gerhard Völkl
Inhaltsverzeichnis

Das Training neuronaler Netze verschlingt so viel Rechenzeit, dass mit einer einzelnen CPU auf der Entwicklermaschine nur kleine KI-Experimente gelingen. Etwas größer darf das Netz werden, wenn man eine Grafikkarte verwendet, die vom KI-Framework TensorFlow unterstützt wird. Wer aber richtig große Netze lernen lassen will, muss Cluster mit vielen Rechnern für die Aufgabe zusammenschalten. Angemietete Cloudrechner, im Idealfall mit Spezialhardware wie Googles Tensor Processing Units (TPU), sind optimal. Die kosten aber pro Stunde. Die Abrechnung nach Zeit schreckt gerade in der Anfangsphase eines KI-Projekts ab, wenn Debugging und Konfiguration noch nicht abgeschlossen sind.

Eine günstigere Alternative, um das Lernen im Cluster auszuprobieren, findet sich in vielen Schubladen: Die KI-Algorithmen von TensorFlow laufen auch auf mehreren Raspberry Pis. Mit denen gelingt der Einstieg in die komplexe Welt hochparallelen Rechnens ohne viel Verdrahtung; als Vorwissen reichen Grundkenntnisse mit Keras. Zwei oder mehr übers WLAN vernetzte Minirechner genügen zum Üben (wir haben mit vier Raspis getestet) und verdeutlichen das Prinzip, ersetzen aber kein Rechenzentrum.

Was die vier Raspberry Pis in diesem Artikel lernen sollen, ist das Erkennen von mit Hand gezeichneten Bildern. Die Aufgabe ähnelt dem Spiel Montagsmaler: Ein Spieler bekommt einen beliebigen Begriff und zeichnet diesen mit möglichst wenigen Strichen. Der andere, in diesem Fall die Raspberry Pis, müssen erkennen, um welchen Begriff es sich handelt.