21 December 2017

Industriegroep Khronos heeft een voorlopige standaard van zijn Neural Network Exchange Format (NNEF) gepubliceerd. Het bestandsformaat is bedoeld om getrainde neurale netwerken uit te wisselen, met name van van het ontwikkelraamwerk naar hardware-implementaties. Halverwege 2018 moet de definitieve versie volgen.

Op het moment zijn er flink wat deep learning/ai-raamwerken in omloop – Tensorflow, Keras, Caffe, Caffe2, Pytorch, CNTK, om maar wat te noemen – die allemaal hun eigen manier hebben om netwerken te configureren en de structuur en trainingsresultaten op te slaan. Ze hebben ook grotendeels eigen compilers naar implementaties op een cpu, gpu, dsp of asic. Neurale netwerken bestaan echter telkens uit dezelfde algemene typen bouwblokken en bewerkingen.

neuraal netwerk

Met NNEF kunnen modellen uitgedrukt worden in dit soort algemene bouwblokken. Het is ook mogelijk bewerkingen te combineren, zodat een compiler daar specifiek voor kan optimaliseren indien nodig. Het formaat is vooralsnog niet bedoeld om trainingsstrategieën en dergelijke mee te beschrijven.

Khronos heeft verschillende tools vrijgegeven om met het formaat te werken. Het is echter aan de makers van de softwareraamwerken om ondersteuning voor het formaat toe te voegen, alhoewel de industriegroep wel twee demo-exporters voor Tensorflow en Caffe heeft ontwikkeld. De vraag is daarom in welke mate NNEF geaccepteerd zal worden, zeker omdat Facebook en Microsoft eerder dit jaar al een concurrerend bestandsformaat uitgaven.