10 Punkte von GN⁺ 2023-11-29 | 3 Kommentare | Auf WhatsApp teilen
  • Die offizielle Veröffentlichung von Keras 3.0 wurde bekannt gegeben; zuvor durchlief es fünf Monate öffentlichen Beta-Tests
  • Keras 3 ist eine vollständig neu geschriebene Version, mit der sich Keras-Workflows auf JAX, TensorFlow und PyTorch ausführen lassen
  • Bietet neue Funktionen für das Training und die Bereitstellung großer Modelle

Willkommen bei Multi-Framework-Machine-Learning

  • Zu den Vorteilen von Keras zählen hohe Entwicklungsgeschwindigkeit, gute User Experience, API-Design und einfache Fehlersuche
  • Ein bewährtes Framework, das von 2,5 Millionen Entwicklern gewählt wurde und in groß angelegten ML-Systemen wie Waymo-Selbstfahrfahrzeugen und der YouTube-Empfehlungsengine eingesetzt wird
  • Keras 3 bietet zusätzliche Vorteile wie die Optimierung der Modellleistung, mehr Optionen im Modell-Ökosystem sowie Unterstützung für großskalige Modellparallelisierung und Datenparallelisierung

Keras-3-API auf JAX, TensorFlow und PyTorch verfügbar

  • Keras 3 implementiert die vollständige Keras-API und ist auf TensorFlow, JAX und PyTorch nutzbar
  • Jedes Keras-Modell, das nur integrierte Layer verwendet, funktioniert sofort auf allen unterstützten Backends
  • Bestehende tf.keras-Modelle können ebenfalls direkt auf JAX und PyTorch ausgeführt werden

Multi-Framework-Layer, -Modelle und -Metriken schreiben

  • Mit Keras 3 lassen sich Komponenten erstellen, die auf allen Backends identisch funktionieren, etwa Custom Layer oder vortrainierte Modelle
  • Über den Namespace keras.ops werden eine backendübergreifend kompatible NumPy-API sowie neuronale netzspezifische Funktionen bereitgestellt
  • Solange nur keras.ops verwendet wird, funktionieren Custom Layer und Metriken mit demselben Code auf JAX, PyTorch und TensorFlow

Neue verteilte API für großskalige Datenparallelisierung und Modellparallelisierung

  • Bietet eine neue verteilte API zur Lösung von Problemen beim Sharding großer Modelle
  • Trennt Modelldefinition, Trainingslogik und Sharding-Konfiguration, sodass sich Modelle schreiben lassen, als würden sie auf einem einzelnen Gerät laufen
  • Bietet eine API, mit der sich Sharding-Layouts für Datenparallelisierung und Modellparallelisierung einfach festlegen lassen

Vortrainierte Modelle

  • Stellt verschiedene vortrainierte Modelle zur Verfügung, die in Keras 3 genutzt werden können
  • Alle Modelle aus Keras Applications sowie die vortrainierten Modelle aus KerasCV und KerasNLP funktionieren auf allen Backends

Cross-Framework-Datenpipelines auf allen Backends unterstützt

  • Keras-3-Modelle können unabhängig vom verwendeten JAX-, PyTorch- oder TensorFlow-Backend mit verschiedenen Datenpipelines trainiert werden

Schrittweise Offenlegung von Komplexität

  • Die Keras-API folgt dem Designprinzip, unterschiedliche Workflows für verschiedene Nutzerprofile zu unterstützen – von einfachen Workflows bis hin zu Low-Level-Anpassungen

Zustandslose API

  • Alle zustandsbehafteten Keras-Objekte verfügen nun über eine zustandslose API, die in JAX-Funktionen verwendet werden kann

Wechsel von Keras 2 zu Keras 3

  • Keras 3 ist in hohem Maß mit Keras 2 kompatibel; die meisten Nutzer können ohne Codeänderungen auf Keras 3 umsteigen
  • Größere Codebasen benötigen möglicherweise einige Anpassungen, dafür steht jedoch ein vollständiger Migrationsleitfaden zur Verfügung
  • Wer Keras 2 weiterverwenden möchte, kann das Paket tf_keras nutzen oder die Umgebungsvariable TF_USE_LEGACY_KERAS setzen

Meinung von GN⁺

Das Wichtigste an diesem Beitrag ist die offizielle Veröffentlichung von Keras 3.0 und die neuen Funktionen, die es Entwicklern bietet. Keras 3.0 läuft auf verschiedenen Backends wie JAX, TensorFlow und PyTorch und verbessert die Flexibilität und Effizienz der Machine-Learning-Entwicklung deutlich, indem es das Training und die Bereitstellung großer Modelle verbessert. Diese Eigenschaften sind für die Machine-Learning-Community sehr spannende Neuigkeiten und geben Entwicklern die Möglichkeit, Modelle in noch vielfältigeren Umgebungen zu testen und bereitzustellen.

3 Kommentare

 
cosine20 2023-12-05

Ich persönlich mag Keras wirklich sehr, daher freue ich mich sehr darüber, dass es jetzt auch mit PyTorch als Backend laufen kann.

 
imozart7 2023-11-30

Oh, eine neue Keras-Version wurde angekündigt.

Ich habe bisher nur PyTorch gelernt,
und da es heißt, dass sich „bestehende tf.keras-Modelle auch direkt in JAX und PyTorch ausführen lassen“, bin ich neugierig, wie das funktioniert~

 
kuroneko 2023-11-29

Oh, Keras 3 ist also erschienen. +_+
Es wäre schön, wenn sowohl die Modellentwicklung als auch das Training dadurch etwas einfacher würden.