Framework zur KI-Entwicklung Ein paar PS mehr für TensorFlow

Von Dipl. Betriebswirt Otto Geißler 4 min Lesedauer

Anbieter zum Thema

Die Open-Source-Softwarebibliothek TensorFlow unterstützt High-Level-APIs, über die mithilfe neuronaler Netze problemlos Modelle für maschinelles Lernen (ML) entwickelt werden können. Was leistet die aktuelle Version?

Ein Vorteil von TensorFlow ist seine große Open-Source-Community aus Entwicklern und Datenwissenschaftlern.(Bild:  TensorFlow)
Ein Vorteil von TensorFlow ist seine große Open-Source-Community aus Entwicklern und Datenwissenschaftlern.
(Bild: TensorFlow)

TensorFlow macht maschinelles Lernen (ML) einfach: Mit vorab trainierten Modellen, Daten und High-Level-APIs ist es selbst für den noch etwas unerfahrenen Entwickler einfach geworden, ML-Modelle zu erstellen. Mit TensorFlow lassen sich Modelle für Aufgaben wie beispielsweise die Verarbeitung natürlicher Sprache, Bilderkennung, Handschrifterkennung und verschiedene rechnerbasierte Simulationen wie partielle Differentialgleichungen entwickeln.

Charakteristika von TensorFlow

Das Framework ist eine Open-Source-Plattform für maschinelles Lernen mithilfe von Datenfluss-Diagrammen. Knoten im Diagramm bilden mathematische Operationen ab, während die Diagrammkanten die mehrdimensionalen Datenfelder (Tensoren) darstellen, die zwischen ihnen fließen.

Eine solche flexible Architektur ermöglicht es, Algorithmen für maschinelles Lernen als Diagramm verbundener Vorgänge zu beschreiben. Sie können auf GPUs, CPUs und TPUs und verschiedenen Plattformen trainiert bzw. ausgeführt werden, ohne dass Code neu geschrieben werden muss – von tragbaren Geräten über Desktops bis hin zu High-End-Servern.

Dies bedeutet, dass Programmierer mit unterschiedlichem Hintergrund dieselben Tool-Sets für die Zusammenarbeit verwenden können, was ihre Effizienz erheblich steigert. Das System wurde ursprünglich vom Google Brain-Team für die Durchführung von maschinellem Lernen und der Erforschung tiefer neuronaler Netze (DNNs) entwickelt und ist allgemein genug, um auch in einer Vielzahl anderer Bereiche anwendbar zu sein.

Funktionsweise von TensorFlow

Der TensorFlow-Workflow wird durch drei verschiedene Teile definiert: die Vorverarbeitung von Daten, der Aufbau eines Modells und das Training des Modells, um Vorhersagen zu treffen.

Das Framework gibt Daten als mehrdimensionales Array namens Tensoren ein und führt es auf zwei verschiedene Arten aus. Einerseits wird ein Rechendiagramm erstellt, das einen Datenfluss zum Trainieren des Modells definiert. Andererseits ist es im Eager-Execution-Modus möglich, TensorFlow sofort auszuführen, so wie es jeder Data Scientist beispielsweise von NumPy gewohnt ist.

Das Training erfolgt dann in der Regel auf einem Desktop oder in einem Rechenzentrum mithilfe der TensorFlow-Architektur. Durch die Platzierung von Tensoren auf der GPU wird der Prozess in beiden Fällen beschleunigt. Die trainierten Modelle lassen sich dann auf einer Reihe von Plattformen wie beispielsweise Desktops, Mobilgeräte oder der Cloud ausführen.

Ferner verfügt TensorFlow über eine Reihe von unterstützenden Funktionen. Dazu gehört beispielsweise TensorBoard, mit dem der Anwender den Trainingsprozess, die zugrunde liegenden Rechendiagramme und Metriken visuell überwachen kann. Für das Erstellen von Modellen häufiger Anwendungsfälle steht die High-Level-API Keras zur Verfügung. Dadurch ist es möglich, in kurzer Zeit von einer Idee zu einem Ergebnis zu gelangen.

Aktuelle TensorFlow-Version 2.15

In den vergangenen Jahren wurde das Framework regelmäßig erweitert und verbessert. Mittlerweile kann es nun auf allem laufen – von Hochleistungs-Computing-Clustern bis hin zu Mikrocontrollern. Letztere verwenden eine spezielle Variante, die sich TensorFlow Lite für Mikrocontroller nennt. Damit ist es möglich, maschinelles Lernen auf einem Gerät in ressourcenbeschränkten Umgebungen durchzuführen.

Der vielleicht größte Sprung nach vorn besteht mit Version 2.15 darin, die Eintrittsbarriere für neue Anwender, die mit TensorFlow unter Linux arbeiten, zu senken. Damit ist die Möglichkeit gemeint, dass TensorFlow und die Bibliotheken mithilfe eines einzigen Befehls installiert werden kann.

Zu den weiteren Optimierungen gehören Verbesserungen der Leistung für oneDNN unter Windows, ein Upgrade auf CUDA 12.2 mit erwarteten Leistungsverbesserungen für NVIDIA Hopper-Architektur-Grafikprozessoren und die Umstellung auf Clang 17 als Standard-C++-Compiler. TensorFlow 2.15 stellt außerdem tf.functionTypen vollständig zur Verfügung, darunter tf.types.experimental.AtomicFunction. Gemäß dem Anbieter bietet dies die schnellste Möglichkeit, TensorFlow-Berechnungen in Python durchzuführen.

Vor- und Nachteile von TensorFlow

In der Folge werden eine Reihe der Vor- und Nachteile von TensorFlow kurz vorgestellt:

Vorteile

Open-Source-Plattform: Jedem Anwender steht TensorFlow kostenlos zur Verfügung.

Skalierbarkeit: Die Nutzung von TensorFlow ist nicht auf ein bestimmtes Gerät beschränkt. Die Bibliothek wurde so definiert, dass ihre Bereitstellung nicht auf ein bestimmtes Gerät beschränkt ist.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Bibliotheksverwaltung: Dank der Unterstützung von Google wird TensorFlow regelmäßig aktualisiert.

Parallelität: TensorFlow nutzt für seine Funktionsweise GPU- und CPU-Systeme. Dem Anwender steht es frei, je nach Anforderung jede beliebige Architektur zu verwenden.

Architekturunterstützung: Die TensorFlow-Architektur verwendet TPU, was die Berechnung schneller macht als CPU und GPU. Modelle, die auf TPU basieren, können problemlos über Clouds bereitgestellt werden und arbeiten im Vergleich zu den beiden anderen auch schneller.

Kompatibilität: Das Framework ist mit vielen Programmiersprachen wie Python, C++, JavaScript usw. kompatibel. Dadurch kann der Anwender sich eine Umgebung aussuchen, in der er sich am wohlsten fühlt.

Diagramme: TensorFlow verfügt über eine gute Datenvisualisierung, was die Arbeit an neuronalen Netzen erleichtert.

Debugging: TensorBoard ermöglicht ein einfaches Debuggen von Knoten.

Nachteile

Häufige Updates: TensorFlow wird häufig aktualisiert, was für einen Anwender einen Mehraufwand bedeutet, es von Zeit zu Zeit zu deinstallieren und neu zu installieren, damit es an die neuesten Updates gebunden und mit diesen kombiniert werden kann.

Geschwindigkeit: Im Vergleich zu konkurrierenden Frameworks gilt TensorFlow als etwas langsamer.

Inkonsistent: Tensorflow enthält Homonyme als Namen seiner Inhalte, was es für einen Anwender nicht leicht macht, sich diese zu merken und zu verwenden. Ein einziger Name wird für verschiedene Zwecke benutzt und damit beginnt die Irritation.

(ID:49922878)