Was ist TensorFlow? Googles Open-Source-Bibliothek für maschinelles Lernen im Fokus

Mit TensorFlow bietet Google den Entwicklern eine Python-freundliche Open-Source-Bibliothek für numerische Berechnungen, die maschinelles Lernen um ein Vielfaches schneller und vor allem einfacher machen kann. [...]

Mit diesem Framework lässt sich so mancher Vorgang vereinfachen (c) Pixabay.com

Maschinelles Lernen ist eine sehr komplexe Disziplin. Doch Modelle maschinellen Lernens zu implementieren, ist heute weit weniger schwierig als früher – dank gewisser Machine Learning Frameworks wie Googles TensorFlow, die den Prozess der Datenakquirierung, das Trainieren von Modellen, die Prognosen und die Entwicklung zukünftiger Ergebnisse stark vereinfachen.

Von Google Brain entwickelt, ist Tensor Flow eine Open-Source-Bibliothek für numerische Berechnungen und großangelegtes maschinelles Lernen. Es vereint die Vorgänge des maschinellen Lernens mit Modellen und Algorithmen des tieferen Lernens (aka neurolnale Netzwerke) und macht sie sich über eine gemeinsame Metapher zu Nutze. Dabei benutzt es Python, um eine geeignete Front-End-API zur Programmierung neuer Anwendungen mit dem Framework zu gewährleisten und führt diese Anwendungen dann in leistungsstarkem C++ aus.

TensorFlow kann tiefe neuronale Netzwerke zur handschriftlichen Ziffernklassifizierung, Bilderkennung, Worteinbettung, Sequenz-zu-Sequenz-Modelle maschineller Übersetzung, die Verarbeitung natürlicher Sprache und PDE (partielle Diefferenzialgleichungen) basierte Simulationen trainieren und betreiben. Zusätzlich unterstützt es Produktionsvorhersagen im großen Stil, wobei es die selben Modelle verwendet wie für das Training selbst.

So funktioniert TensorFlow

Mit TensorFlow können Entwickler Datenflussdiagramme erstellen, die beschreiben, wie sich Daten durch ein Diagramm oder eine Reihe von Verarbeitungsknoten bewegen. Jeder Knoten im Graphen stellt eine mathematische Operation dar, und jede Verbindung oder Kante zwischen den Knoten ist ein mehrdimensionales Datenarray oder „Tensor“.

TensorFlow bietet dem Programmierer all das in der Sprache Python. Python ist recht einfach zu lernen, es lässt sich leicht damit arbeiten und bietet praktische Möglichkeiten, um auszudrücken, wie High-Level-Abstraktionen miteinander kombiniert werden können. Während Knoten und Tensoren in TensorFlow Python-Objekte sind, funktionieren TensorFlow-Anwendungen selbst wie PythonAnwendungen.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Der YouTube-Chanel Cognitive Class erklärt TensorFlow kurz und verständlich.

Die eigentlichen mathematischen Operationen werden jedoch nicht in Python ausgeführt: Die Sammlungen unterschiedlicher Transformationen, die über TensorFlow verfügbar sind, werden als leistungsstarke C++-Binärdateien geschrieben. Python lenkt nur den Datenverkehr zwischen den einzelnen Teilen und bietet High-Level Programmierabstraktionen, um sie miteinander zu verbinden.

TensorFlow-Anwendungen können auf fast jedem Gerät ausgeführt werden, was durchaus angenehm ist: auf einem lokalen Computer, einem Cluster in der Cloud, auf iOS- und Android-Geräten, CPUs oder GPUs. Wenn Sie die Google-eigene Cloud verwenden, können Sie TensorFlow auf Googles spezieller TensorFlow Processing Unit (TPU) „Silicon“ ausführen. Die daraus resultierenden Modelle von TensorFlow können wiederum auf fast jedem Gerät bereitgestellt werden.

Die Vorteile von TensorFlow

Der einzig große Vorteil, den TensorFlow zur Entwicklung von maschinellem Lernen bietet, ist Abstraktion. Statt sich mit den wesentlichen Details der Implementierung von Algorithmen aufzuhalten oder geeignete Wege finden zu müssen, um die die Ausgabe einer Funktion an die Eingabe einer anderen zu knüpfen, kann sich der Entwickler auf die Gesamtlogik der Anwendung konzentrieren. TensorFlow kümmert sich dann hinter den Kulissen um die Details.

TensorFlow bietet zusätzliche Annehmbarkeiten für Entwickler, die eine Einsicht in TensorFlow-Apps haben oder diese debuggen müssen. Mit dem fähigen Ausführungsmodus können Sie jede Diagrammoption getrennt und transparent bewerten bzw. ändern, anstatt den gesamten Graphen als ein einzelnes undurchsichtiges Objekt konstruieren und gleichzeitig noch bewerten zu müssen. Mit der TensorBoard-Visualisierungssuite können Sie die Funktionsweise von Diagrammen über ein interaktives, webbasiertes Dashboard prüfen und grafisch darstellen.

Und natürlich enthält TensorFlow viele Vorteile durch die Unterstützung durch Google, denn Google hat nicht nur die schnelle Entwicklung des Projekts gefördert, sondern auch viele wichtige Angebote rund um TensorFlow geschaffen, die die Bereitstellung erleichtern und einfacher zu nutzen sind: das oben erwähnte TPU Silikon für eine beschleunigte Leistung in der GoogleCloud, ein Online-Hub für den Austausch von Modellen, die mit dem Framework erstellt wurden, In-Browser- und Mobile-freundliche Verkörperungen des Frameworks und vieles mehr.

Einen Vorbehalt gibt es jedoch: Manche Details der TensorFlow-Implementierung machen es schwierig, für einige Trainingsaufgaben vollkommen deterministische Modell– Trainingsergebnisse zu erhalten. Manchmal unterscheidet sich ein Modell, das auf einem System trainiert wird, leicht von einem Modell, das auf einem anderen trainiert wurde, selbst dann, wenn es genau die gleichen Daten enthält. Die Gründe dafür sind schwierig zu erfassen – z.B. wie und wo Zufallszahlen gesetzt werden oder wie bestimmte nicht-deterministische Verhaltensweisen bei Verwendung von GPUs funktionieren. Es ist allerdings möglich, diese Probleme zu umgehen, und das TensorFlow-Team erwägt noch mehr Kontrollen, um den Determinismus in einem Workflow weiter zu beeinflussen.

TensorFlow und die Konkurrenz

TensorFlow konkurriert mit einer Vielzahl anderer Machine-Learning-Frameworks: PyTorch, CNTK und MXNet sind beispielsweise drei wichtige Frameworks, die zumeist die selben Bedürfnisse bedienen. Im Folgenden zeigen wir Ihnen, wie sie sich gegen TensorFlow abheben.

  • PyTorch ist nicht nur mit Python gebaut worden, es weist außerdem viele weitere Ähnlichkeiten mit TensorFlos auf: Es enthält hardwarebeschleunigte Komponenten, ein hochgradig interaktives Entwicklungsmodell nach dem Motto „Design-As-You-Go“ und viele weitere nützliche Komponenten. PyTorch ist im Allgemeinen eine bessere Wahl für die schnellere Entwicklung von Projekten, die in kürzester Zeit ausgeführt werden müssen, doch TensorFlow setzt sich auf lange Sicht für größere Projekte und komplexere Arbeitsabläufe durch.
  • CNTK, das „Cognitive Toolkit“ von Microsoft, nutzt wie TensorFlow eine Diagrammstruktur, um den Datenfluss sichtbar zu machen, konzentriert sich jedoch am meisten auf die Erstellung von tiefenlernenden, neuronalen Netzwerken. CNTK verarbeitet viele neuronale Netzwerkaufgaben schneller und verfügt über eine breitere Palette von APIs (Python, C++. C#, Java), doch ist es nicht so einfach zu erlernen oder zu implementieren wie TensorFlow.
  • Apache MXNet, das von Amazon als führendes Deep-Learning-Framwork für AWS eingeführt wurde, kann fast linear über mehrere GPUs und mehrere Maschinen gleichzeitig skaliert werden. Es ebenfalls eine breite Palette von Sprach-APIs wie Python, C++. Scala, R, JavaScript, Julia, Perl und Go, wobei seine nativen APIs in der Verwendung nicht so angenehm sind wie TensorFlow.

Serdar Yegulalp* ist Senior Writer bei InfoWorld.


Mehr Artikel

Die Teilnehmer des Roundtables (v.l.n.r.): Roswitha Bachbauer (CANCOM Austria), Thomas Boll (Boll Engineering AG), Manfred Weiss (ITWelt.at) und Udo Schneider (Trend Micro). (c) timeline/Rudi Handl
News

Security in der NIS2-Ära

NIS2 ist mehr ein organisatorisches Thema als ein technisches. Und: Von der Richtlinie sind via Lieferketten wesentlich mehr Unternehmen betroffen als ursprünglich geplant, womit das Sicherheitsniveau auf breiter Basis gehoben wird. Beim ITWelt.at Roundtable diskutierten drei IT-Experten und -Expertinnen über die Herausforderungen und Chancen von NIS2. […]

Christoph Mutz, Senior Product Marketing Manager, AME, Western Digital (c) AME Western Digital
Interview

Speicherlösungen für Autos von morgen

Autos sind fahrende Computer. Sie werden immer intelligenter und generieren dabei jede Menge Daten. Damit gewinnen auch hochwertige Speicherlösungen im Fahrzeug an Bedeutung. Christoph Mutz von Western Digital verrät im Interview, welche Speicherherausforderungen auf Autohersteller und -zulieferer zukommen. […]

Andreas Schoder ist Leiter Cloud & Managend Services bei next layer, Alexandros Osyos ist Senior Produkt Manager bei next layer. (c) next layer
Interview

Fokus auf österreichische Kunden

Der österreichische Backup-Experte next layer bietet umfassendes Cloud-Backup in seinen Wiener Rechenzentren. Im Interview mit ITWelt.at erläutern Andreas Schoder, Leiter Cloud & Managed Services, und Alexandros Osyos, Senior Produkt Manager, worauf Unternehmen beim Backup achten müssen und welche Produkte und Dienstleistungen next layer bietet. […]

Miro Mitrovic ist Area Vice President für die DACH-Region bei Proofpoint.(c) Proofpoint
Kommentar

Die Achillesferse der Cybersicherheit

Eine immer größere Abhängigkeit von Cloud-Technologien, eine massenhaft mobil arbeitende Belegschaft und große Mengen von Cyberangreifern mit KI-Technologien haben im abgelaufenen Jahr einen wahrhaften Sturm aufziehen lassen, dem sich CISOS ausgesetzt sehen. Eine große Schwachstelle ist dabei der Mensch, meint Miro Mitrovic, Area Vice President DACH bei Proofpoint. […]

Brian Wrozek, Principal Analyst bei Forrester (c) Forrester
Interview

Cybersicherheit in der Ära von KI und Cloud

Die Bedrohungslandschaft im Bereich der Cybersicherheit hat sich zu einer unbeständigen Mischung von Bedrohungen entwickelt, die durch zunehmende Unsicherheit und steigende Komplexität bedingt ist. Zu diesem Schluss kommt der Report »Top Cyber-security Threats In 2024« von Forrester. ITWelt.at hat dazu mit Studienautor Brian Wrozek ein Interview geführt. […]

Alexander Graf ist Geschäftsführer der Antares-NetlogiX Netzwerkberatung GmbH. (c) Antares-NetlogiX Netzwerkberatung GmbH
Interview

Absicherung kritischer Infrastrukturen

NIS2 steht vor der Tür – höchste Zeit, entsprechende Maßnahmen auch im Bereich der Operational Technology (OT) zu ergreifen. »Wenn man OT SIEM richtig nutzt, sichert es kritische Infrastrukturen verlässlich ab«, sagt Alexander Graf, Experte für OT-Security (COSP) und Geschäftsführer der Antares-NetlogiX Netzwerkberatung GmbH, im ITWelt.at-Interview. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*