Machinaal leren, een succesvolle spin-off van AI
Om de verbeelding van computerwetenschappers op hol te laten slaan, was het de voorbije zes decennia voldoende om de term “artificiële intelligentie” uit te spreken. Ze begonnen dan meteen te dromen van applicaties die de menselijke intelligentie zouden benaderen of zelfs overtreffen. Na de opkomst van dit onderzoeksveld aan het einde van de jaren 1950 wisselden periodes van euforie en neerslachtigheid elkaar af. Torenhoge ambitie en veel enthousiasme mondden telkens uit in ontgoocheling wanneer de taak te complex bleek en de beschikbare rekenkracht te beperkt.
De laatste jaren haalt het optimisme weer de bovenhand. Computers deden schaakkampioenen in het zand bijten en wonnen zelfs met Go, naar verluidt nochtans het meest complexe spel dat mensen spelen. Computers praten met elkaar, gaan discussies aan en besturen auto’s. Dat AI een succes wordt, lijkt nu wel vast te staan. Hoe dat komt? De beschikbare rekenkracht is exponentieel gestegen tot het huidige niveau. En de verwachtingen sluiten ook beter aan bij de realiteit: computers leren patronen herkennen in enorme, ogenschijnlijk willekeurige datasets. Zoiets heet machinaal leren en het is geen geringe prestatie.
Machinaal leren (ML of “machine learning”) kan zowel gecontroleerd als ongecontroleerd.
Gecontroleerd ML is tot nu toe het meest succesvol gebleken. Hoe werkt het? Een ML-systeem krijgt een grote dataset en een taak voorgeschoteld. Het kan gaan om een pixel array, een kaart met weergegevens, of een reeks medische parameters over een bepaalde periode. Die moet het systeem herkennen als een gezicht, een storm of een ziekte. In de leerfase doet het systeem voorspellingen op basis van de input en krijgt het feedback via de labels die vooraf aan de input werden toegekend (correct of niet correct). Als de voorspelling fout is, past het ML-systeem 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 wordt inferentie genoemd.
De beschikbare rekenkracht is exponentieel gestegen tot het huidige niveau. En de verwachtingen sluiten ook beter aan bij de realiteit: computers leren patronen herkennen in enorme, ogenschijnlijk willekeurige datasets. Zoiets heet machinaal leren en het is geen geringe prestatie.
Deze 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. Daar staat tegenover dat de ML-systemen die vandaag worden ingezet ook veel vermogen opslorpen, 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. Daardoor kan zelfs de inferentiefase niet plaatsvinden op de plek waar ze het zinvolste zou zijn: aan de “edge” of rand van het IoT, bijvoorbeeld in een lichaamssensor, een weerstation, of een auto. Daarom ontwikkelen imec-onderzoekers nu hardware die de energiebehoeften van de inferentiefase drastisch vermindert, tot op een niveau dat haalbaar is voor autonome draadloze sensoren.
Tot zover gecontroleerd machinaal leren. Ongecontroleerd ML functioneert daarentegen 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. Maar het energieverbruik is hier nog problematischer dan bij gecontroleerd ML. In de cloud is aan die energiebehoefte misschien nog wel te voldoen, maar aan de IoT-uiteinden, bij de sensoren, is dat nog veel moeilijker dan bij gecontroleerd ML. Net daar is personaliseren nochtans het nuttigste. Bovendien is er nog een tweede moeilijkheid: de leer- en inferentiefasen zijn onmogelijk uit elkaar te halen. Personaliseren betekent immers leren en dat moet dus in de sensoren gebeuren. De behoefte aan gespecialiseerde hardware is hier dus nog vele malen groter dan bij gecontroleerd ML en ook dit onderzoek zit bij imec in de pijplijn. De onderzoekers buigen zich momenteel over een interessant domein, met tot nu toe veelbelovende resultaten: draagbare gezondheidstechnologie. Bij deze wearables zou elke sensor in staat moeten zijn om zich aan de gebruiker aan te passen.
De vereisten voor AI in sensoren
De hardwareplatformen die tot nu toe voor gecontroleerd machinaal leren worden ingezet, maken meestal gebruik van geavanceerde GPU’s die tot 200 watt verbruiken. Sommige systemen doen een beroep op FPGA’s die een tikkeltje efficiënter met energie omspringen, maar ook iets minder presteren. En de kampioenen van de prestatie-energieverhouding zijn een aantal ASIC’s die speciaal voor ML werden gebouwd en die toch ook nog 50 tot 100 watt slikken. Maar het is volstrekt onhaalbaar om een chip die 100 watt verbruikt in mobiele telefoons in te bouwen en al helemaal niet in IoT-sensoren, die veel langer moeten toekomen met veel minder energie.
Toch zullen in de toekomst de meeste data net in de IoT-sensoren worden verzameld: wearables met gezondheidssensoren, radars in voertuigen, sensoren in gebouwen, … Door technische of energiebeperkingen is het meestal onmogelijk om al die data naar de cloud te streamen en daar centraal aan AI-processing te doen. 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 inferentiefase, met slimme patroonherkenning, moet zeker in de sensoren plaatsvinden.
Hoeveel energie is er in die nodes ter beschikking? In voertuigen moeten chips die maximaal 10 tot 30 watt verbruiken haalbaar zijn. Maar voor mobiele toepassingen lijkt 1 watt de bovengrens. En bijvoorbeeld bij sensoren die op of in het lichaam worden gedragen, is er eerder sprake van minder dan 10 milliwatt of soms zelfs maar 1 milliwatt.
Inferentiehardware met minimale energiebehoeften
Een inferentiesysteem haalt in opeenvolgende stappen telkens opnieuw de aangeleerde parameters (gewichten) en de inputgegevens (bv 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 data 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.
Ook een architectuur die bespaart op het telkens ophalen en wegschrijven van de miljoenen parameters en inputwaarden 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 zijn dus geheugenarrays waarin permanent de waarden van de aangeleerde parameters in analoge niet-volatiele devices worden bewaard, bv onder de vorm van de geleidbaarheid van een resistive-RAM cell.
Hoe kunnen die parameters dan vermenigvuldigd en opgeteld worden met de inputwaardes? De inputwaarden worden ingevoerd 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 woordlijn is dan de optelsom van de stroom in elke cel in die lijn (wet van Kirchhoff). Op die manier kunnen convoluties worden toegepast zonder steeds opnieuw parameters op te halen en te verplaatsen.
Een dergelijke aanpak levert wel een aantal uitdagingen op. Zo beperkt de variabiliteit van de geheugenchip de precisie waarmee de parameters kunnen worden gecodeerd. Vooral bij 8-bit precisie kan dit problemen opleveren, maar veel minder bij binaire oplossingen. 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 geboekt wordt omdat de data niet moeten worden verplaatst.
Een gamma aan AI-oplossingen voor slimmere sensoren
Om het IoT slimmer te maken en aan onze individuele wensen aan te passen, is innovatieve hardware nodig. Onze wetenschappers werken aan een hele reeks veelbelovende oplossingen die de komende maanden en jaren zullen worden voorgesteld.
Hardware met niet-volatiele analoge geheugens zal inferentie aan de sensoruiteinden van het IoT mogelijk maken, eerst met binaire systemen, later waarschijnlijk ook met een hogere precisie. En zodra we patronen kunnen detecteren en slim kennis kunnen vergaren uit enorme hoeveelheden sensordata, wordt het IoT een flink stuk slimmer.
De volgende grote stap is hardware voor ongecontroleerd machinaal leren. Dan krijgen we sensoren zonder aangeleerde parameters, sensoren die zich ogenblikkelijk aan individuen en situaties aanpassen. 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 behoeften.
Diederik Verkest is een Distinguished Member of Technical Staff verantwoordelijk voor imec’s INSITE- en machinaal leren-programma’s. Nadat hij zijn doctoraat in de micro-elektronica had behaald aan de KU Leuven (België) trad Diederik in 1994 in dienst bij imec, waar hij onder andere verantwoordelijk is voor hardware/software co-design. In 2009 startte hij het imec INSITE-programma dat focust op de co-optimalisatie van ontwerp- en procestechnologie voor geavanceerde technologienodes. Het programma biedt de fabless design-community inzicht in geavanceerde procestechnologieën en verschaft chipmakers en -ontwerpers een uitwisselingsplatform voor technologieën van de volgende generatie.
Gepubliceerd op:
31 augustus 2018