Cerebras Systems inovativni vstop v ”massive parallel computing” kategorijo
”Deep Learning” in različne konfiguracije nevronskih mrež so praktično dnevno z nami ter v in predvsem ob čedalje več tehnologijah. nVidia je videti dominantna na tem trgu in klasični grafični procesorji (GPU-ji) tu nosijo velik del prometa, resda s čedalje več optimizacijami za AI področje.
GPU in podobni pristopi so doslej bili videti kot energijsko in cenovno najučinkovitejši način doseganja tovrstnih ciljev. A tako kot vedno doslej, trg je tudi tokrat ustvaril možnosti za inovativne pristope.
En takih je Cerebras Systems, ki se je problema lotil na izviren način – namesto ”kompliciranja” z velikim številom GPU čipov, povezovanja le teh v v gruče in organizacije okrog sistemov, ki jih bodo krmilili, so poenostavljeno rečeno, enostavno izkoristili celotno silicijevo rezino (wafer) za en sam ogromen ”čip” z ogromno procesorji.
”Čip” so poimenovali Wafer Scale Engine (WSE).
Cerebrin Wafer Scale Engine
Tak ”čip” ne potrebuje zunanje komunikacije med pod enotami in s tem povezanih latenc, logike in energijske porabe. Vse se dogaja na čipu, med ogromno gručo povezanih procesorjev, vsak z nekaj malega RAM-a (48k?). Tako je stvar topološko videti še najbližje nevronski gruči.
Tak ”čip” že zaradi svoje velikosti ne more delati brez bistveno višjih latenc kot sicer, a to tu ni pomembno. Ker je število procesorjev na površinsko enoto ogromno, morajo ti tako in tako (pa tudi zaradi optimalne energijske učinkovitosti) delati na veliko nižjih frekvencah, kot bi jih bili sicer sposobni. A vedno bo moč najti segment problemov, kjer bo taka rešitev optimalna.
Seveda obstaja tudi razlog, zakaj tega še nihče ni naredil na ta način. Denimo defekti v proizvodnji. Vsaka rezina vsebuje defekte. Pri Cerebreas pravijo, da je teh tudi na kakovostnih primerkih vsaj nekako 100. Če vsak defekt ”ubije” enoto, na kateri se nahaja, potem je tak pristop očitno problematičen.
Redundanca logike na čipu ni nikakršna skrivnost, uporabljajo jo mnogi in temu ustrezno potem kvalificirajo končne izdelke. Brezhibni postanejo najvišje uvrščeni modeli, vsi ostali so pa ustrezno število stopnic nižje. A pri uporabi celotne rezine je bilo treba tudi take pristope temeljito predelati.
Hlajenje in napajanje
Tu fizičnih problemov še zdaleč ni konec. Kako hudiča hladiti in napajati tak ”superčip”? V kakšno ohišje ga vdelati? Kje dobiti opremo za načrtovanje in testiranje? Kako rešiti probleme termičnega naprezanja? Kje dobiti material z zahtevanimi lastnostmi in enakim termičnim koeficientom? In na kakšen PCB in kako to potem prispajkati?
Vse to jim je vzelo večji del desetletja, sedaj pa trdijo, da imajo ta del tehnično ustrezno rešen. Pravijo, da imajo izdelanih čez 100 ”superčipov” in da je zaenkrat pri vseh predvidena redundanca pokrila defekte v materialu.
Trenutno lahko pokažejo polja velikosti 21,5 cm x 21,5 cm. Vsak tak ”superčip” ni ravno rezina, če smo natančni. Dimenzije kažejo, da so odrezali veliko robnega materiala, razen če niso uporabili manj kot 12 inčne rezine. Kakorkoli že, superčip vsebuje 18GB RAM, 400.000 jeder in povezovalno strukturo, ki premore do 100 Pb/s internega prometa.
Čip je narejen na 16-nm TSMC-jevem procesu. Podana poraba je sapo jemajočih 15kW, še bolj pa impresionira količina paralelno opravljenega dela, ob kateri je ta poraba videti malenkostna.
Tako ima Cerebra Systems trenutno priznanih 6 patentov, preostanek od 30-tih pa je v postopku. Poleg tega je tem in tovrstnim problemom namenjena samo tretjina zaposlenih, ker glavnina problema leži v učinkovitem programiranju takega ”superčipa”.
Drugi del fizičnih skrivnosti leži v optimizaciji jeder in optimizaciji povezovalne strukture, ali kot ji pravijo, ”Swarm” mreža.
Ena značilnih lastnosti dela mnogih AI mrež je, da je predvsem med učenjem, znaten ali celo pretežen del operacij, brez učinka. Veliko je množenja z nič in 1 ipd.
Pri taki količini enot na tako malem prostoru se je pokazalo smiselno investirati delo in logiko v enote, ki take primere znajo ignorirati. Če je lahko takih operacij od 50% do 98%, potem že to znatno energijsko poceni določeno delo. Drugi del je v tem, da ima vsaka pod enota svoj lokalni pomnilnik, ki ga lahko doseže brez čakanja in energijsko najučinkoviteje. GPUji niso optimizirani za latence ampak bandwith, poleg tega pa so predvsem uporabni za paralelno delo velikega števila enot, ki izvajajo isti program sinhrono. Cepljenje enot v skupine na pogojnih skokih na GPUju ima svojo ceno.
Tretji del je v povezovalni strukturi – Swarm-u. Ta je optimiziran za hiter in energijsko učinkovit prenos kratkih sporočil z minimalnim obremenjevanjem posameznih enot. Predvsem pa je topološko nastavljiv. Namesto fiksnih vodil, kot jih imamo v klasičnih zasnovah, kjer so potem na vodilo priklopljene različne enote, imamo tu nastavljivo segmentno strukturo, ki jo lahko prilagodimo danemu problemu in topologiji. Detajlov niso podali, a videti je, da v grobem spominja na nastavljive povezovalne strukture v FPGA komponentah (2D mesh).
Pri nevronskih mrežah je, pravijo, glavi del problema v fazi učenja. Takrat potrebujemo veliko ciklov za konvergenco k pravemu rezultatu. Hitrejša kot je AI gruča, več training ciklov lahko opravi v enoti časa. Večja kot je pri tem lahko, kompleksnejše probleme lahko rešuje ali pa si privošči več bližnjic pri reševanju enakih.
Ob vseh teh optimizacijah pravijo, da so lahko kos enakim problemom kot jih danes rešujemo s poljem GPUjev ob 2%-3% energijske porabe, velikosti in cene. Glede na to, da so nVidiini GPUji na 7nm geometrijah, ”superčipi” pa še vedno na 16nm, je videti, da je tudi tu prostora za še kakšen korak naprej.
Cerebra agresivno pritiska v to področje, računajoč, da v kratkem ne bo samo neka tržna disciplina, ampak univerzalno gradivo in da tak pristop ne bo eksotika, ampak nuja. Temu ustrezno pospešeno pripravlja tudi programsko opremo in algoritme.
Glede na to, kako veliki so postali klasični igralci na tem polju, kot sta nVidia in čedalje bolj AMD, lahko pričakujemo, da bi Cerebra v primeru uspešnega prvega koraka v doglednem času lahko prišla v položaj, kjer bo posredno sama s svojim povpraševanjem vzpodbujala cutting-edge procese in tehnologije. Podobno, kot je sedaj 7nm litografija, bodo verjetno ”v igri” za prihajajoče 5nm in 3nm procese. Ni čisto jasno, kako naj bi bil videti 3D stacking z rezinami, a občutek imam, da bi lahko dobili odgovor na to vprašanje od Cerebra Systems, skupaj s pripadajočim napajanjem in predvsem hlajenjem. Ali s strani prihajajoče konkurence.
Ne spomnim se, da bi kdaj videl kaj tako impresivnega. Slavni Clive Sinclair je nekje leta 1990 delal na Waferscale tehnologiji, a to je bilo praktično v kameni dobi in samo za potrebe pomnilnika. Green Arrays dela miniaturna polja asinhronih procesorčkov, ki znajo učinkovito poganjati Forth programe ob minimalni dinamični porabi. Čipi nimajo internega CLK signala, energijo pa porabljajo samo med preklopi. Pa mogoče Transputer T-800, ki jo je kupil STM in ki je dobila mislim da upodobitev v slavnem Terminatorju 2.
Hmmm. Cerebra Systems zveni prekleto blizu Cyberdyne Systems. Mogoče pa je tam kje v v laboratoriju Miles Bennet Dyson, ki bo postal del prihodnosti in nato še zgodovine?
Viri:
https://www.cerebras.net/wp-content/uploads/2019/08/Cerebras-Wafer-Scale-Engine-Whitepaper.pdf