Kunstig intelligens
Forskere skaber alternativ til GPU

Computervidenskabsmænd fra Rice University, sammen med samarbejdspartnere fra Intel, har udviklet en mere omkostningseffektiv alternativ til GPU. Den nye algoritme kaldes “sub-linear deep learning engine” (SLIDE), og den bruger generelle formål centrale processorer (CPUs) uden specialiseret accelerationshardware.
Resultaterne blev præsenteret på Austin Convention Center, som afholder machine learning systems-konferencen MLSys.
En af de største udfordringer inden for kunstig intelligens (AI) omgærder specialiseret accelerationshardware såsom grafikprocessorer (GPUs). Før de nye udviklinger, mente man, at det var nødvendigt at bruge dette specialiserede accelerationshardware for at accelerere dyb læringsteknologi.
Mange virksomheder har lagt stor vægt på at investere i GPUs og specialiseret hardware til dyb læring, som er ansvarlig for teknologi såsom digitale assistenter, ansigtsgenkendelse og produktanbefalingssystemer. En sådan virksomhed er Nvidia, som producerer Tesla V100 Tensor Core GPUs. Nvidia rapporterede nylig en 41% stigning i deres fjerde kvartalsindtægter i forhold til sidste år.
Udviklingen af SLIDE åbner op for helt nye muligheder.
Anshumali Shrivastava er en adjunktprofessor på Rice’s Brown School of Engineering og hjalp med at opfinde SLIDE sammen med ph.d.-studerende Beidi Chen og Tharun Medini.
“Vore tests viser, at SLIDE er den første intelligente algorithmiske implementering af dyb læring på CPU, der kan overgå GPU-hardwareacceleration på industriel-skala-anbefalingssæt med store fuldt forbundne arkitekturer,” sagde Shrivastava.
SLIDE kommer forbi udfordringen med GPUs på grund af sin helt anderledes tilgang til dyb læring. For tiden er den standardmæssige træningsteknik for dybe neurale netværk “back propagation”, og det kræver matrixmultiplication. Denne arbejdsbyrde kræver brug af GPUs, så forskerne ændrede neuralt netværkstræning, så det kunne løses med hash-tabeller.
Denne nye tilgang reducerer betydeligt den beregningsmæssige overhead for SLIDE. Den nuværende bedste GPU-platform, som virksomheder som Amazon og Google bruger til cloud-baseret dyb læring, har otte Tesla V100s, og prisskiltet er omkring 100.000 dollars.
“Vi har en i laboratoriet, og i vores testtilfælde tog vi en arbejdsbyrde, der er perfekt for V100, en med mere end 100 millioner parametre i store, fuldt forbundne netværk, der passer i GPU-hukommelse,” sagde Shrivastava. “Vi trænede det med det bedste (software) pakke derude, Google’s TensorFlow, og det tog 3 1/2 time at træne.
“Vi viste derefter, at vores nye algoritme kan gøre træningen på en time, ikke på GPUs, men på en 44-kernet Xeon-klasse CPU,” fortsatte han.
Hashing er en type data-indeksmetode opfundet i 1990’erne til internetsøgning. Numeriske metoder bruges til at kode store mængder information som en streng af cifre, der kaldes en hash. Hashes listes for at oprette tabeller, der kan søges hurtigt.
“Det ville have været meningsløst at implementere vores algoritme på TensorFlow eller PyTorch, fordi det første, de gerne vil gøre, er at konvertere, hvad du laver, til et matrixmultiplicationsproblem,” sagde Chen. “Det er præcis, hvad vi ville undgå. Så vi skrev vores egen C++-kode fra scratch.”
Ifølge Shrivastava er den største fordel ved SLIDE, at det er data-parallelt.
“Med data-parallelt mener jeg, at hvis jeg har to data-eksempler, jeg gerne vil træne på, lad os sige, at den ene er et billede af en kat, og den anden af en bus, vil de sandsynligvis aktivere forskellige neuroner, og SLIDE kan opdatere eller træne på disse to uafhængigt,” sagde han. “Dette er en langt bedre udnyttelse af parallelisme for CPUs.”
“Flip-siden, sammenlignet med GPU, er, at vi kræver en stor hukommelse,” sagde han. “Der er en cache-hierarki i hovedhukommelsen, og hvis du ikke er forsigtig med det, kan du løbe ind i et problem kaldet cache-thrashing, hvor du får mange cache-misses.”
SLIDE har åbnet døren for nye måder at implementere dyb læring på, og Shrivastava mener, at det er kun begyndelsen.
“Vi har kun kradsede overfladen,” sagde han. “Der er meget, vi kan gøre for at optimere. Vi har ikke brugt vektorisering, for eksempel, eller indbyggede acceleratorer i CPU, som Intel Deep Learning Boost. Der er mange andre tricks, vi kunne bruge til at gøre dette endnu hurtigere.”










