Menselijke taal kan inefficiënt zijn

15/02/2021

Door Ad Spijkers

Natural language processing (NLP) is een belangrijke technologie om de communicatie tussen mens en computer te verbeteren. Het MIT heeft een belangrijke stap gezet.


     

Herlees de eerste zin van dit bericht. Slechts twee woorden, 'taal' en 'inefficiënt', geven bijna de hele betekenis van de zin weer. Het belang van sleutelwoorden ligt ten grondslag aan een nieuw hulpmiddel voor natuurlijke taalverwerking (NLP) door computers: het aandachtsmechanisme. Wanneer het in een breder NLP-algoritme wordt gecodeerd, concentreert het aandachtsmechanisme zich op sleutelwoorden in plaats van elk woord even belangrijk te maken. Dat levert betere resultaten op.

De nauwkeurigheid van het aandachtsmechanisme gaat vaak ten koste van de snelheid en de rekenkracht. Het werkt traag op processoren voor algemeen gebruik, zoals in computers voor consumenten. Onderzoekers aan het Massachussets Institute of Technology (MIT) hebben een gecombineerd software-hardwaresysteem ontworpen dat is gespecialiseerd om het aandachtsmechanisme uit te voeren.

Aandachtsmechanisme

Het aandachtsmechanisme is ingebouwd in moderne NLP-modellen zoals Google's BERT en OpenAI's GPT-3. De belangrijkste innovatie van het aandachtsmechanisme is selectiviteit - het kan afleiden welke woorden of zinsdelen in een zin het belangrijkst zijn. Dit gebeurt op basis van vergelijkingen met woordpatronen die het algoritme eerder in een trainingsfase is tegengekomen.

Een van de uitdagingen is het ontbreken van gespecialiseerde hardware om NLP-modellen met het aandachtsmechanisme te draaien. Het probleem zal groter worden naarmate de modellen complexer worden, vooral voor lange zinnen. Er zijn algoritmische optimalisaties en speciale hardware nodig om de steeds grotere rekenvraag te verwerken. De onderzoekers ontwikkelden een systeem genaamd SpAtten om het aandachtsmechanisme efficiënter te laten werken. Hun ontwerp omvat zowel gespecialiseerde software als hardware.

Software

Een belangrijke softwareverbetering is het gebruik van 'cascade pruning', het elimineren van onnodige data uit de berekeningen. Zodra het aandachtsmechanisme de sleutelwoorden van een zin (tokens genoemd) helpt kiezen, snoeit SpAtten onbelangrijke tokens weg en elimineert de corresponderende berekeningen en gegevensbewegingen.

Het aandachtsmechanisme bevat ook meerdere rekentakken (koppen genoemd). Net als bij de tokens worden onbelangrijke koppen geïdentificeerd en weggesnoeid. Eenmaal verwijderd, spelen de irrelevante tokens en koppen geen rol meer in de berekeningen van het algoritme, waardoor zowel de rekenbelasting als de toegang tot het geheugen afneemt.

Om het geheugengebruik verder terug te dringen, ontwikkelden de onderzoekers ook een techniek die 'progressieve kwantisering' wordt genoemd. Voor eenvoudige zinnen wordt een lagere dataprecisie gebruikt, die overeenkomt met een kleinere bitbreedte. Voor ingewikkelde zinnen wordt een hogere precisie gebruikt.

Hardware

Behalve software hebben de onderzoekers ook een hardware-architectuur ontwikkeld die gespecialiseerd is om SpAtten en het aandachtsmechanisme uit te voeren, terwijl de geheugentoegang geminimaliseerd wordt. Hun architectuurontwerp maakt gebruik van een hoge mate van 'parallellisme': er worden meerdere bewerkingen tegelijkertijd verwerkt op meerdere verwerkingselementen, wat nuttig is omdat het aandachtsmechanisme elk woord van een zin in één keer analyseert.

Door het ontwerp kan SpAtten het belang van tokens en koppen rangschikken in een klein aantal cycli. Over het geheel genomen combineren de software en hardware componenten van SpAtten om onnodige of inefficiënte datamanipulatie te elimineren. Ze richten zich alleen op de taken die nodig zijn om het doel van de gebruiker te bereiken. Dit verlaagt ook het energieverbruik aanzienlijk.

Kunstmatige intelligentie

De onderzoekers denken dat SpAtten nuttig kan zijn voor bedrijven die NLP-modellen gebruiken voor het merendeel van hun kunstmatige intelligentie berekeningen. Hun visie voor de toekomst is dat nieuwe algoritmen en hardware die de redundantie in talen wegnemen, de kosten zullen verlagen en zullen besparen op het stroomverbruik voor NLP-taken in datacenters.

Aan de andere kant van het spectrum zou SpAtten NLP naar kleinere apparaten kunnen brengen. Het kan de batterijduur voor mobiele telefoon- of IoT-apparaten verbeteren. Dat is vooral belangrijk omdat in de toekomst talloze IoT-apparaten met mensen zullen communiceren via spraak en natuurlijke taal. NLP zal de eerste toepassing zijn die fabrikanten willen inzetten. NLP-modellen zullen in de toekomst veelbelovend zijn. Niet alle woorden zijn gelijk - besteed alleen aandacht aan de belangrijke woorden.

Foto: Jose-Luis Olivares, MIT