Maschinenlernen: Google macht TensorFlow in Version 0.8 verteilt einsetzbar

TensorFlow (Grafik: Google)

Die seit vergangenem Jahr bei GitHub als Open Source verfügbare Software kann nun auf “hunderten von Maschinen” laufen. Dadurch reduziere sich der Lernprozess für einige Modelle von Wochen auf Stunden. Das kommt auch Entwicklern zugute, die TensorFlow auf eigener Infrastruktur einsetzen möchten.

Google hat TensorFlow 0.8 verfügbar gemacht und führt mit dem neuen Release der Trainingssoftware für Maschinenlernen auch die Möglichkeit ein, diese auf mehreren Maschinen laufen zu lassen. Dadurch reduziere sich die benötigte Zeit in günstigen Fällen von Wochen auf Stunden, erklären die Google-Entwickler. Eine weitere wichtige Neuerung ist, dass die erstmals im November vergangenen Jahrs vorgestellte und kurz darauf als Open Source verfügbar gemachte Software nun von Entwicklern auch auf ihrer eigenen Hardware genutzt werden kann.

Google (Bild: Google)

Die Möglichkeit verteilten Rechnens war eine der von den Nutzern am häufigsten geforderten Verbesserungen und verspricht einen gewaltigen Schritt nach vorne. Da für Maschinenlernen meist gewaltige Datenmengen verarbeitet werden müssen, um Muster und die dahinter stehenden Regeln zu erkennen, bietet es sich an, diese Prozesse auf mehreren vernetzten Rechnern statt auf einem laufen zu lassen. Das geht nicht nur schneller, sondern macht den Entwicklungsprozess auch günstiger.

Obwohl noch nicht einmal ein halbes Jahr alt, ist TensorFlow im Bereich Maschinenlernen bereits die am häufigsten heruntergeladene Software bei Github und das Projekt, von dem es 2015 die meisten Forks gab. Die Aufnahme bei der Entwickler-Community ist also hervorragend, da wundert es nicht, dass Schritte unternommen werden, um noch mehr in die Breite gehen zu können.

TensorFlow (Grafik: Google)

Erst im Februar hatte Google ebenfalls auf Github mit TensorFlow Serving ein Open-Source-Projekt gestartet, das es Entwicklern erleichtern soll, Maschinenlernen in ihre Anwendungen zu integrieren. Die Software unter der Apache-2.0-Lizenz ist in C++ geschrieben. Auf einem Server mit 16-Kern-Xeon-Prozesser lassen sich laut Google damit pro Sekunde 100.000 Queries abarbeiten. TensorFlow Serving soll es Entwicklern ermöglichen, die mit TensorFlow erstellten Modelle in der Praxis anwendbar zu machen und anzupassen. Dazu finden sich ebenfalls auf GitHub Tutorials. TensorFlow Serving soll Google zufolge künftig auch auf andere Bibliotheken für Maschinenlernen angepasst werden können und auch die Möglichkeit bieten, mehrere Algorithmen und Datenmodelle auszuprobieren, ohne die einmal bewährte Architektur und funktionierende APIs zu verändern.

Zu interessanten Projekten, für die bereits auf TensorFlow zurückgegriffen wurde, gehören etwa Bemühungen um eine Software, die Kindern dabei helfen soll, chinesische Schriftzeichen korrekt zu schreiben. Dazu wurde die Software zunächst einmal dafür trainiert, korrekt aussehende, aber nicht existierende Schriftzeichen zu “erfinden”. Ein weiteres, auf den ersten Blick weniger praxisrelevantes aber gut beschriebenes Projekt ist der Versuch, mit Hilfe von TensorFlow einer Maschine das Spiel Pong beizubringen

Ende Januar hatte Microsoft das Deep-Learning-Toolkit CNTK bei GitHub unter der MIT-Open-Source-Lizenz zur Verfügung gestellt. Es wurde seitdem immerhin über 5000 Mal heruntergeladen und richtet sich in erster Linie an Entwickler, die an Lernmodellen für Sprach- und Bilderkennung arbeiten. CNTK ist schon seit April 2015 Open Source, stand aber zuvor nur auf Microsofts Repository CodePlex bereit. Damit waren Nutzer an Microsofts Academic License gebunden. Alternativ steht Interessenten bei Microsoft das Azure Machine Learning für diverse Zwecke und in mehreren Ausprägungen zur Verfügung. Ein anschauliches Beispiel dafür, was mit den Microsoft-Werkzeugen bereits möglich ist, ist die Site How-old.net.