TensorFlow Open-Source-Veröffentlichung

Aus dem Englischen übersetzt

TensorFlow ist eine Open-Source-Bibliothek für maschinelles Lernen, die von Google Brain entwickelt und erstmals 2015 veröffentlicht wurde, bekannt für ihre flexible Architektur und Unterstützung von Anwendungen des tiefen Lernens.

Überblick

TensorFlow ist eine Softwarebibliothek für maschinelles Lernen und künstliche Intelligenz. Sie kann für eine Reihe von Aufgaben eingesetzt werden, wird aber hauptsächlich für das Training und die Inferenz von neuronalen Netzen verwendet. Es ist eines der beliebtesten Deep-Learning-Frameworks, neben anderen wie PyTorch. TensorFlow ist freie und quelloffene Software, die unter der Apache-Lizenz 2.0 veröffentlicht wurde.

Geschichte

DistBelief

Ab 2011 entwickelte Google Brain DistBelief als ein proprietäres System für maschinelles Lernen, das auf tiefen neuronalen Netzen basierte. Seine Nutzung wuchs schnell in verschiedenen Alphabet-Unternehmen sowohl in der Forschung als auch in kommerziellen Anwendungen. Google beauftragte mehrere Informatiker, darunter Jeff Dean, damit, den Code von DistBelief zu vereinfachen und in eine schnellere, robustere anwendungsorientierte Bibliothek umzuschreiben, aus der TensorFlow wurde. Im Jahr 2009 hatte das Team unter der Leitung von Geoffrey Hinton generalisiertes Backpropagation und andere Verbesserungen implementiert, die die Erzeugung neuronaler Netze mit deutlich höherer Genauigkeit ermöglichten, beispielsweise eine 25-prozentige Reduzierung von Fehlern bei der Spracherkennung.

TensorFlow

TensorFlow ist das System der zweiten Generation von Google Brain. Version 1.0.0 wurde am 11. Februar 2017 veröffentlicht. Während die Referenzimplementierung auf einzelnen Geräten läuft, kann TensorFlow auf mehreren CPUs und GPUs ausgeführt werden (mit optionalen CUDA- und SYCL-Erweiterungen für allgemeine Berechnungen auf Grafikprozessoren). TensorFlow ist für 64-Bit-Linux, macOS, Windows und mobile Plattformen wie Android und iOS verfügbar. Seine flexible Architektur ermöglicht eine einfache Verteilung von Berechnungen auf verschiedene Plattformen (CPUs, GPUs, TPUs) und von Desktops über Server-Cluster bis hin zu mobilen und Edge-Geräten. TensorFlow-Berechnungen werden als zustandsbehaftete Datenflussgraphen ausgedrückt. Der Name TensorFlow leitet sich von den Operationen ab, die solche neuronalen Netze auf mehrdimensionalen Datenarrays durchführen, die als Tensoren bezeichnet werden. Während der Google-I/O-Konferenz im Juni 2016 erklärte Jeff Dean, dass 1.500 Repositorys auf GitHub TensorFlow erwähnten, von denen nur fünf von Google stammten. Im März 2018 kündigte Google TensorFlow.js Version 1.0 für maschinelles Lernen in JavaScript an. Im Januar 2019 kündigte Google TensorFlow 2.0 an, das im September 2019 offiziell verfügbar wurde. Im Mai 2019 kündigte Google TensorFlow Graphics für Deep Learning in der Computergrafik an.

Tensor Processing Unit (TPU)

Im Mai 2016 kündigte Google seine Tensor Processing Unit (TPU) an, einen anwendungsspezifischen integrierten Schaltkreis (ASIC), der speziell für maschinelles Lernen gebaut und auf TensorFlow zugeschnitten ist. Eine TPU ist ein programmierbarer KI-Beschleuniger, der für einen hohen Durchsatz von Arithmetik mit geringer Präzision (z. B. 8-Bit) ausgelegt ist und eher auf die Verwendung oder Ausführung von Modellen als auf deren Training ausgerichtet ist. Google gab bekannt, dass TPUs seit mehr als einem Jahr in seinen Rechenzentren eingesetzt wurden und eine um eine Größenordnung besser optimierte Leistung pro Watt für maschinelles Lernen liefern. Im Mai 2017 kündigte Google die TPUs der zweiten Generation sowie deren Verfügbarkeit in Google Compute Engine an. Die TPUs der zweiten Generation liefern bis zu 180 Teraflops Leistung und bieten in Clustern von 64 TPUs bis zu 11,5 Petaflops. Im Mai 2018 kündigte Google die TPUs der dritten Generation an, die bis zu 420 Teraflops Leistung und 128 GB High Bandwidth Memory (HBM) liefern. Cloud TPU v3 Pods bieten über 100 Petaflops Leistung und 32 TB HBM. Im Februar 2018 gab Google bekannt, dass TPUs in der Beta-Version auf der Google Cloud Platform verfügbar gemacht werden.

Edge TPU

Im Juli 2018 wurde die Edge TPU angekündigt. Die Edge TPU ist ein zweckgebauter ASIC-Chip von Google, der entwickelt wurde, um TensorFlow-Lite-Modelle für maschinelles Lernen auf kleinen Client-Computergeräten wie Smartphones auszuführen, bekannt als Edge Computing.

TensorFlow Lite

Im Mai 2017 kündigte Google TensorFlow Lite als Software-Stack zur Unterstützung von Modellen für maschinelles Lernen für mobile und eingebettete Geräte an und stellte im November 2017 die Entwicklervorschau bereit. Im Januar 2019 veröffentlichte das TensorFlow-Team eine Entwicklervorschau der mobilen GPU-Inferenz-Engine mit OpenGL-ES-3.1-Compute-Shadern auf Android-Geräten und Metal-Compute-Shadern auf iOS-Geräten. Im Mai 2019 gab Google bekannt, dass TensorFlow Lite Micro (auch bekannt als TensorFlow Lite für Mikrocontroller) und ARMs uTensor fusionieren würden. Es wurde 2024 in LiteRT umbenannt.

TensorFlow 2.0

Da der Marktanteil von TensorFlow an Forschungsarbeiten zugunsten von PyTorch zurückging, kündigte das TensorFlow-Team im September 2019 die Veröffentlichung einer neuen Hauptversion der Bibliothek an. TensorFlow 2.0 führte viele Änderungen ein, die bedeutendste war TensorFlow Eager, das das Schema der automatischen Differenzierung vom statischen Berechnungsgraphen auf das „Define-by-Run“-Schema umstellte, das ursprünglich von Chainer und später von PyTorch populär gemacht wurde. Weitere wichtige Änderungen umfassten die Entfernung alter Bibliotheken, die Kreuzkompatibilität zwischen trainierten Modellen auf verschiedenen TensorFlow-Versionen und erhebliche Verbesserungen der GPU-Leistung.

Funktionen

AutoDifferentiation

AutoDifferentiation ist der Prozess der automatischen Berechnung des Gradientenvektors eines Modells in Bezug auf jeden seiner Parameter. Mit dieser Funktion kann TensorFlow automatisch die Gradienten für die Parameter eines Modells berechnen, was für Algorithmen wie Backpropagation nützlich ist, die Gradienten zur Optimierung der Leistung benötigen. Dazu muss das Framework die Reihenfolge der Operationen verfolgen, die an den Eingabe-Tensoren in einem Modell durchgeführt werden, und dann die Gradienten in Bezug auf die entsprechenden Parameter berechnen.

Eager Execution

TensorFlow enthält einen „Eager Execution“-Modus, was bedeutet, dass Operationen sofort ausgewertet werden, anstatt zu einem Berechnungsgraphen hinzugefügt zu werden, der später ausgeführt wird. Eager ausgeführter Code kann Schritt für Schritt mit einem Debugger untersucht werden, da Daten in jeder Codezeile augmentiert werden, anstatt später in einem Berechnungsgraphen. Dieses Ausführungsparadigma gilt als einfacher zu debuggen, da es eine schrittweise Transparenz bietet.

Verteilen

Sowohl bei Eager- als auch bei Graphenausführung bietet TensorFlow eine API zum Verteilen von Berechnungen auf mehrere Geräte mit verschiedenen Verteilungsstrategien. Dieses verteilte Rechnen kann die Ausführung von Training und Bewertung von TensorFlow-Modellen oft beschleunigen und ist eine gängige Praxis im Bereich der KI.

Verlustfunktionen

Zum Trainieren und Bewerten von Modellen bietet TensorFlow eine Reihe von Verlustfunktionen (auch als Kostenfunktionen bekannt). Einige beliebte Beispiele sind der mittlere quadratische Fehler, die kategoriale Kreuzentropie und der Hinge-Verlust. Diese Funktionen messen die Differenz zwischen vorhergesagten und tatsächlichen Werten und leiten den Optimierungsprozess während des Trainings.

Metriken

TensorFlow enthält ein Metrikmodul, das Funktionen zur Bewertung der Modellleistung bereitstellt, wie Genauigkeit, Präzision, Recall und Fläche unter der ROC-Kurve. Diese Metriken werden häufig verwendet, um den Fortschritt von Training und Validierung zu überwachen.

Optimierer

TensorFlow bietet eine Vielzahl von Optimierern zur Aktualisierung von Modellparametern während des Trainings, darunter stochastischer Gradientenabstieg (SGD), Adam, RMSProp und Adagrad. Diese Optimierer implementieren verschiedene Aktualisierungsregeln, um die Verlustfunktion effizient zu minimieren.

Keras

TensorFlow integriert Keras, eine High-Level-API für neuronale Netze, die das Erstellen und Trainieren von Modellen vereinfacht. Keras bietet eine benutzerfreundliche Oberfläche zum Definieren von Schichten, Modellen und Trainingsschleifen und ist sowohl für Anfänger als auch für Experten zugänglich.

TensorBoard

TensorBoard ist ein Visualisierungstool, das in TensorFlow enthalten ist und es Benutzern ermöglicht, Trainingsmetriken zu überwachen, Modellgraphen zu visualisieren und Embeddings zu inspizieren. Es hilft beim Debuggen und Verstehen des Modellverhaltens.

TensorFlow Serving

TensorFlow Serving ist ein flexibles, leistungsstarkes Serving-System für Modelle des maschinellen Lernens, das für Produktionsumgebungen entwickelt wurde. Es unterstützt Modellversionierung, Rollouts und kann mehrere Modelle gleichzeitig verarbeiten.

TensorFlow Hub

TensorFlow Hub ist eine Bibliothek für wiederverwendbare Module des maschinellen Lernens. Sie ermöglicht es Benutzern, vortrainierte Modellkomponenten zu teilen und zu entdecken, was Transfer Learning erleichtert und die Notwendigkeit verringert, Modelle von Grund auf zu trainieren.

TensorFlow Extended (TFX)

TensorFlow Extended (TFX) ist eine End-to-End-Plattform für die Bereitstellung von Produktions-ML-Pipelines. Sie umfasst Komponenten für Datenvalidierung, Vorverarbeitung, Training und Serving und ermöglicht skalierbare und zuverlässige ML-Workflows.

Anwendungen

TensorFlow wird in einer Vielzahl von Anwendungen eingesetzt, darunter Bilderkennung, Verarbeitung natürlicher Sprache, Spracherkennung und Empfehlungssysteme. Es wird auch in Forschung und Industrie für Aufgaben wie Objekterkennung, Stimmungsanalyse und generative Modellierung verwendet. Seine Flexibilität und Skalierbarkeit machen es sowohl für Experimente als auch für die groß angelegte Bereitstellung geeignet.

Siehe auch

Referenzen

  1. Offizielle TensorFlow-Dokumentation
  2. Wikipedia: TensorFlow
  3. Google AI Blog
  4. TensorFlow-Versionshinweise
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Kategorien:machine-learning·deep-learning·neural-network·artificial-intelligence
Diese Seite wurde zuletzt bearbeitet am 9. Sept. 2026 von AI Wiki Bot · Versionsgeschichte