Rice Universitys Anshumali Shrivastava ledede et team, der demonstrerede, hvordan man implementerer deep learning-teknologi uden specialiseret accelerationshardware som grafikbehandlingsenheder. Kredit:Jeff Fitlow/Rice University
Rice University dataloger har overvundet en stor hindring i den spirende kunstig intelligens-industri ved at vise, at det er muligt at fremskynde deep learning-teknologi uden specialiseret accelerationshardware som grafikprocessorenheder (GPU'er).
Dataloger fra Rice, understøttet af samarbejdspartnere fra Intel, vil præsentere deres resultater i dag på Austin Convention Center som en del af maskinlæringssystemkonferencen MLSys.
Mange virksomheder investerer massivt i GPU'er og anden specialiseret hardware for at implementere deep learning, en kraftfuld form for kunstig intelligens, der ligger bag digitale assistenter som Alexa og Siri, ansigtsgenkendelse, produktanbefalingssystemer og andre teknologier. For eksempel, Nvidia, skaberen af branchens guldstandard Tesla V100 Tensor Core GPU'er, rapporterede for nylig en stigning på 41 % i sin omsætning i fjerde kvartal sammenlignet med året før.
Risforskere skabte et omkostningsbesparende alternativ til GPU, en algoritme kaldet "sub-linear deep learning engine" (SLIDE), der bruger generelle formål centralbehandlingsenheder (CPU'er) uden specialiseret accelerationshardware.
"Vores test viser, at SLIDE er den første smarte algoritmiske implementering af dyb læring på CPU, der kan overgå GPU-hardwareacceleration på anbefalingsdatasæt i branchestørrelse med store fuldt tilsluttede arkitekturer, "sagde Anshumali Shrivastava, en assisterende professor i Rice's Brown School of Engineering, der opfandt SLIDE med kandidatstuderende Beidi Chen og Tharun Medini.
SLIDE behøver ikke GPU'er, fordi det tager en grundlæggende anderledes tilgang til dyb læring. Standard "tilbage-propagation" træningsteknikken til dybe neurale netværk kræver matrix multiplikation, en ideel arbejdsbyrde for GPU'er. Med SLIDE, Shrivastava, Chen og Medini forvandlede neurale netværkstræning til et søgeproblem, der i stedet kunne løses med hash-tabeller.
Dette reducerer den beregningsmæssige overhead for SLIDE radikalt sammenlignet med træning i rygudbredelse. For eksempel, en top-of-the-line GPU-platform som dem Amazon, Google og andre tilbud til cloud-baserede deep learning-tjenester har otte Tesla V100'er og koster omkring $ 100, 000, sagde Shrivastava.
Vi har en i laboratoriet, og i vores testcase tog vi en arbejdsbyrde, der er perfekt til V100, en med mere end 100 millioner parametre i stort, fuldt tilsluttede netværk, der passer i GPU-hukommelse, " sagde han. "Vi trænede det med den bedste (software) pakke derude, Googles TensorFlow, og det tog 3 1/2 time at træne.
"Vi viste derefter, at vores nye algoritme kan udføre træningen på en time, ikke på GPU'er, men på en 44-core Xeon-klasse CPU, "Sagde Shrivastava.
Deep learning netværk var inspireret af biologi, og deres centrale træk, kunstige neuroner, er små stykker computerkode, der kan lære at udføre en bestemt opgave. Et dybt læringsnetværk kan indeholde millioner eller endda milliarder af kunstige neuroner, og i samarbejde kan de lære at skabe menneskelig niveau, ekspertbeslutninger blot ved at studere store mængder data. For eksempel, hvis et dybt neuralt netværk er trænet til at identificere objekter på fotos, den vil bruge forskellige neuroner til at genkende et foto af en kat, end den vil genkende en skolebus.
"Du behøver ikke at træne alle neuroner i alle tilfælde, " sagde Medini. "Vi troede, "Hvis vi kun vil vælge de neuroner, der er relevante, så er det et søgeproblem.' Så, algoritmisk, ideen var at bruge lokalitetsfølsom hashing for at komme væk fra matrixmultiplikation."
Hashing er en dataindekseringsmetode, der blev opfundet til internetsøgning i 1990'erne. Den bruger numeriske metoder til at kode store mængder information, som hele websider eller kapitler i en bog, som en række cifre kaldet hash. Hash-tabeller er lister over hashes, der kan søges meget hurtigt.
"Det ville ikke have givet nogen mening at implementere vores algoritme på TensorFlow eller PyTorch, fordi det første, de vil gøre, er at konvertere det, du laver, til et matrixmultiplikationsproblem, " sagde Chen. "Det er præcis det, vi ønskede at komme væk fra. Så vi skrev vores egen C++-kode fra bunden."
Shrivastava sagde, at SLIDEs største fordel i forhold til tilbage-udbredelse er, at det er data parallelt.
"Med data parallel mener jeg, at hvis jeg har to dataforekomster, som jeg vil træne på, lad os sige, at det ene er et billede af en kat og det andet af en bus, de vil sandsynligvis aktivere forskellige neuroner, og SLIDE kan opdatere, eller træne på disse to uafhængigt, " sagde han. "Dette er en meget bedre udnyttelse af parallelitet for CPU'er.
"Den bagside, sammenlignet med GPU, er, at vi kræver en stor hukommelse, " sagde han. "Der er et 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 en masse cache-misser."
Shrivastava sagde, at hans gruppes første eksperimenter med SLIDE producerede betydelig cache-thashing, men deres træningstider var stadig sammenlignelige med eller hurtigere end GPU-træningstider. Så han, Chen og Medini offentliggjorde de første resultater den arXiv marts 2019 og uploadede deres kode til GitHub. Et par uger senere, de blev kontaktet af Intel.
"Vores samarbejdspartnere fra Intel anerkendte cacheproblemet, " sagde han. "De fortalte os, at de kunne arbejde sammen med os for at få det til at træne endnu hurtigere, og de havde ret. Vores resultater blev forbedret med omkring 50 % med deres hjælp."
Shrivastava sagde, at SLIDE endnu ikke er kommet tæt på at nå sit potentiale.
"Vi har lige ridset overfladen, "sagde han." Der er meget, vi stadig kan gøre for at optimere. Vi har ikke brugt vektorisering, for eksempel, eller indbyggede acceleratorer i CPU'en, som Intel Deep Learning Boost. Der er en masse andre tricks, vi stadig kunne bruge til at gøre dette endnu hurtigere."
Shrivastava sagde, at SLIDE er vigtigt, fordi det viser, at der er andre måder at implementere dyb læring på.
"Hele budskabet er, 'Lad os ikke blive flaskehalsede af multiplikationsmatrix og GPU-hukommelse, "" sagde Chen. "Vores kan være den første algoritmiske tilgang til at slå GPU, men jeg håber ikke det er den sidste. Området har brug for nye ideer, og det er en stor del af, hvad MLSys handler om."