23/04/2018

nGraph: un nouveau compilateur Open Source pour les systèmes d'apprentissage en profondeur

nGraph, le compilateur de modèle d’apprentissage profond indépendant des plateformes développé par Intel peut cibler divers périphériques sans besoin d’adaptation des modèles pour entraînement et le fonctionnement. Le projet est aujourd’hui disponible en open source !

Un véritable écosystème

Le projet est actuellement compatible avec TensorFlow, MXNet et Neon directement via nGraph. CNTK , PyTorch et Caffe2 sont pris en charge indirectement via ONNX. Les utilisateurs peuvent donc exécuter ces frameworks sur plusieurs périphériques: Intel Architecture, GPU et Intel Nervana Neural Network Processor (NNP). La prise en charge de nouveaux périphériques / frameworks initialement annoncés dans la feuille de route est obsolète. Il faudra certainement compter sur la communauté open source pour reprendre le flambeau !

Picture1-2

Ngraph pour quoi faire ?

Lorsque les plateformes d’apprentissage profond sont apparues pour la première fois comme vecteurs de formation et de modèles d'inférence, ils ont été conçus autour de noyaux optimisés pour un périphérique particulier. En conséquence, de nombreux détails de l'appareil étaient exposés dans les définitions de modèle, ce qui compliquait l'adaptabilité et la portabilité des modèles à d'autres dispositifs, ou plus avancés. Permettre à un modèle de fonctionner sur un framework différent était donc problématique, car le développeur doit séparer l'essence du modèle des ajustements de performance effectués pour le périphérique, traduire vers des opérations dans le nouveau framework et enfin effectuer les changements nécessaires pour le périphérique sur le nouveau framework. Intel avait alors conçu la bibliothèque nGraph pour réduire considérablement ces types de complexités techniques.

Performances actuelles

Intel a une expérience considérable avec l'optimisation MKL-DNN des frameworks pour Intel Architecture.Utilisant des travaux antérieurs avec l'avantage supplémentaire que les optimisations développées pour un périphérique bénéficient à tous les frameworks via nGraph, les développeurs de framework continuent à effectuer leur propre travail d'optimisation.

Intel fournit des données de performances initiales de plusieurs frameworks qui reflètent les optimisations effectuées jusqu'à présent .

Picture2-1
Picture3-1
Picture4-1

Retrouvez le projet sur GitHub , la documentation et le document SysML pour plus de détails.

Actualités