Preview: TensorFlow 2.3 soll Bottlenecks in der Pipeline umschiffen

Die Vorschau auf TensorFlow 2.3 gibt Entwicklern noch einmal die Möglichkeit, Änderungen vorzuschlagen.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: sdecoret/Shutterstock.com)

Von

Das Release des Machine-Learning-Frameworks TensorFlow 2.3 steht bevor – der nun veröffentlichte Release Candidate 0 führt als Vorschau zwei neue Mechanismen ein, die Engpässe (sogenannte Bottlenecks) in der Input-Pipeline erkennen und Ressourcen schonen sollen. Einige bekannte Bestandteile verlassen das experimentelle Stadium, so gilt zum Beispiel die API tf.distribute.TPUStrategy (vormals tf.distribute.experimental.TPUStrategy) nun offenbar als stabil.

Mit an Bord sind laut den Release Notes auf GitHub auch zwei neue Tools für den TF Profiler: Mithilfe eines Memory Profiler sollen Nutzer die Speichernutzung ihres Modells im zeitlichen Verlauf visuell darstellen können, und ein Python-Tracer soll Funktionsaufrufe in ihrem Ablauf verfolgen. Für die API zu den Preprocessing-Layern von Keras soll das kommende Release experimentelle Unterstützung erhalten – diese Prozesse betreffen insbesondere das Vektorisieren und Normalisieren der Daten im Vorfeld (tf.keras.layers.experimental.preprocessing.*), die API soll auch Composite-Tensor-Eingaben unterstützen.

TFLite unterstützt nun offenbar während der Umwandlung und Inferenzphase dynamische Formen (dynamic shapes), und das Kern-Entwicklerteam von TensorFlow hat wohl auch optionale Einbindung von Android und iOS für die CPU-Kernels namens XNNPACK vorgesehen. Optional sei mit dem neuen Release dann auch die Ausführung quantisierter Modelle auf dem Grafikprozessor (GPU) möglich, heißt es auf GitHub. Erst vor wenigen Tagen hatte das Kern-Entwicklerteam hinter TensorFlow ein neues experimentelles Modul für die TensorFlow-Privacy-Bibliothek veröffentlicht, das Analysetools mit dem Schwerpunkt auf differentieller Privatsphäre einbinden soll.

Nicht abwärtskompatibel ist die Erweiterung der Signaturen von tensorflow::data::IteratorBase::SaveInternal und tensorflow::data::IteratorBase::SaveInput um das Argument SerializationContext: Alle Unterklassen von IteratorBase müssen Entwickler offenbar zwingend aktualisieren. Nutzer des Automatisierungs- und Testingtools Bazel sollten beim Wechsel zur kommenden Ausgabe von TensorFlow bedenken, dass dafür nun eine Bazel-Version ab 3.1.0 notwendig ist.

Weitere Breaking Changes im Bereich tf.databetreffen zum Beispiel die C++-API, bei der einige Klassen virtualisiert werden, die Unterklassen sollen eine automatische Implementierung ermöglichen (dies betrifft IteratorBase::RestoreInternal, IteratorBase::SaveInternal und DatasetBase::CheckExternalState). Die Methode DatasetBase::IsStateful gilt nun offiziell als veraltet und entfällt zugunsten von DatasetBase::CheckExternalState.

Ebenfalls veraltete Überschreibungen von DatasetBase::MakeIterator und MakeIteratorFromInputElement hat das Kern-Entwicklerteam entfernt. Alle weiteren Breaking Changes und die kompletten Details zum Vorschau-Release von TensorFlow 2.3 finden Interessierte in der Liste der Neuerungen auf GitHub.

In einem Blogeintrag hat das TensorFlow-Team flankierend zum Vorschau-Release Anregungen zu verantwortungsbewusstem Umgang mit KI für Entwickler veröffentlicht. Modelle des Machine Learning konfrontieren Entwickler mit einer Reihe heikler Fragen jenseits der Performance und technischen Aspekte: Wie ist es um die Privatsphäre bestellt? Wen repräsentiert mein Datensatz, sind alle potentiellen Nutzer darin erfasst? Auch die Herkunft der Daten und möglicherweise enthaltene Diskriminierungen sollten unter die Lupe genommen werden. Das Kernteam bezieht sich bei seinen Empfehlungen auf die vor rund zwei Jahren veröffentlichten KI-Prinzipien von Google für ethisches Forschen und Entwickeln.

(sih)