Skriv ut

Apples processor med en neuronnätskärna bildar skola: maskinintelligensen flyttar in i prylarna. Men också i molnet rustas den upp.

Begreppen som snurrar

När du läser om ”artificiell intelligens” eller ”maskin­inlärning” i affärstidningar och allmänmedia idag, är det oftast artificiella neuronnät som avses. Det här är hur begreppen egentligen hänger ihop med varandra.

Artificiell intelligens (AI) omfattar alla program som beter sig på ett sätt som vi skulle kalla intelligent – här finns allt från stavningskontroll till själv­körande bilar.

Den nya vågen artificiell intelligens omfattar färdigheter som bildigenkänning och röst­tolkning. Det är uppgifter som vi inte förstod hur mycket intelligens de egentligen krävde innan vi började försöka få datorer att utföra dem. Det tog mycket längre tid för datavetenskapen att få datorer att känna igen en katt än att besegra världsmästaren i schack.

Ordet maskininlärning syftar på alla algoritmer, för AI eller annat, där programmeringen av algoritmen sker i en iterativ process, där algoritmens kvalitet steg för steg förfinas. Det kallas träning. Ofta sker träningen genom att algoritmen får se exempel på indata tillsammans med ett facit om hur utdata för detta ska eller inte ska se ut.

Artificiella neuronnät (ANN) är en familj algoritmer för artificiell intelligens. Det är en arkitektur modellerad efter neuronerna i en biologisk hjärna: hur de är kopplade till varandra och hur deras relation mellan in- och utdata ser ut. Näten kan innehålla allt från en enda, till miljontals neuroner.

Historiskt befinner vi oss en brute force-fas när det gäller träning av ANN-näten. De mest imponerande ANN:erna skapas genom trial-and-error av deras topologi och genom upprepade omgångar av maskininlärning med flera dagars träning i kraftfulla grafikkort. Det kan jämföras med prestandan hos ett människobarn, som lär sig känna igen en katt på ett ögonblick.

Djupa artificiella neuronnät består av många skikt av artificiella neuroner. Det är sådana djupa nät som ligger bakom att  artificiella neuronnät under tiotalet plötsligt började producera imponerande resultat efter ha presterat medelmåttigt under decennier.

Begreppet Deep learning syftar på maskinlärning tillämpad på djupa neuronnät.

Neuromorfa chip är neuuronnätsarkitekturer som tar likheten med biologiska hjärnor ytterligare ett steg djupare och exempelvis arbetar asynkront (det finns ingen klockkrets i din hjärna) och använder pulståg i kommunikationen mellan neuronerna istället för klassiskt kodade digitala värden. Pulstågen kan mycket väl vara simulerade; idén är att en mer detaljtrogen arkitektur i sig innehåller en nyckel till ännu mer intelligens, flexibilitet eller effektivitet.

I september lanserade Huawei ett telefonchip med inbyggd neuronkärna. Det satte ljuset på det gamla löftet om bygga artificiell intelligens med en biologisk hjärna som förebild. I ett raskt tempo kom sedan nyheter och låckor från Apple, Intel ST, Nvidia, Imagination, Tesla och Brainchip lanserar om deras neuronnätskärnor. 

De djupa artificiella neuronnätens förmåga att automatöversätta och tolka röst och bilder imponerar och fortsätter att bli bättre för varje ny publicerad forskningsartikel. Halvledarföretagen har svalt tekniken med hull och hår och nu finns fyra stora trender:

• Pengar kastas in. Fram till 2022 kommer chipsmarknaden för artificiell intelligens att växa med 63 procent om året till 130 miljarder kronor. I ljuset av det känns Intels köp av chipföretaget Mobileye för 120 miljarder kronor nästan resonabelt.

• Forskning och utveckling exploderar. Ett kul exempel är att biljetterna till NIPS (Conference on Neural Information Processing Systems) i år såldes ut på bara två veckor, flera månader innan konferensens start. 

• De djupa neuronnäten är på väg att börja köras i mobiltelefoner och andra ändnoder efter att tidigare ha varit tjänster i datormoln. Detta kortar ner responstiderna och möjliggör på så sätt nya funktioner.

Denna artikel har tidigare publicerats i septembernumret av magasinet Elektronik­tidningen.

För dig som jobbar i den svenska elektronik­branschen är Elektronik­tidningen gratis att prenumerera på – våra annonsörer betalar kostnaden.
Här ansöker du om prenumeration (länk).

• Den fjärde trenden är hårdvarustöd. Det är den trenden som den här artikeln handlar om. Artikeln blev vältajmad. Efter att vi bestämde oss för att skriva texten till Elektroniktidningens septembernummer, började nyheterna rasa in om neuronkärnor i chip från Huawei, Apple, Intel, med flera.

Poängen med neuronkärnor i hårdvara är att det kortar ner responstiden, höjer prestanda och sänker energiförbrukningen jämfört att köra neuronnätsalgoritmerna i cpu:er, dsp:er, fpga:er eller gpu:er. 

Processorer har idag dedikerade kärnor för grafik, bildbehandling och video. Från och med nu kommer de också att ha block för neuronnät. 

Processorerna fortsätter att stödja samma mjukvarubibliotek som tidigare, med namn som Caffe, Tensorflow, Torch, CNTK och Theano. Men nu kommer programvaran att kompileras till kärnor specialbyggda för beräkningar i neuronnät.

De nya neuronkärnorna kallas NPU, TPU, DPU, VPU, NCE eller IPU – kärt barn har många namn. Här är orden som förkortningarna är ihoppusslade av: ”neural”, ”tensor”, ”intelligence”, ”unit”, ”engine” och ”compute”.

Den så kallade neuronmotorn i Apples nya telefonchip A11 Bionic fick uppmärksamhet när Apple släppte nya telefoner.

Motorn animerar emojis efter användarnas ansiktsuttryck och hanterar automatisk inloggning genom att mäta upp formen på användarens ansikte. Den kan också vara involverad i kamerans styrning – anpassa inställningarna efter motivet i bild. Den har eller kommer att få ännu fler uppdrag, exempelvis för röststyrning. 

Det här illustrerar en femte kommande neuronnätstrend – en tillväxt av tillämpningar på en hägre nivå än röst, bild och språk.

Neuronnätsprestanda anges just nu typiskt i Tops (teraops) där 1 Tops är är 1000 miljarder operationer per sekund. Operationerna som räknas är klassiska processoroperationer.

A11 Bionic presterar 0,6 Tops. Det kan jämföras med neuronkärnan i Intels processor Myriad X som släpptes i september och levererar 1 Tops.

Också processorn i Huaweis kommande telefon Mate 10 innehåller ett neuronnät. Huawei har angett prestandan på följande sätt: när kärnan i ett test klassificerade innehållet i tusen bilder tappade dess 4000 mAh-batteri 0,19 procent av sin energi och förbrukningen varierade mellan 0,25 och 0,75 watt. 

Google var tidigt ute redan år 2015 med ett neuronchip kallat TPU i sina serverfarmar. Neuronnätet finns i något som kallas för en systolisk array – en arkitektur som försöker minimera minnestrafiken genom att låta data flöda och mötas genom mängder av parallella pipelines.

Det är en bra gissning att systoliska arrayer är den typiska arkitekturlösningen som används i de nya neuronkärnorna, eftersom det är effektiv teknik och dessutom så gammal att den inte stoppas av patenthinder. Men det är bara Google som varit fullt öppen hittills, så det är inte allmänt känt. I Google TPU finns 65000 MAC:ar utspridda i dataflödets väg.

Att de flesta av de nya nya neuronchipen använder systoliska arrayer är en gissnig, men att de är packade med MAC:ar är ett faktum. Neuronnät kan inte få nog av MAC:ar.

MAC betyder multiply-accumulate och är operationen att addera produkten av två tal till en summa. Det är den grundläggande operationen i en matrismultiplikation, vilket i sin tur är vad beräkningar i neuronnät huvudsakligen består av. 

Google TPU är ett serverchip och kan inte jämföras med systemkretsen från Apple. Första generationens TPU klarar på papperet 92 Tops för operationer på åttabitars heltal och 23 Tops för 16 bitars heltal. 

Generation två av Googles TPU arbetar med 16 bitars flyttal. Det är en anpassning till att den används för träning och inte bara för inferenser. Den levererar då 45 Tops.

Det finns en annan arkitektur vid sidan av systoliska arrayer: att trycka in fler MAC:ar i en befintlig DSP. Sådana är utvecklarna redan skickliga i att programmera och MAC:arna kan användas till mer om de är fritt programmerbara. Dessutom är skillnaden i prestanda inte så stor – om man får tro dem som licensierar DSP-kärnor. 

Det gör Cadence, som också pekar på den snabba utvecklingen som ett argument för att ta det lugnt och fortsätta använda DSP-kärnor ett tag till.

– Vi kollade upp alla de olika arkitekturerna som finns för neurala nät, och de ändras nästa dagligen, sade Pulin Desai, produktmarknadschef på Cadence till Elektroniktidningen när företaget i somras lanserade DSP-kärnan Tensilica Vision C5. 

Att den är neuronnätsanpassade är uppenbart om inte annat av det faktum att den har 200 nya instruktioner för neuronnät och innehåller inte mindre än 1024 MAC-kärnor – fyra gånger fler än den hittills vassaste i samma familj.

Också konkurrenten Ceva erbjuder sina DSP-kärnor som plattformar för neuronnät.

Bland implementatörerna har mobilprocessorjätten Qualcomm ännu inte lanserat en neuronkärna. Istället använder företaget hybridlösningen att göra nauronnätsberäkningar i cpd, dsp och gpu. Plattformen kallas Zeroth och är enligt Qualcomm en fullvärdig  ”Neural Processing Engine”.

– Vi har den effekt, de termiska lösningar och den beräkningskraft vi behöver för att köra AI-algoritmer. Det är en poäng i sig att använda en diversifierad arkitektur – olika plattformar passar för olika problem, kommenterar Qualcomms teknikchef Matt Grob på sin blogg.

På samma sätt fortsätter även Mediatek att kompilera neuronnät till sina befintliga kärnor och har inte släppt någon hint om att någon ny arkitektur är på väg.

Intel försöker täcka in neuronnät i allt från superdatorer och server till fordonsautomatisering och IoT-noder. Företaget har inte bara köpt på sig Mobileye för ändamålet utan även Movidius och Nervana.

Med Nervana utvecklas nya asicar. Också fpga:erna från det tidigare Alteraköpet anpassas för neuronnät.

Intel försöker konkurrera i molninfrastrukturen genom att erbjuda träning av neuronnät i Xeon Phi-kort. En ny ännu mer neuronoptimerad version kallad Knights Mill ska släppas innan året är slut

Men Nvidia är den ledande leverantören av hårdvara för träning av neuronnät i datormolnet. Nvidia har redan i ett par chipgenerationer anpassat sina grafikenheter för detta.

Chipen stöder bland annat aritmetik i lägre precision vilket för neuronnät höjer prestanda utan att sänka kvaliteten. Den nya mikroarkitekturen Volta har just börjat släppas i 12 nm i processorfamiljen Xavier, och är både på väg till moln, superdatorer, och självkörande bilar.

Google, Tencent, Amazon, Microsoft och Facebook fortsätter att köpa Nvidias GPU:er för sina datormoln.

Men Tencent och Baidu har också i höst börjat utvärdera AMD:s färska GPU Radeon Instinct för neuronnät..

Nvidias konkurrent AMD kom sent in i matchen och lanserade först i juni stöd för träning av neuronnät.  Radeon Instinct stöder neuronnät i form av 16-bitarsaritmetik och utmanar Nvidias nuvarande GPU-familj P100 med på papperet högre prestanda för 16-bitarsnät.

En uppstickarkonkurrent till de båda är Wave Computing, som säljer sin neuronnätsteknik färdigpaketerat till ett rack för din datahall. I ett rack ryms fyra 3U-moduler och de levererar tillsammans 11000 Tops. De skulle ha börjat leveras under andra kvartalet i år men finns bara i prototyper till utvalda kunder.

Bland serveruppstickarna som ännu inte köpts upp finns Graphcore. Ytterligare annan uppstickare – Knupath – har det varit tyst om det senaste året. Knupath har tidigare rapporterat att dess första produkter använder äldre neuronnätsteknik.

Ytterligare ett företag som utvecklar ett eget neuronnätschip för ändnonder är Microsoft. Det kommer att användas i nästa generation av mixed reality-glasögonen Hololens. 

Håll upp handen framför glasögonen och Hololens överlagrar en bild av handens ben i realtid. Det är en tillämpning som demonstrerar behovet av realtidsrespons. Vad chipet än analyserar måste det hålla samma tempo som ”verkligheten” kring användaren. Därför flyttas neuronnäten nu till noderna.

Kinesiska uppstickare inom hårda neuronchip är på väg. Med elva statliga miljarder i finansiering licenserar universitetsavknopparen Cambricon i Peking ut en IP-kärna för deep learning kallad 1A för tillämpningar från wearables till självkörande bilar. Cambricon kan ta fram ett systemchip åt dig också, eller ett processorkort, eller ett helt system.

Horizon Robotics har i minst ett år arbetat med ett neuronchip kallat Brain Processing Unit som ska dra 2 watt och vara 2–3 gånger snabbare än bästa konkurrenten idag. Till en tjugondel av priset. I ett utvecklingscenter i Nanjing utvecklar företaget teknik för smarta hem, smarta städer och smarta bilar.

Också fpga:er finns i serverhallarna för neuronnätsberäkningar och programvaran för dem utvecklas. Fpga:er är flexibla och har snabba gränssnitt. 

• Microsofts senaste FPGA-kort lanserades i slutet av augusti och heter Brainwave. Det går på Altera Stratix 10-FPGA:er

• Baidu använder hybridkort – XPU:er – med CPU, GPU, och Xilinx-FPGA:er.

• Amazon neuronnätsprogrammerar sina FPGA-servrar med mjukvara från Mipsology.

• Mjukvaruppstickaren Deephi bygger utrymmessnåla åttabitarsnät i FPGA:er och har Xilinx som en av investerarna sedan i somras.