PyTorch

Ihre Alternative zu TensorFlow?

31.08.2020
Von  und


Florian beschäftigt sich mit vielen Themen rund um Technologie und Management. Daneben betätigt er sich auch in sozialen Netzen.
Matt Asay ist Autor der US-Schwesterpublikation Infoworld.com.
Der TensorFlow-Konkurrent PyTorch hat sich zum „next big thing“ der Data Science gemausert. Das müssen Sie jetzt über das Machine Learning Framework wissen.

Das unter dem Banner von Facebook hervorgebrachte, quelloffene Machine-, beziehungsweise Deep Learning Framework PyTorch fußt auf der Programmiersprache Python. Dessen steigende Verbreitung und Popularität dürften auch dazu beigetragen haben, dass PyTorch derzeit einen Boom erlebt.

Das auf Python basierende MachineLearning Framework PyTorch will Googles TensorFlow die Vormachtstellung streitig machen. Lesen Sie, wie die Chancen stehen, dass es dazu kommt.
Das auf Python basierende MachineLearning Framework PyTorch will Googles TensorFlow die Vormachtstellung streitig machen. Lesen Sie, wie die Chancen stehen, dass es dazu kommt.
Foto: Skorzewiak - shutterstock.com

Der könnte dazu führen, dass das Framework seinen einst übermächtig wirkenden Hauptkonkurrenten TensorFlow bald überflügeln könnte. Zumindest wenn man dem Analysten Thomas Dinsmore Glauben schenkt:

PyTorch vs. TensorFlow

Bislang gilt TensorFlow, das im Jahr 2015 erschienen ist, als das Maß aller Dinge, wenn es um Machine Learning Frameworks im Unternehmensumfeld geht. Laut aktueller Zahlen von OpenHub liefern sich die Deep Learning Frameworks derzeit ein Kopf-an-Kopf-Rennen in Sachen Adoption. Angesichts des Release-Vorsprungs von knapp drei Jahren ist das als großer Erfolg für PyTorch zu werten. Dessen Nutzerbasis wächst derzeit exponentiell, was sich auch in der Job-Skill-Analyse des Data-Science-Experten Jeff Hale niederschlägt:

Foto: Jeff Hale

Dabei ist festzuhalten, dass Hales Analyse das relative Wachstum (beziehungsweise Nicht-Wachstum) im Verlauf der letzten zwölf Monate widerspiegelt. Die User Community hinter TensorFlow ist immer noch um ein Vielfaches größer als die von PyTorch. Allerdings konnte sich das quelloffene Deep Learning Framework im akademischen Umfeld quasi über Nacht von einer Randerscheinung zum State of the Art Tool aufschwingen. Es wäre also nicht vermessen, davon auszugehen, dass ein ähnlicher Umschwung auch im Business-Sektor bevorsteht - insbesondere beim Blick auf die Vorteile, die PyTorch innewohnen.

Wie PyTorch Einstiegsbarrieren senkt

Wie die Kollegen von InfoWorld zum Launch von PyTorch konstatierten, besteht einer der Hauptvorteile des Machine Learning Frameworks darin, dass es in das weitläufige Ökosystem von Python-Bibliotheken und -Software eingebettet ist. Das ermöglicht Softwareentwicklern auch, die Werkzeuge und Vorgehensweisen weiter zu nutzen, an die sie im Umgang mit Python gewohnt sind. Die Einstiegs- beziehungsweise Zugangsbarrieren werden dadurch maßgeblich abgesenkt. Unterfüttert wird das von einer ausgereiften und umfassenden Dokumentation sowie einer aktiven Entwickler-Community, die bei Problemen mit Rat und Tat zur Seite steht.

Ergänzt werden diese Vorteile durch das "computational graph setup" von PyTorch. Der Machine-Learning-Enthusiast Savan Visalpra erklärt die Unterschiede im Vergleich zu TensorFlow folgendermaßen: "TensorFlow basiert auf dem 'define-and-run'-Prinzip, PyTorch hingegen auf 'define-by-run'. In einem 'define and run' Framework werden Bedingungen und Iterationen innerhalb der Graph-Struktur definiert und anschließend ausgeführt. In einem 'define by run' Framework wird die Graph-Struktur 'on the fly' im Zuge der Berechnung definiert - was einen natürlicheren Vorgang der Softwareentwicklung darstellt."

Dieser Auffassung folgt auch Machine-Learning-Evangelist Dhiraj Kumar in seinem Blogpost und ergänzt, dass ein solch dynamisches Modell Data Scientists erlaube, "jede Berechnung einzusehen und zu jeder Zeit über alle Vorgänge informiert zu sein".

Ihr neues Machine Learning Framework?

Google hat sein Framework TensorFlow inzwischen mit Version 2.0 "eager by default" gemacht. Fortan wird der TensorFlow Code ausgeführt, wenn er definiert ist - zuvor wurden neue nodes und edges in einem Graphen erst in der nächsten Session hinzugefügt.

Das klingt im ersten Moment nach einer geeigneten Maßnahme, um in Sachen "ease of use" mit PyTorch gleichzuziehen. Allerdings ist der "Eager"-Modus als Grundeinstellung gesetzt - was TensorFlow-Nutzer vor die Wahl stellt: Entweder einfache Nutzung und mehr Arbeit vor dem Deployment oder kein "Eager"-Modus. Zwar erwartet die Nutzer von PyTorch eine ähnliche Situation - allerdings dürfte das Opt-In-Modell von PyTorch den meisten Usern besser munden - wie Horace He in seinem Blogpost anmerkt. Darüber hinaus ist TensorFlows "Eager"-Mode derzeit noch von Performance-Problemen geplagt, die jedoch im Laufe der Zeit behoben werden dürften.

TensorFlow ist derzeit immer noch das Maß der Dinge für Unternehmen, wenn es um Machine Learning Frameworks geht. Die niedrigen Einstiegs- und Zugangsbarrieren von PyTorch und nicht zuletzt seine Verbindung zur derzeit populärsten Programmiersprache der Welt für Machine-Learning-Zwecke sind jedoch ideale Voraussetzung dafür, dass die Adoptionsraten auch im Unternehmensumfeld weiter steigen.

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.com.