Das vom Google Brain Team erstellte Framework TensorFlow 2.0 wird von Entwicklern, Forschern und Unternehmen verwendet, um Modelle für maschinelles Lernen zu trainieren und bereitzustellen, die wiederum Rückschlüsse auf Daten ziehen. Da nicht zuletzt in den vergangenen Jahren eine Reihe von Komponenten hinzukam, wurde die Architektur des Frameworks von den TensorFlow-Entwicklern überarbeitet.
Vereinfachter Modellbau
Das Schaubild zeigt die neu aufgesetzte Architektur des Frameworks, die sich in die Hauptbereiche Training und Deployment aufgliedert. Damit soll TensorFlow 2.0 die typischen Workflows für Machine-Learning optimieren. Einen wesentlichen Beitrag dazu leistet die benutzerfreundliche Python-Bibliothek Keras, die bereits in der Version 1.4 ein integrierter Bestandteil des Frameworks war. Um den Prozess insgesamt zu vereinfachen, wurde mit 2.0 Keras als ein API-Standard für maschinelles Lernen zur zentralen High-Level-API für das Erstellen und Trainieren von Modellen erklärt. Dafür konnten eine Reihe von APIs, wie zum Beispiel die API Slim und Layers, die als redundant galten, gestrichen werden.
Durch die Standardisierung der Austauschformate und Anpassung der APIs konnte mit 2.0 auch eine verbesserte Kompatibilität und Parität zwischen Plattformen und Komponenten erreicht werden. Ob auf Servern, Edge-Geräten oder im Internet, die neue Version des Frameworks soll dem Anwender eine einfache Bereitstellung der Modelle ermöglichen, – unabhängig von der verwendeten Sprache oder Plattform.
Mehr Performance
Da Keras mehrere Modellierungs-APIs (Sequential, Functional und Subclassing) anbietet, kann der Anwender immer die richtige Abstraktionsebene für sein Projekt auswählen. Die Optimierung von Keras soll nicht nur Einsteigern den Zugang zu TensorFlow erleichtern, sondern vor allem mehr Leistung, Geschwindigkeit und Skalierbarkeit zur Verfügung stellen.
2.0 führt jeden Python-Befehl sofort aus, was ebenso das Debuggen sowie das Konvertieren von Modellen in Diagramme für eine einfache Bereitstellung erleichtert. Gleichzeitig wurde die Fehlerbehandlung verbessert. Das heißt, wenn der Anwender eine Fehlermeldung erhält, werden die betreffende Zeile sowie der Dateiname bereitgestellt.
Variante wird mobil
Mit TF Lite 1.0 als „schlanke“ Variante kann der Anwender das Framework sowohl auf Endgeräten mit Android oder iOS sowie auf Embedded Devices nutzen. Dafür stehen eine Swift Version 0.2 für Apple-Entwickler und TensorFlow.js 1.0 für JavaScript zur Verfügung.
Es gilt zu beachten, dass TF Lite für den Einsatz bereits trainierter Modelle ausgerichtet ist, und nicht auf ein rechenintensives Training. Die jeweiligen Modelle lassen sich über eine C++-Schnittstelle laden und den Start des Interpreters auslösen. Dazu hält Android einen weiteren Java-Wrapper für die C++-API bereit.
Zudem kann TF Lite 1.0 auf dem hauseigenen Betriebssystem die Android Neural Networks API nutzen. Da keine direkte Anbindung zu CoreML auf iOS vorliegt, können TF-Modelle mit einem Konverter in CoreML transformiert werden. Für die Zukunft sind eine Reduktion der Modellgröße für den mobilen Einsatz sowie eine Optimierung der CPU-Performance geplant.
Mehr Privacy
Das neue Framework setzt auf zwei neue Bibliotheken, die beim Training eine verbesserte Privatsphäre leisten. Dazu sollen Modelle trainiert werden, die keine Rückschlüsse auf die genutzten Daten erlauben. Das geschieht, indem zum Beispiel ein Filter spezifische Details in Texten, Bildern oder anderen Daten entnimmt, die auf die jeweiligen Urheber verweisen.
Die mit TF Privacy erstellten Modelle, unterscheiden sich jedoch nicht von vergleichsweise anderen Modellen ohne TF Privacy. Bei TF Privacy handelt es sich um eine Python-Bibliothek, die auf TF aufbaut und Entwickler sowie Data Scientists adressiert. Wobei gesonderte Kenntnisse hinsichtlich der Einhaltung von Privatsphären sowie deren Methoden nicht notwendig sind.
Föderalismus
Mit der Vorstellung des „Federated Learning“ von Google im Jahre 2017 ist es nun möglich, dass verschiedene mobile Endgeräte ein gemeinsames Model erstellen, ohne alle Daten miteinander zu teilen. Das „föderale“ Konzept trägt einer begrenzten Leistung von Endgeräten Rechnung und zusätzlich dazu bei, eine verbesserte Privatsphäre zu gewährleisten.
TensorFlow Federated (TFF) ist mit der Version 2.0 ein Teil des Machine Learning Frameworks geworden. Auf diese Weise können verschiedene Endgeräte das gleiche Modell erhalten, das dann mit den jeweiligen lokalen Daten von allen trainiert wird. Wobei die Updates nicht einzeln, sondern aggregiert in das Modell zurückfließen.
Nach dem Training
Wenn der Anwender das Training abgeschlossen und abgespeichert hat, kann er es direkt in seiner Anwendung ausführen oder es mithilfe einer der Bibliotheken bereitstellen.
Serving: Eine Bibliothek, mit der Modelle über HTTP/ REST- oder gRPC/Protocol-Puffer bedient werden können.
Lite: Die „leichte“ Lösung für mobile und eingebettete Geräte realisiert eine Bereitstellung von Modellen auf Android-, iOS- und eingebetteten Systemen wie zum Beispiel einem Raspberry Pi und Edge-TPUs.
JS: Ermöglicht die Bereitstellung von Modellen in JavaScript-Umgebungen, zum Beispiel in einem Webbrowser oder auf Serverseite über Node.js. TensorFlow.js unterstützt auch das Definieren von Modellen in JavaScript und das Training direkt im Webbrowser mithilfe einer Keras-ähnlichen API.
www.tensorflow.org