Kunstmatige intelligentie
Onderzoekers creëren alternatief voor GPU

Computerspecialisten van de Rice University, samen met medewerkers van Intel, hebben een meer kostenefficiënt alternatief voor GPU ontwikkeld. De nieuwe algoritme heet “sub-lineaire diepe leerengine” (SLIDE) en maakt gebruik van algemene centrale verwerkingseenheden (CPUs) zonder gespecialiseerde versnellingshardware.
De resultaten werden gepresenteerd in het Austin Convention Center, dat de machine learning systems conference MLSys organiseert.
Een van de grootste uitdagingen binnen kunstmatige intelligentie (AI) heeft betrekking op gespecialiseerde versnellingshardware zoals graphics processing units (GPUs). Voordat de nieuwe ontwikkelingen plaatsvonden, werd aangenomen dat het gebruik van deze gespecialiseerde versnellingshardware vereist was om diepe leer technologie te versnellen.
Veel bedrijven hebben veel belang gehecht aan investeren in GPUs en gespecialiseerde hardware voor diepe leer, die verantwoordelijk is voor technologie zoals digitale assistenten, gezichtsherkenning en productaanbevelingssystemen. Een van deze bedrijven is Nvidia, dat de Tesla V100 Tensor Core GPUs creëert. Nvidia rapporteerde onlangs een stijging van 41% in de omzet in het vierde kwartaal ten opzichte van vorig jaar.
De ontwikkeling van SLIDE opent geheel nieuwe mogelijkheden.
Anshumali Shrivastava is een assistent-professor aan de Brown School of Engineering van Rice en hielp SLIDE uit te vinden met de doctoraalstudenten Beidi Chen en Tharun Medini.
“Onze tests laten zien dat SLIDE de eerste slimme algoritme-implementatie van diepe leer op CPU is die GPU-hardwareversnelling kan overtreffen op industrie-schaal aanbevelingsdatasets met grote volledig verbonden architecturen”, zei Shrivastava.
SLIDE gaat voorbij aan de uitdaging van GPUs vanwege de volledig andere benadering van diepe leer. Momenteel is de standaard trainingsmethode voor diepe neurale netwerken “back propagation” en vereist matrixvermenigvuldiging. Deze workload vereist het gebruik van GPUs, dus de onderzoekers pasten de neurale netwerktraining aan zodat deze opgelost kon worden met hash-tabellen.
Deze nieuwe benadering vermindert de computationele overhead voor SLIDE aanzienlijk. Het huidige beste GPU-platform dat bedrijven zoals Amazon en Google gebruiken voor cloud-gebaseerde diepe leer, heeft acht Tesla V100s en heeft een prijskaartje van ongeveer $100.000.
“We hebben er een in het lab en in ons testgeval namen we een workload die perfect is voor V100, een met meer dan 100 miljoen parameters in grote, volledig verbonden netwerken die in GPU-geheugen passen”, zei Shrivastava. “We trainden het met het beste (software) pakket dat er is, Google’s TensorFlow, en het duurde 3 1/2 uur om te trainen.
“We toonden vervolgens aan dat onze nieuwe algoritme de training in één uur kan doen, niet op GPUs maar op een 44-core Xeon-klasse CPU”, vervolgde hij.
Hashen is een type gegevens-indexmethode die in de jaren 90 is uitgevonden voor internetzoekopdrachten. Numerieke methoden worden gebruikt om grote hoeveelheden informatie te coderen als een reeks cijfers, die een hash wordt genoemd. Hashes worden opgesomd om tabellen te maken die snel kunnen worden doorzocht.
“Het zou geen zin hebben om onze algoritme te implementeren op TensorFlow of PyTorch, omdat de eerste stap die ze willen doen is om alles wat je doet om te zetten in een matrixvermenigvuldigingsprobleem”, zei Chen. “Dat is precies waar we vanaf wilden. Dus we schreven onze eigen C++-code van scratch.”
Volgens Shrivastava is het grootste voordeel van SLIDE dat het gegevensparallel is.
“Met gegevensparallel bedoel ik dat als ik twee gegevensinstanties heb die ik wil trainen, laten we zeggen dat een een afbeelding van een kat is en de andere van een bus, ze waarschijnlijk verschillende neuronen zullen activeren en SLIDE kan deze twee onafhankelijk updaten of trainen”, zei hij. “Dit is een veel betere benutting van parallelisme voor CPUs.”
“De andere kant, in vergelijking met GPU, is dat we een grote hoeveelheid geheugen nodig hebben”, zei hij. “Er is een cache-hiërarchie in het hoofdgeheugen en als je niet voorzichtig bent, kun je een probleem krijgen dat cache thrashing heet, waarbij je veel cache-misses krijgt.”
SLIDE heeft de deur geopend voor nieuwe manieren om diepe leer te implementeren en Shrivastava gelooft dat het pas het begin is.
“We hebben alleen maar het oppervlak geschampt”, zei hij. “Er is nog veel dat we kunnen doen om te optimaliseren. We hebben nog geen vectorisatie gebruikt, of ingebouwde versnellers in de CPU, zoals Intel Deep Learning Boost. Er zijn nog veel trucs die we kunnen gebruiken om dit nog sneller te maken.”










