Deep Learning: MXNet 1.5 kann mit größeren Tensoren umgehen

Über die Backend Library MKL-DNN bietet das Open-Source-Framework beschleunigte Inferenz bei reduzierter Genauigkeit.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Deep Learning: MXNet schafft den Sprung zu 1.0.0 und bringt experimentelle Features mit
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Das quelloffene Deep-Learning-Framework MXNet liegt ab sofort in Version 1.5.0 vor. Die Community hat zu dem im Rahmen des Apache Incubator weiterentwickelten Projekt eine Reihe neuer Funktionen beigesteuert – darunter die Unterstützung für Tensorgrößen jenseits von 2^32 (4 Milliarden). MXNet verwendete bisher uint32_t als Standardtyp für die Tensorgröße, die sich nun über die Flag USE_INT64_TENSOR_SIZE = 1 anpassen lässt, um auch das Training größerer Graph Networks mit der Deep Graph Library zu ermöglichen.

Um andererseits dem wachsenden Ressourcenbedarf immer komplexerer Modelle zu begegnen, empfiehlt es sich, mit reduzierter Genauigkeit zu arbeiten. Bei der Bildklassifizierung hat sich der Einsatz von FP16 bereits bewährt, da sich so beispielsweise auch Tensor Cores von Volta- und Turing-GPUs nutzen lassen. Bei komplexeren Neural Networks bleibt aber FP32 die bevorzugte Wahl. Mit AMP (Automatic Mixed Precision) bietet MXNet nun eine neue Option, die automatisch die jeweils am besten geeignete Genauigkeit wählt. Den praktischen Einsatz der noch experimentellen AMP-Funktion erläutert ein Tutorial.

Reduzierte Genauigkeit hilft darüber hinaus auch, die Inferenz-Performance auf Standard-Prozessoren für die verschiedensten Deep-Learning-Topologien zu steigern. In Verbindung mit der Backend Library MKL-DNN bietet MXNet dazu nun zwei neue Funktionen: Fused Computation und Reduced-Precision Kernels. Für eine Reihe der von MKL-DNN implementierten Operatoren steht verringerte Genauigkeit zumindest als Option offen – einen Überblick dazu bietet die Operator-Liste auf GitHub.

Eine Zusammenfassung aller weiteren Verbesserungen und Neuerungen wie die Unterstützung für CUDA 10, CUDA 10.1, cudnn7.5, NCCL 2.4.2 und numpy 1.16.0 findet sich im Apache-Blog zur Veröffentlichung von MXNet 1.5.0. Darüber hinaus bieten die Release Notes eine detaillierte Übersicht der neuen Funktionen. (map)