Diederik Verkest is als distinguished member of technical staff verantwoordelijk voor Imecs programma rondom machine learning en voor het Insite-programma, dat zich richt zich op co-optimalisatie van ontwerp- en procestechnologie voor geavanceerde technologienodes.

26 February

Artificiële intelligentie wordt tegenwoordig al succesvol gebruikt om gezichten te herkennen, het weer te voorspellen of ziektepatronen op te sporen. Hiervoor zijn uiterst krachtige, energieverslindende processoren nodig, die hun werk doen in de cloud. Nochtans is het vaak voordeliger als we ai naar de sensoren kunnen brengen. Imec ontwikkelt hiervoor hardware die geen honderden watts maar één watt tot enkele milliwatts verbruikt.

Sinds de opkomst van het onderzoeksveld voor artificiële intelligentie eind jaren vijftig wisselden periodes van euforie en neerslachtigheid elkaar steeds af, maar de laatste jaren haalt het optimisme de bovenhand. Dat ai een succes wordt, lijkt nu wel vast te staan. Dat komt onder meer omdat de beschikbare rekenkracht exponentieel is gestegen tot het huidige niveau. De verwachtingen sluiten ook beter aan bij de realiteit: computers leren patronen herkennen in enorme, ogenschijnlijk willekeurige datasets. Zoiets heet machinaal leren en dat is geen geringe prestatie.

Gecontroleerd ml is tot nu toe het meest succesvol gebleken. Een ml-systeem krijgt hier eerst een grote dataset met trainingsvoorbeelden voorgeschoteld: een pixel-array, een kaart met weergegevens of een reeks medische parameters over een bepaalde periode. Die moet het leren herkennen als een gezicht, een storm of een ziekte. Het begint hiervoor voorspellingen te doen en die vergelijkt het met de labels die vooraf aan de input werden toegekend. Als het systeem het fout heeft, past het zijn parameters (ook gewichten genoemd) aan en doet het een nieuwe voorspelling.

Dit proces wordt telkens herhaald, tot de parameters voldoende zijn bijgesteld om meestal de juiste voorspellingen te maken. Na deze leerfase is het systeem klaar om enorme datasets te doorploegen, op zoek naar betekenisvolle patronen. Dit proces heet inferentie.

Dergelijke systemen vragen relatief weinig menselijke tussenkomst en dat verklaart ook grotendeels hun succes. Door de feedback van de vooraf gelabelde input leren ze zelf welke parameters ze nodig hebben om bijvoorbeeld gezichten te herkennen. Ze bouwen dus zelf de filter die vroeger met veel moeite manueel moest worden geprogrammeerd.

Dutch System Architecting Conference

De tweede variant, ongecontroleerd ml, functioneert helemaal zonder enige menselijke ingreep of training. Dit is de heilige graal van machinaal leren. Want stel je even voor dat applicaties zich helemaal vanzelf zouden aanpassen aan specifieke toepassingen en individuele gebruikers, ogenblikkelijk en zonder vooraf aangeleerde parameters. De technieken en algoritmes die hiervoor nodig zijn, steunen ruwweg op de manier waarop het menselijk brein leert en functioneert.

De vereisten voor ai in sensoren

De gecontroleerde ml-systemen die vandaag worden ingezet, slorpen echter veel vermogen op, vooral in de leerfase, wanneer ze dezelfde data telkens opnieuw moeten herkauwen. Maar ook in de inferentiefase, wanneer het systeem de data maar één keer verwerkt, moet het rekening houden met miljoenen parameters, die miljarden berekeningen vereisen. Bij ongecontroleerde machine learning is het energieverbruik zelfs nog problematischer.

De hardwareplatforms voor machinaal leren maken meestal gebruik van geavanceerde gpu’s die tot tweehonderd watt verstoken. Sommige systemen doen een beroep op fpga’s, die een tikkeltje efficiënter met energie omspringen, maar ook iets minder presteren. De kampioenen van de prestatie-energieverhouding zijn de speciaal voor ml gebouwde asics. Die slikken toch ook nog vijftig tot honderd watt.

In de cloud gaat dat nog wel, maar het is volstrekt onhaalbaar om een chip die honderd watt verbruikt in te bouwen in mobiele telefoons en al helemaal niet in iot-sensoren, die veel langer moeten toekomen met veel minder energie. Toch zullen de meeste data in de toekomst juist in de iot-sensoren worden verzameld: wearables die gezondheidsmetingen uitvoeren, radars in voertuigen, sensoren in gebouwen, enzovoorts.

Door technische of energiebeperkingen is het niet altijd mogelijk om al die data naar de cloud te streamen. Er zijn bovendien ook toepassingen denkbaar die ogenblikkelijk patronen moeten kunnen herkennen. Denk aan de radars van zelfrijdende voertuigen die mensen of andere obstakels op hun pad detecteren. Een heen-en-weertje naar de cloud is er dan echt te veel aan.

De behoefte om machinaal leren naar de rand van het iot te brengen, is dus groot. Bij gecontroleerd ml hoeft de leerfase niet inbegrepen te zijn; de parameters kunnen gewoon in de cloud worden aangeleerd. Maar de inferentie, met slimme patroonherkenning, moet zeker in de sensoren gebeuren.

Hoeveel energie is er in die nodes ter beschikking? In voertuigen moeten chips die maximaal tien tot dertig watt verbruiken haalbaar zijn. Maar voor mobiele toepassingen lijkt één watt de bovengrens. En bijvoorbeeld bij sensoren die op of in het lichaam worden gedragen, is er eerder sprake van minder dan tien milliwatt, of soms zelfs maar één milliwatt.

Inferentiehardware met minimale energiebehoeftes

Inferentiesystemen halen in opeenvolgende stappen telkens opnieuw de aangeleerde parameters (gewichten) en de inputgegevens (zoals sensordata) op uit het geheugen, wat zeer veel energie vraagt. In elk van die stappen voeren ze vermenigvuldigingen en optellingen uit – de zogeheten convoluties – en slaan ze de output op. De belangrijkste prioriteit bij het ontwerpen van lage-energiechips voor ai is bijgevolg ervoor zorgen dat minder gegevens moeten worden verplaatst over een kleinere afstand.

Ai-systemen gebruiken standaard 32 bit floating-point-bewerkingen. Een mogelijkheid om de datahoeveelheid te beperken, is de precisie verlagen, bijvoorbeeld naar 8 bit. Het is aangetoond dat inferenties hierdoor nauwelijks aan accuraatheid inboeten.

Er zijn bijgevolg al veel 8 bit-implementaties ontwikkeld, maar het energieverbruik blijft toch nog te hoog voor edge-computing. Dan maar naar de grote middelen grijpen: een precisie van 1 bit, wat een zogeheten binair cnn (convolutional neural network) oplevert. Het bijbehorende verlies aan accuraatheid is aanzienlijk, maar toch aanvaardbaar voor veel praktische toepassingen.

Imecs laatste ultrazuinige Lenna-chip voor ai-toepassingen implementeert een binair neuraal netwerk in digitaal cmos om aan te tonen dat zelfs een precisie van een enkele bit al waardevol kan zijn. De chip slaat de gewichten op in mram-geheugens, die gedistribueerd zijn over de chip om de geheugenbottleneck aan te pakken.

Ook een architectuur die bespaart op het telkens ophalen en wegschrijven van de miljoenen parameters en inputwaardes kan bijdragen tot de oplossing. Een methode bestaat erin de aangeleerde parameters eenmaal in een analoog geheugen op te slaan en ze daar te houden, en de inferentie te doen als een analoge berekening in dat geheugen. De kern van zo’n ai-processor bestaat dus uit geheugenarrays waarin permanent de waardes van de aangeleerde parameters in analoge niet-volatiele devices worden bewaard, bijvoorbeeld in de vorm van de geleidbaarheid van een resistive ram-cel.

Hoe kunnen we die parameters dan vermenigvuldigen en optellen met de inputwaardes? De inputwaardes voeren we in als de voltages op de woordlijnen van de arrays. De stroom in elke cel van die woordlijn stemt dan overeen met de vermenigvuldiging van de inputwaarde en de aangeleerde parameter (wet van Ohm). En de stroom in de bitlijn is dan de optelsom van de stroom in elke cel in die lijn (wet van Kirchhoff). Op die manier kunnen we convoluties toepassen zonder steeds opnieuw parameters op te halen en te verplaatsen.

Met rram zouden we matrixvermenigvuldigingen voor ai in de toekomst analoog kunnen doen. De vraag is nog hoeveel verschillende weerstandniveaus we in de praktijk betrouwbaar kunnen opslaan.

Een dergelijke aanpak levert wel uitdagingen op. Zo beperkt de variabiliteit van de geheugenchip de precisie waarmee we de parameters kunnen coderen. Binaire oplossingen zijn daarom een stuk een makkelijker te bereiken dan implementaties met 8 bit-precisie. Verder verhoogt de integratie van een analoog geheugen in een digitaal systeem de complexiteit, bijvoorbeeld door de omzettingen van digitaal naar analoog en omgekeerd. Maar die extra complexiteit weegt niet op tegen de winst die we boeken omdat we de data niet hoeven te verplaatsen.

Een gamma aan ai-oplossingen voor slimmere sensoren

Onze wetenschappers werken aan een hele reeks veelbelovende oplossingen die ze de komende maanden en jaren zullen voorstellen. Hardware met niet-volatiele analoge geheugens zal inferentie van gecontroleerde-ml-systemen aan de sensoruiteinden van het iot mogelijk maken, eerst met binaire systemen, later waarschijnlijk ook met een hogere precisie.

Voor ongecontroleerde ml-toepassingen is personalisatie echter de grote belofte. De leer- en inferentiefases zijn dan onmogelijk uit elkaar te halen, want personaliseren betekent leren. Dat moet dus volledig in de sensoren gebeuren. De behoefte aan gespecialiseerde hardware is hier dus nog vele malen groter dan bij gecontroleerd ml.

De volgende grote stap waar we aan werken bij Imec is dan ook hardware voor ongecontroleerd machinaal leren. Dan krijgen we sensoren zonder aangeleerde parameters, sensoren die zich ogenblikkelijk aanpassen aan individuen en situaties. Denk aan draagbare gezondheidssensoren die de dragers echt helemaal kennen. Niet alleen wordt het iot dan slimmer, maar ook veel beter aangepast aan onze individuele verwachtingen en behoeftes.

Edited by Pieter Edelman