AI-modeller och plattformar
Forskare skapar alternativ till GPU

Datorsystemforskare från Rice University, tillsammans med samarbetspartner från Intel (INTC ), har utvecklat ett mer kostnadseffektivt alternativ till GPU. Den nya algoritmen kallas “sub-linjär djupinlärningsmotor” (SLIDE), och den använder allmänna centralprocessorer (CPUs) utan specialiserad accelereringshårdvara.
Resultaten presenterades på Austin Convention Center, som håller machine learning systems-konferensen MLSys.
En av de största utmaningarna inom artificiell intelligens (AI) omger specialiserad accelereringshårdvara, såsom grafikprocessorer (GPUs). Före de nya utvecklingarna trodde man att det var nödvändigt att använda denna specialiserade accelereringshårdvara för att påskynda djupinlärningstekniken.
Många företag har lagt stor vikt vid att investera i GPUs och specialiserad hårdvara för djupinlärning, som är ansvarig för teknologi som digitala assistenter, ansiktsigenkänning och produktrekommendationssystem. Ett sådant företag är Nvidia (NVDA ), som skapar Tesla (TSLA ) V100 Tensor Core GPUs. Nvidia rapporterade nyligen en 41-procentig ökning av sin fjärde kvartalsintäkter jämfört med föregående år.
Utvecklingen av SLIDE öppnar upp helt nya möjligheter.
Anshumali Shrivastava är biträdande professor vid Rice’s Brown School of Engineering och hjälpte till att uppfinna SLIDE tillsammans med doktorander Beidi Chen och Tharun Medini.
“Våra tester visar att SLIDE är den första smarta algoritmiska implementeringen av djupinlärning på CPU som kan överträffa GPU-hårdvaruacceleration på industriell skala för rekommendationsdata med stora fullständigt anslutna arkitekturer”, sa Shrivastava.
SLIDE löser utmaningen med GPUs på grund av sin helt annorlunda tillvägagångssätt för djupinlärning. För närvarande är den standardiserade träningsmetoden för djupa neurala nätverk “bakåtpropagering”, och den kräver matrismultiplikation. Denna arbetsbelastning kräver användning av GPUs, så forskarna ändrade neurala nätverksträningen så att den kunde lösas med hashtabeller.
Detta nya tillvägagångssätt minskar den beräkningsmässiga överbelastningen för SLIDE avsevärt. Den nuvarande bästa GPU-plattformen som företag som Amazon (AMZN ) och Google (GOOGL ) använder för molnbaserad djupinlärning har åtta Tesla V100, och prislappen är runt 100 000 dollar.
“Vi har en i labbet, och i vårt testfall tog vi en arbetsbelastning som är perfekt för V100, en med mer än 100 miljoner parametrar i stora, fullständigt anslutna nätverk som passar i GPU-minne”, sa Shrivastava. “Vi tränade det med det bästa (programvarupaketet) där ute, Google’s TensorFlow, och det tog 3,5 timmar att träna.
“Sedan visade vi att vår nya algoritm kan göra träningen på en timme, inte på GPUs utan på en 44-kärnig Xeon-klass CPU”, fortsatte han.
Hashning är en typ av dataindexeringsmetod som uppfanns på 1990-talet för internet-sökning. Numeriska metoder används för att koda stora mängder information som en sträng av siffror, som kallas en hash. Hash-värden listas för att skapa tabeller som kan sökas snabbt.
“Det skulle ha varit meningslöst att implementera vår algoritm på TensorFlow eller PyTorch eftersom det första de vill göra är att konvertera vad du gör till ett matrismultiplikationsproblem”, sa Chen. “Det är precis vad vi ville komma ifrån. Så vi skrev vår egen C++-kod från scratch.”
Enligt Shrivastava är den största fördelen med SLIDE att den är data-parallell.
“Med data-parallell menar jag att om jag har två dataexempel som jag vill träna på, låt säga ett är en bild av en katt och det andra av en buss, kommer de sannolikt att aktivera olika neuroner, och SLIDE kan uppdatera, eller träna på dessa två oberoende”, sa han. “Detta är en mycket bättre utnyttjande av parallellism för CPUs.”
“Den motsatta sidan, jämfört med GPU, är att vi kräver stort minne”, sa han. “Det finns en cachehierarki i huvudminnet, och om du inte är försiktig med det kan du springa in i ett problem som kallas cache-thrashing, där du får många cache-missar.”
SLIDE har öppnat dörren för nya sätt att implementera djupinlärning, och Shrivastava tror att det bara är början.
“Vi har bara skrapat på ytan”, sa han. “Det finns mycket mer vi kan göra för att optimera. Vi har inte använt vektorisering, till exempel, eller inbyggda acceleratorer i CPU, som Intel Deep Learning Boost. Det finns många andra knep vi kunde använda för att göra detta ännu snabbare.”












