Deep Learning: MXNet 1.4 ist reif für Inferenz in Java-Umgebungen
Neben der Integration mit Horovod sind Java-Inference-APIs eine von vielen Neuerungen in Version 1.4.0 des Deep-Learning-Frameworks Apache MXNet.
MXNet, ein quelloffenes Framework für Deep Learning, liegt ab sofort in Version 1.4.0 vor. Das im Rahmen des Apache Incubator weiterentwickelte Framework bringt im neuen Release nicht nur Verbesserungen der Performance und Benutzerfreundlichkeit mit, sondern zeichnet sich auch durch eine Reihe neuer Funktionen aus. Die Unterstützer aus der Community haben unter anderen ein Julia Package beigesteuert, das verteiltes Tensor- und GPU-Computing mit der dynamischen Sprache ermöglicht. Ebenfalls auf verteiltes Modelltraining ausgelegt ist die Integration mit dem von Uber entwickelten Open-Source-Framework Horovod.
Java-Inference-APIs
Einen wichtigen Schritt im Hinblick auf den vereinfachten Einsatz von MXNet in Enterprise-Java-Umgebungen macht das DL-Framework mit den neuen Java-Inference-APIs. Die idiomatischen High-Level-APIs schaffen die Voraussetzungen, um in Java Vorhersagen auf Basis der mit MXNet trainierten Modelle durchzuführen. Dadurch sollen sich Deep-Learning-Modelle leichter produktiv für die Inferenz in Applikationen und Systemen nutzen lassen, die auf Java und der Java Runtime aufgebaut sind. Dem praktischen Einsatz der derzeit verfügbaren Inference APIs Predictor API und Object Detector (Single and Batch) widmet sich ein Blog-Beitrag.
Memory- und Graphen-Optimierung
Unter den weiteren Neuerungen von MXNet 1.4 findet sich ein optimiertes, automatisches Speichermanagement, wenn die JVM-Language-Bindings des Deep-Learning-Framworks zum Einsatz kommen. Entwickler sollen damit sowohl CPU- als auch GPU-Speicher verwalten können, ohne Einbußen bei der Leistung befürchten zu müssen. Über die neue Subgraph-API lassen sich außerdem Backend Librarys wie TVM, MKLDNN, TensorRT oder Intel nGraph integrieren, um Performanceverbesserungen zu erzielen, die sich durch optimierte Verarbeitung eines in mehrere Komponenten aufgeteilten Graphen ergeben. Mit den Control Flow Operators lassen sich zudem variable dynamische Graphen neuronaler Netze in optimierte statische umwandeln. Diese noch als experimentell gekennzeichnete Funktion soll zu höherer Geschwindigkeit beim Training und der Inferenz dynamischer Modelle beitragen.
Eine Zusammenfassung aller Verbesserungen und Neuerungen findet sich im Apache-Blog zur Veröffentlichung von MXNet 1.4.0. Darüber hinaus bieten die Release Notes eine detaillierte Übersicht zu den neuen Funktionen. (map)