Små fyra-bitars datorer är nu allt du behöver för att träna AI

neuralt nätnagg

Åtta bitar utgör en byte, så fyra bitar kallas en nibble. Dataingenjörer har en rolig humor. Ms Tech | Välkommen samling





Djup lärande är en ineffektiv energisvin . Det kräver enorma mängder data och rikliga beräkningsresurser, vilket exploderar dess elförbrukning. Under de senaste åren har den övergripande forskningstrenden förvärrat problemet. Modeller av gigantiska proportioner – tränade på miljarder datapunkter i flera dagar – är på modet och kommer förmodligen inte att försvinna någon gång snart.

Vissa forskare har rusat för att hitta nya riktningar, som algoritmer som kan tränas vidare mindre data , eller hårdvara som kan kör dessa algoritmer snabbare . Nu föreslår IBM-forskare en annan. Deras idé skulle minska antalet bitar, eller ett s och 0 s, som behövs för att representera data – från 16 bitar, den nuvarande industristandarden, till endast fyra.

De arbete , som presenteras denna vecka på NeurIPS, den största årliga AI-forskningskonferensen, skulle kunna öka hastigheten och minska energikostnaderna som behövs för att träna djupinlärning med mer än sju gånger. Det kan också göra träning av kraftfulla AI-modeller möjlig på smartphones och andra små enheter, vilket skulle förbättra integriteten genom att hjälpa till att hålla personlig information på en lokal enhet. Och det skulle göra processen mer tillgänglig för forskare utanför stora, resursrika teknikföretag.



Hur bitar fungerar

Du har säkert hört förut att datorer lagrar saker i ett s och 0 s. Dessa grundläggande informationsenheter är kända som bitar . När en bit är på, motsvarar den en ett ; när den är avstängd förvandlas den till en 0 . Varje bit kan med andra ord bara lagra två delar av information.

Men när du väl sammanfogar dem växer mängden information du kan koda exponentiellt. Två bitar kan representera fyra delar av information eftersom det finns 2^2 kombinationer: 00 , 01 , 10 , och elva . Fyra bitar kan representera 2^4 eller 16 delar av information. Åtta bitar kan representera 2^8 eller 256. Och så vidare.

Rätt kombination av bitar kan representera typer av data som siffror, bokstäver och färger, eller typer av operationer som addition, subtraktion och jämförelse. De flesta bärbara datorer är idag 32- eller 64-bitars datorer. Det betyder inte att datorn bara kan koda 2^32 eller 2^64 informationsbitar totalt. (Det skulle vara en väldigt trasig dator.) Det betyder att den kan använda så många bitar av komplexitet för att koda varje databit eller individuell operation.



4-bitars djupinlärning

Så vad betyder 4-bitars träning? Tja, till att börja med har vi en 4-bitars dator, och därmed 4 bitars komplexitet. Ett sätt att tänka på detta: varje enskilt tal vi använder under träningsprocessen måste vara ett av 16 heltal mellan -8 och 7, eftersom det är de enda talen som vår dator kan representera. Det gäller de datapunkter vi matar in i det neurala nätverket, siffrorna vi använder för att representera det neurala nätverket och de mellanliggande siffrorna vi behöver lagra under träning.

Så hur gör vi detta? Låt oss först tänka på träningsdata. Föreställ dig att det är en hel massa svart-vita bilder. Steg ett: vi måste konvertera dessa bilder till siffror, så att datorn kan förstå dem. Vi gör detta genom att representera varje pixel i termer av dess gråskalevärde – 0 för svart, 1 för vitt och decimalerna mellan för gråtonerna. Vår bild är nu en lista med tal som sträcker sig från 0 till 1. Men i 4-bitars land behöver vi att den sträcker sig från -8 till 7. Tricket här är att linjärt skala vår lista med tal, så 0 blir -8 och 1 blir 7, och decimalerna mappas till heltal i mitten. Så:

Du kan skala din lista med siffror från 0 till 1 för att sträcka dig mellan -8 och 7, och sedan avrunda alla decimaler till ett heltal.



Denna process är inte perfekt. Om du började med siffran 0,3, säg, skulle du sluta med den skalade siffran -3,5. Men våra fyra bitar kan bara representera heltal, så du måste avrunda -3,5 till -4. Det slutar med att du tappar några av de grå nyanserna, eller så kallade precision , i din bild. Du kan se hur det ser ut på bilden nedan.

Ju lägre antal bitar, desto mindre detaljer har fotot. Detta är vad som kallas en förlust av precision .

Det här tricket är inte för sjaskigt för träningsdata. Men när vi applicerar det igen på själva neurala nätverket blir saker lite mer komplicerade.



Ett neuralt nätverk.

Vi ser ofta neurala nätverk ritade som något med noder och anslutningar, som bilden ovan. Men för en dator blir dessa också till en serie siffror. Varje nod har en sk aktivering värde, som vanligtvis sträcker sig från 0 till 1, och varje anslutning har en vikt , som vanligtvis sträcker sig från -1 till 1.

Vi kunde skala dessa på samma sätt som vi gjorde med våra pixlar, men aktiveringar och vikter förändras också för varje träningsomgång. Till exempel varierar aktiveringarna ibland från 0,2 till 0,9 i en omgång och 0,1 till 0,7 i en annan. Så IBM-gruppen kom på ett nytt trick redan 2018: att skala om dessa intervall till att sträcka sig mellan -8 och 7 i varje omgång (som visas nedan), vilket effektivt undviker att förlora för mycket precision.

IBM-forskarna skalar om aktiveringarna och vikterna i det neurala nätverket för varje träningsomgång för att undvika att förlora för mycket precision.

Men sedan har vi en sista bit: hur man i fyra bitar representerar de mellanliggande värdena som dyker upp under träning. Det som är utmanande är att dessa värden kan sträcka sig över flera storleksordningar, till skillnad från siffrorna vi hanterade för våra bilder, vikter och aktiveringar. De kan vara små, som 0,001, eller enorma, som 1 000. Att försöka skala linjärt till mellan -8 och 7 förlorar all granularitet i den lilla änden av skalan.

Linjärt skalande tal som sträcker sig över flera storleksordningar förlorar all granularitet i den lilla änden av skalan. Som du kan se här, skulle alla tal som är mindre än 100 skalas till -8 eller -7. Bristen på precision skulle skada AI-modellens slutliga prestanda.

Efter två års forskning slog forskarna äntligen pusslet: genom att låna en befintlig idé från andra, skalar de dessa mellansiffror logaritmiskt . För att se vad jag menar, nedan är en logaritmisk skala som du kanske känner igen, med en så kallad bas på 10, med endast fyra bitar av komplexitet. (Forskarna använder istället en bas på 4, eftersom trial and error visade att detta fungerade bäst.) Du kan se hur det låter dig koda både små och stora siffror inom bitbegränsningarna.

En logaritmisk skala med bas 10.

Med alla dessa bitar på plats visar detta senaste papper hur de går ihop. IBM-forskarna kör flera experiment där de simulerar 4-bitars träning för en mängd olika modeller för djupinlärning inom datorseende, tal och naturligt språkbehandling. Resultaten visar en begränsad förlust av noggrannhet i modellernas övergripande prestanda jämfört med 16-bitars djupinlärning. Processen är också mer än sju gånger snabbare och sju gånger mer energieffektiv.

Framtida arbete

Det återstår fortfarande flera steg innan 4-bitars djupinlärning blir en faktisk praktik. Endast papper simulerar resultaten av denna typ av träning. Att göra det i den verkliga världen skulle kräva ny 4-bitars hårdvara. Under 2019 lanserade IBM Research ett AI Hardware Center för att påskynda processen att utveckla och producera sådan utrustning. Kailash Gopalakrishnan, en IBM-stipendiat och senior manager som övervakade detta arbete, säger att han förväntar sig att ha 4-bitars hårdvara redo för djupinlärningsutbildning om tre till fyra år.

Små AI-modeller kan ladda autokorrigering och röstassistenter på din telefon

Boris Murmann, professor vid Stanford som inte var inblandad i forskningen, kallar resultaten spännande. Detta framsteg öppnar dörren för utbildning i resursbegränsade miljöer, säger han. Det skulle inte nödvändigtvis göra nya applikationer möjliga, men det skulle göra befintliga snabbare och mindre batteritömmande med god marginal. Apple och Google har till exempel alltmer försökt flytta bort processen att träna sina AI-modeller, som tal-till-text och autokorrigeringssystem. från molnet och till användartelefoner . Detta bevarar användarnas integritet genom att behålla deras data på sin egen telefon samtidigt som enhetens AI-kapacitet förbättras.

Men Murmann noterar också att mer behöver göras för att verifiera forskningens sundhet. 2016, hans grupp publicerade en tidning som visade 5-bitars träning. Men tillvägagångssättet höll inte i sig under åren. Vårt enkla tillvägagångssätt föll isär eftersom neurala nätverk blev mycket känsligare, säger han. Så det är inte klart om en teknik som denna också skulle överleva tidens tand.

Ändå kommer tidningen att motivera andra människor att titta på detta mycket noggrant och stimulera till nya idéer, säger han. Detta är ett mycket välkommet framsteg.

Dölj