Simulation von Deep-Learning-Modellen

Projekt TensorQuant

Der Trend, Methoden des maschinellen Lernens, insbesondere tiefer künstlicher neuronaler Netze (Deep Learning), zur Entwicklung intelligenter Systeme einzusetzen, hat sich weiter verstärkt. Aus der Wissenschaft kommen dabei stetig neue Deep-Learning-Ansätze, welche weit gefächerte Einsatzmöglichkeiten dieser Algorithmen in vielen verschiedenen praktischen Anwendungen ermöglichen könnten.

Eine entscheidende technologische Hürde auf dem Weg hin zur Anwendung in Massenprodukten ist jedoch der enorme Rechenaufwand, der zur Berechnung und Auswertung der Deep-Learning-Modelle notwendig ist.

TensorQuant erlaubt die automatische Simulation von gegebenen TensorFlow-Modellen mit beliebigen Zahldarstellungenen einzelner Tensor-Operationen.
© Fraunhofer ITWM
TensorQuant erlaubt die automatische Simulation von gegebenen TensorFlow-Modellen mit beliebigen Zahldarstellungenen einzelner Tensor-Operationen.
Das Ergebnis einer Simulation des bekannten GoogleNet Models zeigt, dass die konkrete Wahl der Zahldarstellung erheblichen Einfluss auf die Performanz von Deep-Learning-Anwendungen hat.
© Fraunhofer ITWM
Das Ergebnis einer Simulation des bekannten GoogleNet Models zeigt, dass die konkrete Wahl der Zahldarstellung erheblichen Einfluss auf die Performanz von Deep-Learning-Anwendungen hat, welche ohne die Simulation in TensorQuant vorab nur schwer abzuschätzen ist.

Daher ist in der letzten Zeit die Entwicklung spezialisierter Deep-Learning-Hardware in den Fokus getreten. Neue Chip- und Speicherarchitekturen sollen zukünftig den Einsatz performanter und zu gleich energiesparender Hardwaremodule ermöglichen und so den Einsatz von Deep Learning in z.B. autonomen Fahrzeugen, Mobiltelefonen oder integrierten Produktionssteuerungen ermöglichen.

 

Lernen erfordert keine hohe Präzision in der Zahldarstellung

Dabei nutzt man eine wesentliche mathematische Eigenschaft des Deep Learning aus: Das Lernen und Auswerten von Modellen lässt sich auf die numerische Berechnung einer recht kleinen Anzahl von Operationen aus der Tensor-Algebra (wie z.B. Matrixmultiplikationen) reduzieren. Außerdem kommt man bei der Tensor-Berechnung mit einer deutlich geringeren Genauigkeit in der Zahldarstellung aus, als man dies typischerweise von physikalischen Simulationen gewohnt ist. Diese Eigenschaften ermöglichen nun eine – im Vergleich zu allgemeinen Recheneinheiten wie CPUs und GPUs – hocheffiziente Hardwareumsetzung.

 

TensorQuant erlaubt die Simulation von Machine Learning Hardware

Bei der Entwicklung von Deep-Learning- Anwendungen auf spezialisierter Hardware ergibt sich die Schwierigkeit, dass die Mindestanforderungen an die Rechengenauigkeit zwischen einzelnen Modellen stark variieren. Dies macht die gleichzeitige Optimierung von Deep-Learning-Modellen und Hardware bezüglich Rechenperformanz, Energieverbrauch und Vorhersagegenauigkeit schwierig. Mit unserem am »Competence Center High Performance Computing« entwickelten Softwaretool TensorQuant (TQ) haben Entwickler nun die Möglichkeit Deep-Learning-Modelle mit beliebigen Zahldarstellungen und Rechengenauigkeiten zu emulieren, kritische Tensor-Operationen zu identifizieren und somit diesen Entwicklungsschritt deutlich zu beschleunigen. So wird TensorQuant bereits in Kooperationsprojekten mit der Automobilindustrie eingesetzt.