Menü
Developer

No Code: Uber gibt Deep-Learning-Tool Ludwig als Open Source frei

Das auf TensorFlow basierende Werkzeug Ludwig vereinfacht das Trainieren und Testen von DL-Modellen – sogar ohne nennenswerten Programmieraufwand.

vorlesen Drucken Kommentare lesen 5 Beiträge

(Bild: Uber)

Neben der Programmiersprache Pyro und dem Horovod-Framework veröffentlichen die Entwickler von Uber nun ein weiteres Tool als frei verfügbare Open-Source-Version: Ludwig setzt auf dem Machine Learning Framework TensorFlow auf und soll die Arbeit mit Deep-Learning-Modellen (DL) deutlich vereinfachen. Ohne Programmieraufwand lässt sich Ludwig nutzen, um DL-Modelle zu trainieren und zu testen. Auch Nichtfachleuten eröffnet sich damit die Chance das Prototyping zu beschleunigen und schneller zu verbesserten Modellen zu kommen.

Data Scientists profitieren von Ludwig, in dem sie sich stärker auf die Entwicklung einer Deep-Learning-Architektur für ihr jeweiliges Einsatzgebiet konzentrieren können. Andererseits ist das DL-Tool von Uber wesentlich allgemeiner gestaltet als vergleichbare Librarys wie OpenCV oder PyText und bietet sich daher für ein breiteres Einsatzspektrum an. Ludwig soll erfahrenen Anwendern somit mehr Wahlfreiheit und Flexibilität bei der Anpassung an spezifische Anforderungen gewähren, wenn es darum geht, Deep-Learning-Modelle maßgeschneidert zu tunen.

Ein- und Ausgabeparameter für unterschiedliche Anwendungsszenarien lassen sich in der Modell-Konfigurationsdatei festlegen.

(Bild: Uber)

Das Tool verfolgt einen datentypbezogenen Ansatz bei der Modellentwicklung, mit spezifischen Encodern und Decodern für jeden Datentyp. Für jeden Typ können aber auch unterschiedliche Encoder und Decoder zum Einsatz kommen. So lässt sich beispielsweise Text sowohl mit Convolutional Neural Networks (CNN) als auch mit Recurrent Neural Networks (RNN) kodieren. Anwender können den gewünschten Encoder samt Hyperparameter direkt in der Modell-Konfigurationsdatei (im YAML-Format) festlegen, ohne dafür Code schreiben zu müssen.

Die vielfältige und flexible Encoder-Decoder-Architektur verschafft auch ungeübten Anwendern raschen Zugang zum Training unterschiedlichster Machine-Learning-Aufgaben – darunter Text- und Objektklassifizierung, Bilderkennung, maschinelle Übersetzung oder Zeitreihenprognosen. In der aktuellen Version bietet Ludwig Encoder und Decoder für gängige Datentypen wie Binärwerte, Fließkommazahlen, Kategorien, diskrete Sequenzen, Bilder, Texte und Zeitreihen, die sich bei Bedarf um vortrainierte Modelle ergänzen lassen. Uber will das Spektrum außerdem künftig mit weiteren Typen ausbauen. In Planung sind unter anderen Transformer, ELMo, BERT, DenseNet und FractalNet.

Darüber hinaus bietet Ludwig neben einer programmatischen API auch Dienstprogramme auf der Kommandozeile zum Training, Testen von Modellen und Einholen von Vorhersagen. Werkzeuge zur Evaluierung der Modelle sowie zum grafisch aufbereiteten Vergleich von Performance und Vorhersagen runden das Deep-Learning-Tool ab.

Weitere Informationen zu Ludwig finden sich im Blog-Beitrag zur offiziellen Freigabe des Tools als Open Source. Wer Interesse hat, an der Weiterentwicklung mitzuwirken oder Ludwig um Datentypen, Encoder beziehungsweise Decoder zu erweitern, erhält Hilfestellung im Developer Guide. Die komplette Dokumentation einschließlich einer Einleitung für Anwender sowie die Repositories stehen auf der Projektwebsite bei GitHub bereit. (map)