Microsoft werkt aan algoritmes voor machine learning die op een Raspberry Pi en later ook op kleinere apparaten moeten kunnen draaien, zoals een zeer kleine ARM Cortex M0. Vroege code van het project is inmiddels op GitHub te vinden.
De software draagt de naam Embedded Learning Library en is naast gebruik op Raspberry Pi's gemaakt voor gebruik op Arduino's en Microbits. In een blogpost schrijft Microsoft dat een team van dertig mensen in Redmond en in Bangalore eraan werkt om kunstmatige intelligentie mogelijk te maken op kleine processors. Zo is het inmiddels gelukt de code te laten draaien op een Raspberry Pi 3, die is voorzien van 1GB ram en vier ARM Cortex A53-kernen op 1,2GHz.
In de toekomst moet het mogelijk zijn hetzelfde te doen met veel kleinere apparaten, zoals de Cortex M0. Die is zo groot als een 'vlokje chilipeper', aldus Microsoft. Om dit te bereiken moeten modellen voor machine learning ongeveer 1000 tot 10.000 keer kleiner worden. Het huidige werk van het team zorgt momenteel voor een verkleining van 10 tot 100 keer. Daarom is het kleinste apparaat waar het team zich nu op richt een Arduino Uno met 2kB ram.
Om de huidige verkleining te bereiken, maakt het team gebruik van compressie. Bijvoorbeeld door gebruik van weight quantization wordt elke parameter binnen een neuraal netwerk weergegeven met soms een enkele bit in plaats van de gebruikelijke 32. De uiteindelijke verkleining met een factor van meer dan 1000 is alleen mogelijk door een geheel nieuwe aanpak, aldus Microsoft. Bijvoorbeeld door algoritmes te ontwikkelen die specifieke taken uitvoeren.
Door het onderzoek moet het inzetten van machine learning efficiënter worden, waardoor het niet meer nodig is om veel rekenkracht en grote opslag in te zetten.
Een onofficiële versie van Googles Tensorflow-library voor Raspberry Pi is overigens ook op GitHub te vinden. Om deze te draaien is een Pi 2 of 3 Model B vereist.