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. 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:
By the end of this year, PyTorch will have more active contributors than TF
— Thomas W. Dinsmore (@thomaswdinsmore) January 29, 2020
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:
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".
- Dr. Rudi Schäfer, Adesso SE
„Der Ansatz sollte nicht sein, erst zwei Jahre lang eine Datenplattform aufzubauen und erst dann über ML-Cases zu sprechen. Es gilt eine gute Balance zu finden, indem man erste konkrete Cases betrachtet und überlegt, was man dazu von einer imaginären, zentralen Datenplattform benötigt. Welche Anforderungen hat man – auch hinsichtlich Operationalisierung und Data Governance – und wie kommt man da hin? Auf diese Art und Weise kann man mit ersten ML-Cases bereits Mehrwerte schaffen und behält gleichzeitig das Gesamtbild im Auge und kann sich diesem nähern. Das kann ein Prozess sein, manchmal ist die Antwort aber auch eine schlüsselfertige Lösung. Und ab und an ist die Quintessenz der Gespräche über Strategie und Datenrealität im Unternehmen tatsächlich, Dinge erst in Ordnung zu bringen und den KI-Case hinten anzustellen.“ - Hendrik Nieweg, Device Insight
„Man muss die Themen nicht immer mit den neuesten ML-Methoden angehen. Oft lassen sich auch mit mathematisch-statistischen Ansätzen bereits erhebliche Verbesserungspotenziale erzielen. Vor allem in der Produktion beobachten wir bei der Umsetzung von KI zudem häufig ein Flughöhenproblem, welches die eigentliche Herausforderung darstellt. Wenn man nämlich nur ein Data-Scientist-Team losschickt, was sich um die Bits and Bytes auf dem Shopfloor kümmern soll, ist es fast immer zum Scheitern verurteilt. Man muss viel Toleranz auf den verschiedensten Ebenen schaffen und in gemeinsamen Teams daran arbeiten. Von Shopfloor zu Topfloor müssen das integrierte Teams sein. Und das umzusetzen, ist sehr schwierig.“ - Björn Heinen, INFORM DataLab
„Der Hype – Hauptsache KI – hat auch Schattenseiten: Überhöhte Hoffnungen wurden bereits enttäuscht. Teils stoßen wir im Management auf verbrannte Erde, weil erste, kopflose Projekte wegen schlechter Rahmenbedingungen oder fehlender Skillsets gescheitert sind. Mal sollte ein einzelner Data Scientist pauschal alles richten, ein experimentierendes Start-up oder sogar Studenten sollten den Use Case bearbeiten oder mangelhafte Datenqualität wurde ignoriert. Hier besteht Aufklärungsbedarf: Das Management muss zwar den Support für KI-Projekte gewährleisten. Gleichzeitig ist es aber die Pflicht des Dienstleisters (intern oder extern), die strategischen Aspekte eines Projekts und der Datenarchitektur im Blick zu halten und transparent zu machen.“ - Dr. Susan Wegner, Lufthansa Industry Solutions
„Unternehmen müssen auch ihre Datenhausaufgaben machen – den Schritt, den niemand gerne hören möchte. Wie schafft ein Unternehmen eine einheitliche Datenplattform? Wie sieht meine Data Governance aus und wie implementiere ich diese, damit mein Unternehmen auf einer hoch qualitativen Standarddatenbasis aufsetzen kann und sich Use Cases auch rechnen? Andernfalls besteht die Gefahr, dass ein Unternehmen jedes Mal wieder mit entsprechendem wiederholten Aufwand von vorne beginnt. Ganz wichtig ist, dass die Geschäftsleitung mit einer klaren strategischen Ausrichtung dahintersteht. Ansonsten hat man viele kleine Cases, die in einzelnen Bereichen gut funktionieren, sich aber nicht skalieren lassen und dadurch die Kosten in die Höhe treiben.“ - Alexander Britz, Microsoft
„Projekte, die rein auf die Technologie fokussiert sind, sind oft zum Scheitern verurteilt. Wichtig ist zunächst einmal ein klar definiertes Unternehmens- oder ein Prozessziel. Mit welchen Instrumenten, also zum Beispiel KI oder Big Data Analytics, ist zunächst erstmal zweitrangig. Wer sich auf eine Technologie fokussiert, fokussiert sich auch automatisch auf die Daten, die dafür nötig sind. Wenn dann die Frage auftaucht, ob es sich lohnt, diese Daten zu erheben, ist das ein Zeichen dafür, dass am Anfang der Business Case nicht sauber festgelegt wurde. Liegt hingegen ein klares Unternehmensziel vor, kann man sehr schnell beantworten, was einem die Datengenerierung wert ist.“
Ihr neues Machine Learning Framework?
Google hat sein Framework TensorFlow mit Version 2.0 "eager by default" gemacht. Seitdem 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 ideale Voraussetzungen dafür, dass die Adoptionsraten auch im Unternehmensumfeld weiter steigen. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.com.