Definition

Was ist nGraph?

| Autor / Redakteur: Tutanch / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

nGraph ist ein von Intel entwickelter Framework- und Hardware-unabhängiger Compiler für das Deep Learning. nGraph ist als Open Source Software frei verfügbar und ermöglicht das Erstellen, Trainieren und Ausführen von Deep-Learning-Modellen unabhängig vom verwendeten Framework und der genutzten Hardware.

Intel hat nGraph als Framework- und Hardware-unabhängigen Compiler entwickelt, um mit einem bestimmten Framework erstellten Deep-Learning-Code auf unterschiedlicher Hardware effizient auszuführen. So lässt sich beispielsweise mit TensorFlow erzeugter Code für Intel-Prozessoren, Nvidia-GPUs oder spezielle Deep-Learning-Hardware und Field Programmable Gate Arrays (FPGAs) übersetzen. Es handelt sich bei nGraph um eine C++-Bibliothek und eine Runtime-/Compiler-Suite.

nGraph gestattet es, für Anwendungen des Deep Learnings beliebige Frameworks und Hardware-Architekturen einzusetzen und den Code performant auszuführen. Wissenschaftler können sich dank der Software von Intel voll auf ihr eigentliches Deep-Learning-Modell konzentrieren, ohne sich um den tatsächlichen Code und dessen Optimierung für bestimmte Umgebungen zu kümmern. Algorithmen des Deep Learnings werden wesentlich einfacher portierbar.

Beim Kompilieren des Codes achtet nGraph stark auf Effizienz. Die Verknüpfungen zu den verschiedenen Deep Learning Frameworks und Hardware-Architekturen stellt nGraph über sogenannte Bridges und Transformer her. Der nGraph Compiler steht für Entwickler, Programmierer und Datenwissenschaftler frei als Open-Source-Software unter Apache-2.0-Lizenz zur Verfügung.

Vorteile durch den Einsatz von nGraph für das Deep Learning

Durch den Einsatz von nGraph für Anwendungen des Deep Learnings ergeben sich zahlreiche Vorteile. Die wichtigsten Vorteile sind, kurz zusammengefasst, folgende:

  • volle Konzentration auf das Deep Learning und nicht auf den Maschinencode
  • mehr Flexibilität bei der Auswahl des Frameworks und der Hardware
  • schnellere Entwicklung und Bereitstellung von Deep-Learning-Modellen
  • Kompatibilität mit dem Open Neural Network Exchange (ONNX) Format
  • effiziente Ausführung von Code auf unterschiedlicher Hardware
  • einfache Anpassung an Frameworks und Hardware mit Bridges und Transformern

Entwickler und Datenwissenschaftler sind mit verschiedenen Deep Learning Frameworks und unterschiedlichen Hardware-Architekturen konfrontiert. nGraph ermöglicht es ihnen, sich voll auf das eigentliche Erstellen, Trainieren und Ausführen der Deep-Learning-Modelle zu konzentrieren, ohne sich um die Eigenheiten der unterschiedlichen Hardware oder Frameworks und die Optimierung des Codes zu kümmern. In der Auswahl eines bestimmten Frameworks oder einer Hardware besteht eine hohe Flexibilität. Sollen andere Frameworks oder Hardware-Architekturen genutzt werden, sorgt nGraph mit seinen Bridges und Transformern für einen schnellen und problemlosen Wechsel. Der Aufwand für das Bereitstellen eines Deep-Learning-Modells lässt sich reduzieren und Entwicklungszeiten von KI-Anwendungen sinken. Da nGraph mit dem Open Neural Network Exchange (ONNX) Format kompatibel ist, ergeben sich viele weitere Erleichterungen in der Portierung und Bereitstellung von Deep-Learning-Modellen auf verschiedenen Plattformen.

Von nGraph unterstützte Hardware

nGraph unterstützt viele verschiedene Hardware-Architekturen. Dazu zählen die hauseigenen Architekturen von Intel wie x86, Intel Xeon, Xeon Phi oder Intel Nervana. Nervana ist ein speziell von Intel für neuronale Netzwerke entwickelter Prozessor. Darüber hinaus arbeitet nGraph mit GPUs von Nvidia und der Deep Neural Network Library (cuDNN) zusammen. Auch der Support von speziellen Field Programmable Gate Arrays (FPGAs) des Deep Learnings ist möglich. Mit den Prozessoren vom Konkurrenten AMD arbeitet nGraph nicht ohne Weiteres zusammen. Theoretisch ist es denkbar, die unter Apache-2-Lizenz stehende Software in diese Richtung zu erweitern.

Die unterstützte Hardware in der Übersicht:

  • Intel Architekturen x86, Intel Xeon and Xeon Phi
  • Intel Nervana Neural Network Prozessor
  • NVIDIA cuDNN GPUs

Von nGraph unterstützte Frameworks

Bei der Unterstützung von Frameworks ist zwischen einer direkten und einer indirekten Unterstützung zu unterscheiden. Zu den direkt unterstützten Frameworks zählen TensorFlow von Google, MXNet der Apache Software Foundation und Neon von Intel. Der indirekte Support anderer Frameworks ist über die Open Neural Network Exchange Kompatibilität realisierbar. Über ONNX sind Frameworks wie beispielsweise CNTK, PyTorch und Caffe2 nutzbar.

Direkt unterstützte Frameworks sind:

  • TensorFlow
  • MXNet
  • Neon

Indirekt über Open Neural Network Exchange unterstützte Frameworks sind:

  • CNTK
  • PyTorch
  • Caffe2

Die Anbindung von nGraph an die verschiedenen Frameworks und Hardware-Architekturen über Bridges und Transformer

nGraph schafft eine abstrahierte Anpassungsschicht und verbindet sich mit verschiedenen Frameworks und Hardware-Architekturen. Sogenannte Bridges verbinden die unterschiedlichen Frameworks mit der nGraph-Software. Für die Anbindung der verschiedenen Hardware-Architekturen sorgen die sogenannten Transformer.

Sollen Deep-Neural-Network-Modelle mit nGraph trainiert und betrieben werden, ist zunächst die Installation der Software notwendig. Anschließend kann nGraph für ein bestimmtes Deep Learning Framework kompiliert werden. Ist die Verbindung vom Framework zu nGraph hergestellt, indem nGraph als Backend im Framework definiert ist, sorgen die Transformer für die Übersetzung und die Übertragung des Codes zur ausführenden Hardware.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45481557 / Definitionen)