Små fire-bit computere er nu alt hvad du behøver for at træne AI

neural net nappe

Otte bits udgør en byte, så fire bits kaldes en nibble. Computeringeniører har en sjov sans for humor. Fru Tech | Velkomst samling





Dyb læring er et ineffektivt energisvin . Det kræver enorme mængder data og rigelige beregningsressourcer, hvilket eksploderer dets elforbrug. I de sidste par år har den overordnede forskningstendens gjort problemet værre. Modeller af gigantiske proportioner - trænet på milliarder af datapunkter i flere dage - er på mode og forsvinder sandsynligvis ikke snart.

Nogle forskere har skyndt sig at finde nye retninger, som algoritmer, der kan trænes videre mindre data , eller hardware, der kan køre disse algoritmer hurtigere . Nu foreslår IBM-forskere en anden. Deres idé ville reducere antallet af bits, eller en s og 0 s, der er nødvendige for at repræsentere dataene - fra 16 bit, den nuværende industristandard, til kun fire.

Det arbejde , som præsenteres i denne uge på NeurIPS, den største årlige AI-forskningskonference, kunne øge hastigheden og reducere de nødvendige energiomkostninger til at træne dyb læring med mere end syv gange. Det kunne også gøre træning af kraftfulde AI-modeller mulig på smartphones og andre små enheder, hvilket ville forbedre privatlivets fred ved at hjælpe med at opbevare personlige data på en lokal enhed. Og det ville gøre processen mere tilgængelig for forskere uden for store, ressourcerige teknologivirksomheder.



Hvordan bits virker

Du har sikkert hørt før, at computere gemmer ting i en s og 0 s. Disse grundlæggende informationsenheder er kendt som stykker . Når en bit er tændt, svarer det til en en ; når den er slukket, bliver den til en 0 . Hver bit kan med andre ord kun lagre to stykker information.

Men når du først sætter dem sammen, vokser mængden af ​​information, du kan kode, eksponentielt. To bits kan repræsentere fire stykker information, fordi der er 2^2 kombinationer: 00 , 01 , 10 , og elleve . Fire bits kan repræsentere 2^4 eller 16 stykker information. Otte bits kan repræsentere 2^8 eller 256. Og så videre.

Den rigtige kombination af bit kan repræsentere typer data som tal, bogstaver og farver eller typer operationer som addition, subtraktion og sammenligning. De fleste bærbare computere er i dag 32- eller 64-bit-computere. Det betyder ikke, at computeren kun kan kode 2^32 eller 2^64 stykker information i alt. (Det ville være en meget klam computer.) Det betyder, at den kan bruge så mange stykker kompleksitet til at kode hvert stykke data eller individuelle handlinger.



4-bit dyb læring

Så hvad betyder 4-bit træning? Nå, til at starte med har vi en 4-bit computer, og dermed 4 bits kompleksitet. En måde at tænke på dette: Hvert enkelt tal, vi bruger under træningsprocessen, skal være et af 16 hele tal mellem -8 og 7, fordi det er de eneste tal, som vores computer kan repræsentere. Det gælder de datapunkter, vi føder ind i det neurale netværk, de tal, vi bruger til at repræsentere det neurale netværk, og de mellemliggende tal, vi skal gemme under træning.

Så hvordan gør vi dette? Lad os først tænke på træningsdataene. Forestil dig, at det er en hel masse sort-hvide billeder. Trin et: Vi skal konvertere disse billeder til tal, så computeren kan forstå dem. Vi gør dette ved at repræsentere hver pixel i form af dens gråtoneværdi - 0 for sort, 1 for hvid og decimalerne imellem for gråtonerne. Vores billede er nu en liste over tal, der spænder fra 0 til 1. Men i 4-bit land har vi brug for, at det går fra -8 til 7. Tricket her er at skalere vores liste over tal lineært, så 0 bliver -8 og 1 bliver til 7, og decimalerne afbildes til de heltal i midten. Så:

Du kan skalere din liste med tal fra 0 til 1 for at strække mellem -8 og 7 og derefter afrunde eventuelle decimaler til et helt tal.



Denne proces er ikke perfekt. Hvis du startede med tallet 0,3, f.eks. ville du ende med det skalerede tal -3,5. Men vores fire bit kan kun repræsentere hele tal, så du skal runde -3,5 til -4. Du ender med at miste nogle af de grå nuancer, eller såkaldte præcision , på dit billede. Du kan se, hvordan det ser ud på billedet nedenfor.

Jo lavere antal bits, jo færre detaljer har billedet. Det er det, man kalder et tab af præcision .

Dette trick er ikke for lurvet til træningsdataene. Men når vi anvender det igen på selve det neurale netværk, bliver tingene lidt mere komplicerede.



Et neuralt netværk.

Vi ser ofte neurale netværk tegnet som noget med noder og forbindelser, som billedet ovenfor. Men for en computer bliver disse også til en række tal. Hver knude har en såkaldt aktivering værdi, som normalt går fra 0 til 1, og hver forbindelse har en vægt , som normalt går fra -1 til 1.

Vi kunne skalere disse på samme måde, som vi gjorde med vores pixels, men aktiveringer og vægte ændrer sig også med hver træningsrunde. For eksempel varierer aktiveringerne nogle gange fra 0,2 til 0,9 i en runde og 0,1 til 0,7 i en anden. Så IBM-gruppen fandt ud af et nyt trick tilbage i 2018: at omskalere disse områder til at strække sig mellem -8 og 7 i hver runde (som vist nedenfor), hvilket effektivt undgår at miste for meget præcision.

IBM-forskerne omskalerer aktiveringerne og vægtene i det neurale netværk for hver træningsrunde for at undgå at miste for meget præcision.

Men så står vi tilbage med en sidste brik: hvordan man repræsenterer i fire bit de mellemværdier, der dukker op under træning. Det, der er udfordrende, er, at disse værdier kan spænde over flere størrelsesordener, i modsætning til de tal, vi håndterede for vores billeder, vægte og aktiveringer. De kan være små, som 0,001, eller enorme, som 1.000. Hvis du prøver at skalere dette lineært til mellem -8 og 7, mister du al granulariteten i den lille ende af skalaen.

Lineært skalering af tal, der spænder over flere størrelsesordener, mister al granulariteten i den lille ende af skalaen. Som du kan se her, vil ethvert tal mindre end 100 blive skaleret til -8 eller -7. Manglen på præcision ville skade den endelige ydeevne af AI-modellen.

Efter to års forskning slog forskerne endelig puslespillet: ved at låne en eksisterende idé fra andre, skalerer de disse mellemtal. logaritmisk . For at se, hvad jeg mener, er nedenfor en logaritmisk skala, du måske genkender, med en såkaldt base på 10, der kun bruger fire bits af kompleksitet. (Forskerne bruger i stedet en base på 4, fordi forsøg og fejl viste, at dette fungerede bedst.) Du kan se, hvordan det lader dig indkode både små og store tal inden for bitbegrænsningerne.

En logaritmisk skala med basis 10.

Med alle disse stykker på plads viser dette seneste papir, hvordan de hænger sammen. IBM-forskerne kører adskillige eksperimenter, hvor de simulerer 4-bit træning til en række dyb-læringsmodeller inden for computersyn, tale og naturligt sprogbehandling. Resultaterne viser et begrænset tab af nøjagtighed i modellernes samlede ydeevne sammenlignet med 16-bit deep learning. Processen er også mere end syv gange hurtigere og syv gange mere energieffektiv.

Fremtidigt arbejde

Der er stadig flere trin, før 4-bit deep learning bliver en reel praksis. Kun papiret simulerer resultaterne af denne form for træning. At gøre det i den virkelige verden ville kræve ny 4-bit hardware. I 2019 lancerede IBM Research et AI Hardware Center for at accelerere processen med at udvikle og producere sådant udstyr. Kailash Gopalakrishnan, en IBM-stipendiat og seniorleder, der overvågede dette arbejde, siger, at han forventer at have 4-bit hardware klar til dyb læring om tre til fire år.

Små AI-modeller kunne overlade autokorrektur og stemmeassistenter på din telefon

Boris Murmann, professor ved Stanford, som ikke var involveret i forskningen, kalder resultaterne spændende. Denne fremgang åbner døren for træning i miljøer med begrænsede ressourcer, siger han. Det ville ikke nødvendigvis gøre nye applikationer mulige, men det ville gøre eksisterende hurtigere og mindre batteridrænende med en god margin. Apple og Google har for eksempel i stigende grad forsøgt at flytte processen med at træne deres AI-modeller, som tale-til-tekst og autokorrektursystemer, væk fra skyen og over på brugertelefoner . Dette bevarer brugernes privatliv ved at opbevare deres data på deres egen telefon, mens det stadig forbedrer enhedens AI-egenskaber.

Men Murmann bemærker også, at der skal gøres mere for at verificere forskningens forsvarlighed. I 2016, hans gruppe udgivet et papir der demonstrerede 5-bit træning. Men tilgangen holdt ikke op gennem årene. Vores enkle tilgang faldt fra hinanden, fordi neurale netværk blev meget mere følsomme, siger han. Så det er ikke klart, om en teknik som denne også ville overleve tidens tand.

Ikke desto mindre vil avisen motivere andre mennesker til at se meget nøje på dette og stimulere nye ideer, siger han. Dette er et meget velkomment fremskridt.

skjule