Un codec open source made in Germany compresse les réseaux de neurones sans perte de précision

NNCodec

Sous le nom de NNCodec, l'institut Fraunhofer Heinrich Hertz (HHI) a développé un logiciel qui permet de compresser la taille des réseaux de neurones à une valeur entre 5% et 10% de leur taille originelle, et ce sans perte de précision, affirme le laboratoire de recherche allemand. Ce logiciel open source, qui met en œuvre la récente norme MPEG NNC (Neural Network Coding) estampillée ISO/CEI 15938-17:2022 (1), est disponible en téléchargement gratuit sur la plate-forme GitHub depuis le 21 novembre 2022 pour une utilisation non commerciale uniquement.

Le codec NNCodec, qui se décline en modules d’encodage et de décodage, s'adresse donc aux groupes de recherche et aux équipes de développement officiant dans le domaine de l'intelligence artificielle (IA).

L’institut Fraunhofer HHI rappelle que les réseaux de neurones constituent l'épine dorsale de la plupart des technologies IA et sont devenus essentiels dans de nombreuses applications. Ces réseaux deviennent toutefois de plus en plus complexes, avec un nombre de couches, de liens d’interconnexion et de paramètres qui n’en finit plus d’augmenter, et ils exigent en conséquence des puissances de calcul et des capacités mémoire de plus en plus importantes. Sans une compression efficace, précise le laboratoire de recherche, les réseaux de neurones peuvent difficilement être intégrés dans des smartphones (ou plus généralement des systèmes embarqués). Parallèlement, les réseaux de neurones complexes imposent des débits élevés lors de leur transmission sur des réseaux.

Avec le logiciel NNCodec, l’institut Fraunhofer HHI estime proposer une solution efficace qui comprime de 90% à 95% la taille d’origine des réseaux de neurones entraînés, tout en conservant leur précision d'inférence. Parmi les nombreux scénarios qui peuvent bénéficier de l'utilisation de la norme NNC figurent les applications 5G, la compression d'images et de vidéos, les méthodes de reconstruction et de codage 3D, ainsi que les technologies IA pour la mobilité, telles que la conduite autonome.

Dans le cadre d’environnements d'apprentissage distribués, comme c’est le cas par exemple de l'apprentissage fédéré (2), la norme NNC permet en outre de réduire le débit de communication requis, les mises à jour du réseau de neurones devant être envoyées régulièrement à tous les équipements concernés.

« Nous avons été en mesure de publier le logiciel NNCodec, une mise en œuvre open source et conviviale du standard NNC, quelques mois seulement après l'approbation officielle de la norme, s’enorgueillit Detlev Marpe, chef du département Communications vidéo et applications à l’institut Fraunhofer HHI. Nous ciblons avec cette solution logicielle optimisée un large éventail d'applications liées aux développements les plus récents de l'IA et des réseaux de neurones, comme les réseaux de neurones convolutifs (CNN), les auto-encodeurs (ou auto-associateurs) ou les transformeurs. »

(1) Codéveloppée par l’institut Fraunhofer HHI, la norme ISO/CEI 15938:2022 a été officiellement publiée en août 2022. Son appellation exacte est Information technology – Multimedia content description interface – Part 17 : Compression of neutral networks for multimedia content description and analysis. Le document spécifie la norme NNC comme une représentation compressée des paramètres/poids d’un réseau de neurones entraîné et détaille le processus de décodage de cette représentation.

(2) L’apprentissage fédéré est une méthode qui consiste à entraîner un algorithme sur la machine d’un utilisateur d’une application et à partager les apprentissages réalisés sur la machine de chaque utilisateur.