L'embarqué > Logiciel > Développement > Le Khronos Group publie une norme sur le déploiement de réseaux de neurones pré-entraînés

Le Khronos Group publie une norme sur le déploiement de réseaux de neurones pré-entraînés

Publié le 24 août 2018 à 10:26 par François Gauthier        Développement

Khronos NNEF 1.0

Le Khronos Group, consortium industriel en charge notamment de la standardisation d’API graphiques et multimédias et promoteur de standards ouverts comme OpenGL, vient de ratifier définitivement la norme NNEF 1.0 (Neural Network Exchange Format). Objectif de ce document : permettre aux fabricants de matériels de déployer de manière fiable des réseaux de neurones préalablement entrainés, et ce de manière optimisée et accélérée sur divers périphériques de bordure de réseau (edge).

Pour cette première version du standard, un écosystème d’outils est dorénavant disponible sur la plate-forme GitHub, y compris un analyseur NNEF (analyseur syntaxique et validateur de syntaxe) et des convertisseurs pour les logiciels d’apprentissage profond en open source comme TensorFlow (issu de Google) et Caffe (issu de l’université de Berkeley). Parallèlement, l'API Neural Network d'Android (NNAPI) et l'OpenVX pour l’accélération des réseaux de neurones sont en cours de développement au sein du Khronos Group.

Rappelons que le standard NNEF a été créé pour faciliter l'échange de réseaux de neurones entre les environnements d’apprentissage d’un côté et les moteurs d’inférence de l’autre afin d’augmenter la liberté des développeurs pour combiner les différentes solutions du marché. Il s’agit in fine pour les spécialistes des sciences de la donnée et les ingénieurs de transférer plus facilement, sur une large variété de moteurs d'inférence, les réseaux de neurones qui ont été entraînés et optimisés au sein d’un framework d'apprentissage qu'ils ont choisi. Pour ce faire, la spécification NNEF encapsule une description complète de la structure, des opérations et des paramètres d'un réseau de neurones entraîné, indépendamment des outils utilisés pour le produire et du moteur d'inférence utilisé pour l'exécuter.

«  Avec le standard NNEF 1.0, nous nous sommes efforcés de créer la première solution standard ouverte permettant aux ingénieurs d’optimiser et de déployer des réseaux de neurones entraînés sur divers moteurs d’inférence, explique Peter McGuinness, président du groupe de travail Khronos NNEF. Après la publication en décembre 2017 de la première mouture de NNEF, l’appel ouvert aux commentaires a été très suivi, confirmant la demande de l’industrie pour cette norme et nous permettant de réaliser une spécification NNEF 1.0 complète et réactive. »

Dorénavant un flux de travail complet, allant de l’apprentissage à l'optimisation en passant par le déploiement, est possible en utilisant NNEF comme format de transfert standardisé. Au lancement, la norme sera prise en charge par deux convertisseurs TensorFlow disponibles en open source, pour les descriptions de réseaux de neurones reposant sur du code protobuf et python, et par un convertisseur pour la solution Caffe. Un importateur/exportateur open source Caffe2 en cours de développement par la société Au-Zone Technologies sera disponible au troisième trimestre 2018.

Divers outils de sociétés membres, telles qu'Almotive et AMD, sont également en cours développement. Parallèlement le groupe de travail NNEF s'est engagé à encourager des échanges fiables avec un nombre croissant de frameworks d’apprentissage de réseaux de neurones, tels que Torch, Chainer, Theano, PyTorch et MXNet, avec pour cela la publication d’importateurs et d’exportateurs disponibles en open source.

 

Sur le même sujet