Keras 3.0 ist da – für drei ML-Frameworks

Die High-Level-Schnittstelle Keras für die Entwicklung von Deep-Learning-Modellen spricht jetzt nicht nur mit TensorFlow, sondern auch mit JAX und PyTorch.

In Pocket speichern vorlesen Druckansicht
Roboter umrundet von Sprechblasen

(Bild: Erstellt mit Midjourney durch heise online)

Lesezeit: 2 Min.
Von
  • Robert Lippert

Die Entwickler des Deep-Learning-Projekts Keras haben die neue Version 3.0 ihrer Bibliothek vorgestellt. Wie sich bereits abzeichnete, liefert Keras 3.0 unter anderem eine neue Multi-Backend-Implementierung und kann mit TensorFlow, JAX und PyTorch umgehen. Keras selbst ist eine in Python geschriebene Open-Source-Bibliothek, die auf einer hohen Abstraktionsebene eine einheitliche Schnittstelle zu diversen Deep-Learning-Frameworks bietet und es damit erleichtern soll, Machine-Learning-Anwendungen zu entwickeln, insbesondere mit komplexeren neuronalen Netzen.

Mit Keras 3.0 können Anwender ihre Modelle dynamisch über verschiedene Backends wie Googles JAX und TensorFlow, oder das bei Meta entwickelte PyTorch konfigurieren. Das Projekt bietet eine gewisse Skalierbarkeit durch Modell- und Datenparallelismus, insbesondere mit JAX, und zudem mehr Flexibilität, da sich eine Reihe unterschiedlicher Datenquellen anbinden lassen, darunter tf.data.Dataset, PyTorch DataLoader, NumPy-Arrays und Pandas-Dataframes.

Weiterhin soll die neue Version 3.0 von Keras auch Lösungen für Herausforderungen im Umgang mit großen Modellen und ihrer Verteilung über mehrere Geräte hinweg bieten. Dazu ermöglicht Keras eine klare Trennung zwischen Modelldefinition, Trainingslogik und Sharding-Konfiguration. Für das Modell erscheint es dann so, als würden es auf einem einzigen Gerät laufen. Entwickler können anschließend benutzerdefinierte Sharding-Konfigurationen hinzufügen. Derzeit funktioniert das nur mit dem JAX-Backend, in Zukunft sollen die Funktionen aber auch TensorFlow und PyTorch zur Verfügung stehen.

Keras 3.0 ist mit wenigen Ausnahmen weitgehend rückwärtskompatibel zu Keras 2. Die meisten Benutzer müssen keine Änderungen an ihrem Code vornehmen, um ihre Skripte auch auf der neuen Version ausführen zu können. Größere Codebasen könnten jedoch einige Anpassungen erfordern, schreibt das Keras-Projektteam. Und wer für den Anfang noch bei Keras 2 bleiben möchte, kann dies entweder durch Nutzung von tf_keras als eigenständiges Paket oder durch Setzen einer Umgebungsvariablen in TensorFlow 2.16+ bewerkstelligen. Keras ist Open-Source, steht unter der Apache-2.0-Lizenz und ist bei GitHub verfügbar.

(ulw)