Processor för djupinlärning

En djupinlärningsprocessor ( DLP ), eller en djupinlärningsaccelerator , är en elektronisk krets designad för djupinlärningsalgoritmer , vanligtvis med separat dataminne och dedikerad instruktionsuppsättningsarkitektur . Processorer för djupinlärning sträcker sig från mobila enheter, som neurala bearbetningsenheter (NPU) i Huawei- mobiltelefoner, till molnservrar som t.ex. tensorbehandlingsenheter (TPU) i Google Cloud Platform .

Målet med DLP:er är att ge högre effektivitet och prestanda för algoritmer för djupinlärning än vad allmänna centralprocessorer (CPU) och grafikprocessorer ( GPU) skulle göra. De flesta DLP:er använder ett stort antal datorkomponenter för att utnyttja parallellitet på hög datanivå, en relativt större buffert/minne på chipet för att utnyttja mönstren för återanvändning av data och begränsade databreddsoperatörer för felresiliens vid djupinlärning. Deep learning-processorer skiljer sig från AI-acceleratorer genom att de är specialiserade för att köra inlärningsalgoritmer, medan AI-acceleratorer vanligtvis är mer specialiserade för slutledning. De två termerna (DLP vs AI-accelerator) används dock inte rigoröst och det finns ofta överlappning mellan de två.

Historia

Användningen av CPU:er/GPU:er

I början användes allmänna processorer för att utföra algoritmer för djupinlärning. Senare introduceras GPU:er till domänen för djupinlärning. Till exempel, 2012, antog Alex Krizhevsky två GPU:er för att träna ett nätverk för djupinlärning, dvs AlexNet, som vann mästaren i ISLVRC-2012-tävlingen. När intresset för algoritmer för djupinlärning och DLP fortsätter att öka, börjar GPU-tillverkare lägga till funktioner för djupinlärning i både hårdvara (t.ex. INT8-operatörer) och mjukvara (t.ex. cuDNN Library). Till exempel släppte Nvidia till och med Turing Tensor Core – en DLP – för att påskynda bearbetningen av djup inlärning.

Den första DLP

För att ge högre effektivitet i prestanda och energi börjar domänspecifik design dra till sig stor uppmärksamhet. År 2014, Chen et al. föreslog den första DLP i världen, DianNao (kinesiska för "elektrisk hjärna"), för att accelerera speciellt djupa neurala nätverk. DianNao ger 452 Gop/s toppprestanda (av nyckeloperationer i djupa neurala nätverk) endast i ett litet fotavtryck på 3,02 mm2 och 485 mW. Senare föreslås efterträdarna (DaDianNao, ShiDianNao, PuDianNao) av samma grupp, som bildar DianNao-familjen

De blommande DLP:erna

Inspirerad från pionjärarbetet hos DianNao Family, föreslås många DLP:er i både akademin och industrin med design optimerad för att utnyttja funktionerna i djupa neurala nätverk för hög effektivitet. Endast vid ISCA 2016 handlar tre sessioner, 15 % (!) av de accepterade artiklarna, alla arkitekturdesigner om djupt lärande. Sådana ansträngningar inkluderar Eyeriss (MIT), EIE (Stanford), Minerva (Harvard), Stripes (University of Toronto) inom akademin och TPU (Google), MLU (Cambricon) inom industrin. Vi listade flera representativa verk i tabell 1.

Tabell 1. Typiska DLP:er
År DLP:er Institution Typ Beräkning Minneshierarki Kontrollera Topprestation
2014 DianNao IKT, CAS digital vektor MAC scratchpad VLIW 452 Gops (16-bitars)
DaDianNao IKT, CAS digital vektor MAC scratchpad VLIW 5.58 Toppar (16-bitars)
2015 ShiDianNao IKT, CAS digital skalära MAC scratchpad VLIW 194 Gops (16-bitars)
PuDianNao IKT, CAS digital vektor MAC scratchpad VLIW 1 056 Gops (16-bitars)
2016 DnnWeaver Georgia Tech digital Vektor MAC scratchpad - -
EIE Stanford digital skalära MAC scratchpad - 102 Gops (16-bitars)
Eyeriss MIT digital skalära MAC scratchpad - 67.2 Gops (16-bitars)
främsta UCSB hybrid Process-in-Memory ReRAM - -
2017 TPU Google digital skalära MAC scratchpad CISC 92 toppar (8-bitars)
PipeLayer U i Pittsburgh hybrid Process-in-Memory ReRAM -
FlexFlow IKT, CAS digital skalära MAC scratchpad - 420 Gops ()
2018 MAERI Georgia Tech digital skalära MAC scratchpad -
PermDNN City University of New York digital vektor MAC scratchpad - 614.4 Gops (16-bitars)
2019 FPSA Tsinghua hybrid Process-in-Memory ReRAM -
Cambricon-F IKT, CAS digital vektor MAC scratchpad FISA 14,9 toppar (F1, 16-bitars)

956 Tops (F100, 16-bitars)

DLP-arkitektur

Med den snabba utvecklingen av algoritmer för djupinlärning och DLP:er har många arkitekturer utforskats. Grovt sett kan DLP klassificeras i tre kategorier baserat på deras implementering: digitala kretsar, analoga kretsar och hybridkretsar. Eftersom de rena analoga DLP:erna sällan ses, introducerar vi de digitala DLP:erna och hybrid-DLP:erna.

Digitala DLP:er

Huvudkomponenterna i DLPs arkitektur inkluderar vanligtvis en beräkningskomponent, minneshierarkin på chipet och kontrolllogiken som hanterar datakommunikationen och beräkningsflödena.

När det gäller beräkningskomponenten, eftersom de flesta operationer inom djupinlärning kan aggregeras till vektoroperationer, är de vanligaste sätten att bygga beräkningskomponenter i digitala DLP:er den MAC -baserade (multiplikator-ackumulering) organisationen, antingen med vektor-MAC:er eller skalära MAC:er. Snarare än SIMD eller SIMT i allmänna bearbetningsenheter, är djupinlärningsdomänspecifik parallellitet bättre utforskad på dessa MAC-baserade organisationer. När det gäller minneshierarkin, eftersom algoritmer för djupinlärning kräver hög bandbredd för att förse beräkningskomponenten med tillräcklig data, använder DLP:er vanligtvis en relativt större storlek (tiotals kilobyte eller flera megabyte) på chipet buffert men med dedikerad on-chip dataåteranvändningsstrategi och datautbytesstrategi för att lindra bördan för minnesbandbredd. Till exempel kräver DianNao, 16 16-tums vektor-MAC, 16 × 16 × 2 = 512 16-bitars data, dvs. nästan 1024 GB/s bandbreddskrav mellan beräkningskomponenter och buffertar. Med återanvändning på chip minskas sådana bandbreddskrav drastiskt. Istället för den allmänt använda cachen i allmänna bearbetningsenheter använder DLP:er alltid scratchpad-minne eftersom det skulle kunna ge högre möjligheter till återanvändning av data genom att utnyttja det relativt regelbundna dataåtkomstmönstret i algoritmer för djupinlärning. När det gäller kontrolllogiken, när algoritmerna för djupinlärning fortsätter att utvecklas i en dramatisk hastighet, börjar DLP:er att utnyttja dedikerad ISA (instruktionsuppsättningsarkitektur) för att flexibelt stödja djupinlärningsdomänen. Till en början använde DianNao en instruktionsuppsättning av VLIW-stil där varje instruktion kunde avsluta ett lager i en DNN. Cambricon introducerar den första domänspecifika ISA för djupinlärning, som skulle kunna stödja mer än tio olika algoritmer för djupinlärning. TPU avslöjar också fem viktiga instruktioner från ISA-liknande CISC.

Hybrid DLP

Hybrid-DLP:er uppstår för DNN-inferens och träningsacceleration på grund av deras höga effektivitet. Processing-in-memory (PIM)-arkitekturer är en av de viktigaste typerna av hybrid DLP. Det viktigaste designkonceptet för PIM är att överbrygga klyftan mellan datoranvändning och minne, med följande sätt: 1) Flytta beräkningskomponenter till minnesceller, kontroller eller minneschips för att lindra problemet med minnesväggen. Sådana arkitekturer förkortar datavägarna avsevärt och utnyttjar mycket högre intern bandbredd, vilket resulterar i attraktiva prestandaförbättringar. 2) Bygg högeffektiva DNN-motorer genom att använda beräkningsenheter. Under 2013 demonstrerade HP Lab den häpnadsväckande förmågan att använda ReRAM-tvärstångsstrukturen för datoranvändning. Inspirerande av detta arbete föreslås ett enormt arbete för att utforska den nya arkitekturen och systemdesignen baserad på ReRAM, fasförändringsminne, etc.

GPU och FPGA

Trots DLP:er används GPU:er och FPGA:er också som acceleratorer för att påskynda exekveringen av algoritmer för djupinlärning. Summit, en superdator från IBM för Oak Ridge National Laboratory, innehåller till exempel 27 648 Nvidia Tesla V100-kort, som kan användas för att accelerera algoritmer för djupinlärning. Microsoft bygger sin plattform för djupinlärning med hjälp av FPGA:er i sin Azure för att stödja djupinlärningstjänster i realtid. I Tabell 2 jämför vi DLP:er mot GPU:er och FPGA:er när det gäller mål, prestanda, energieffektivitet och flexibilitet.

Tabell 2. DLP:er vs. GPU:er vs. FPGA:er
Mål Prestanda Energieffektivitet Flexibilitet
DLP:er Djup lärning hög hög domänspecifika
FPGA:er Allt låg måttlig allmän
GPU:er matrisberäkning måttlig låg matrisapplikationer

Atomtunna halvledare för djupinlärning

Atomtunna halvledare anses lovande för energieffektiv hårdvara för djupinlärning där samma grundläggande enhetsstruktur används för både logikoperationer och datalagring. År 2020, Marega et al. publicerade experiment med ett aktivt kanalmaterial med stor area för utveckling av logik-i-minne-enheter och kretsar baserade på flytande grind- fälteffekttransistorer (FGFET). De använder tvådimensionella material som halvledande molybdendisulfid för att exakt ställa in FGFETs som byggstenar där logiska operationer kan utföras med minneselementen.

Integrerad fotonisk tensorkärna

År 2021, J. Feldmann et al. föreslagit en integrerad fotonisk hårdvaruaccelerator för parallell faltningsbehandling. Författarna identifierar två viktiga fördelar med integrerad fotonik jämfört med dess elektroniska motsvarigheter: (1) massivt parallell dataöverföring genom våglängdsmultiplexering i samband med frekvenskammar , och (2) extremt höga datamodulationshastigheter . Deras system kan utföra biljoner multiplicerat-ackumuleringsoperationer per sekund, vilket indikerar potentialen hos integrerad fotonik i datatunga AI-applikationer.

Riktmärken

Benchmarking har länge varit grunden för att designa nya hårdvaruarkitekturer, där både arkitekter och praktiker kan jämföra olika arkitekturer, identifiera deras flaskhalsar och utföra motsvarande system/arkitektonisk optimering. Tabell 3 listar flera typiska riktmärken för DLP:er, från år 2012 i tidsordning.

Tabell 3. Riktmärken.
År NN Benchmark Tillhörigheter # av mikrobenchmarks Antal komponentriktmärken Antal applikationsriktmärken
2012 BenchNN IKT, CAS N/A 12 N/A
2016 Famn Harvard N/A 8 N/A
2017 BänkIP IKT, CAS 12 11 N/A
2017 DAWNBench Stanford 8 N/A N/A
2017 DeepBench Baidu 4 N/A N/A
2018 MLPerf Harvard, Intel och Google, etc. N/A 7 N/A
2019 AIBench IKT, CAS och Alibaba, etc. 12 16 2
2019 NNBench-X UCSB N/A 10 N/A

Se även