Forskare använder automatisk differentiering och andra tekniker för att göra djupinlärning snabbare och enklare. Kredit:Purdue University
Artificiell intelligens baserade på djupinlärning förändrar de elektroniska enheterna som omger oss.
Resultaten av denna djupa inlärning är något som ses varje gång en dator förstår vårt tal, vi söker efter en bild på en vän eller så ser vi en lämpligt placerad annons. Men själva djupinlärningen kräver enorma kluster av datorer och veckolånga körningar.
"Metoder som utvecklats av vårt internationella team kommer att minska denna börda, " sa Jeffrey Mark Siskind, professor i el- och datateknik vid Purdue's College of Engineering. "Våra metoder tillåter individer med mer blygsamma datorer att göra de typer av djupinlärning som tidigare krävde multimiljondollarkluster, och tillåta programmerare att skriva program på timmar som tidigare krävde månader."
Deep learning använder en viss typ av kalkyl i sitt hjärta:en smart teknik, kallas automatisk differentiering (AD) i omvänd ackumuleringsläge, för att effektivt beräkna hur justeringar av ett stort antal kontroller kommer att påverka ett resultat.
"Sofistikerade mjukvarusystem och gigantiska datorkluster har byggts för att utföra just denna beräkning, sa Barak Pearlmutter, professor i datavetenskap vid Maynooth University i Irland, och den andra huvudmannen för detta samarbete. "Dessa system ligger till grund för mycket av AI i samhället:taligenkänning, internetsökning, bildförståelse, ansiktsigenkänning, maskinöversättning och placering av annonser."
En stor begränsning för dessa system för djupinlärning är att de stödjer just denna AD-beräkning väldigt rigidt.
"Dessa system fungerar bara på mycket begränsade typer av datorprogram:de som förbrukar siffror på sin inmatning, utföra samma numeriska operationer på dem oavsett deras värden, och mata ut de resulterande siffrorna, " sa Siskind.
Forskarna sa att en annan begränsning är att AD-operationen kräver mycket datorminne. Dessa begränsningar begränsar storleken och sofistikeringen av de djupinlärningssystem som kan byggas. Till exempel, de gör det svårt att bygga ett djupinlärningssystem som utför en varierande mängd beräkningar beroende på svårigheten för den specifika ingången, en som försöker förutse handlingar av en intelligent adaptiv användare, eller en som producerar ett datorprogram som sin utdata.
Siskind sa att samarbetet syftar till att häva dessa restriktioner.
En rad innovationer tillåter inte bara omvänt AD, men andra former av AD, att användas effektivt; för att dessa operationer ska kaskadkopplas, och tillämpas inte bara på stela beräkningar utan också på godtyckliga datorprogram; för att öka effektiviteten i dessa processer; och för att kraftigt minska mängden erforderligt datorminne.
"Vanligtvis kommer den här typen av vinster till priset av att öka bördan på datorprogrammerare, " sa Siskind. "Här, de utvecklade teknikerna tillåter denna ökade flexibilitet och effektivitet samtidigt som de avsevärt minskar det arbete som datorprogrammerare som bygger AI-system kommer att behöva göra."
Till exempel, en teknik som kallas "checkpoint reverse AD" för att minska minneskraven var tidigare känd, men kunde bara användas i begränsade inställningar, var mycket krångligt, och krävde en hel del extraarbete från datorprogrammerarna som byggde upp djupinlärningssystemen.
En metod som utvecklats av teamet gör det möjligt att minska minneskraven för alla datorprogram, och kräver inget extra arbete från datorprogrammerarna som bygger AI-systemen.
"Den massiva minskningen av RAM som krävs för att träna AI-system borde göra det möjligt att bygga mer sofistikerade system, och bör tillåta maskininlärning att utföras på mindre maskiner – smarta telefoner istället för enorma datorkluster, " sa Siskind.
Som helhet, denna teknik har potential att göra det mycket lättare att bygga sofistikerade djupinlärningsbaserade AI-system.
"Dessa teoretiska framsteg byggs in i en mycket effektiv fullfjädrad implementering som körs på både CPU:er och GPU:er och stöder ett brett utbud av standardkomponenter som används för att bygga djupinlärningsmodeller, " sa Siskind.