Machine Learning

Was ist neu an TensorFlow 2.0?

| Autor / Redakteur: Otto Geißler / Nico Litzel

Seit der Einführung von TensorFlow im November 2015 wurde das Framework mehr als 41 Millionen Mal heruntergeladen. Weltweit arbeiten über 1.800 Entwickler daran.
Seit der Einführung von TensorFlow im November 2015 wurde das Framework mehr als 41 Millionen Mal heruntergeladen. Weltweit arbeiten über 1.800 Entwickler daran. (Bild: ©Skórzewiak - stock.adobe.com)

Googles TensorFlow 2.0, eines der weltweit beliebtesten Open Source Frameworks für maschinelles Lernen, wurde unter anderem mit einer neuen Architektur, einfacherem Model Building mit Keras, vereinfachten API und neuer TF-Lite-1.0-Version umfassend aktualisiert.

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.

Die neu aufgesetzte Architektur des Frameworks teilt sich in die Hauptbereiche Training und Deployment auf.
Die neu aufgesetzte Architektur des Frameworks teilt sich in die Hauptbereiche Training und Deployment auf. (Bild: TensorFlow.org)

Um den Prozess insgesamt zu vereinfachen, wurde mit TensorFlow 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 TensorFlow 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.

TensorFlow 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.

TensorFlow wird mobil

Mit TensorFlow 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 TensorFlow Lite 1.0 auf dem hauseigenen Betriebssystem die Android Neural Networks API nutzen. Da keine direkte Anbindung zu CoreML auf iOS vorliegt, können TensorFlow-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 für TensorFlow

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 TensorFlow aufbaut und Entwickler sowie Data Scientists adressiert. Wobei gesonderte Kenntnisse hinsichtlich der Einhaltung von Privatsphären sowie deren Methoden nicht notwendig sind.

TensorFlow als 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:

TensorFlow Serving: Eine TensorFlow-Bibliothek, mit der Modelle über HTTP/ REST- oder gRPC/Protocol-Puffer bedient werden können.

TensorFlow Lite: Die „leichte“ Lösung von TensorFlow 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.

TensorFlow.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.

TensorFlow 2.0 unterstützt zusätzliche Sprachen. Einige werden von einer breiteren Community gepflegt. Dazu gehören C, Java, Go, C#, Rust und Julia.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46027772 / Künstliche Intelligenz)