Nejbrutálnější AI procesor: unikátní Cerebras WSE tvoří jediný čip velký 21,5 × 21,5 cm

Cerebras Wafer Scale Engine je tak velký, že zabírá celou 300mm křemíkovou desku. Díky speciálnímu výrobnímu procesu může revolučně vylepšit trénování AI.

13
Cerebras WSE Wafer Scale Engine neurnove site trenovani ai supercip 1600
Cerebras Wafer Scale Engine

Na umělé inteligenci, respektive používání neuronových sítí, které se pod tímto označením (nebo také pod označením „deep learning“) rozumí, nyní velmi slušně vydělává Nvidia se svými GPU Tesla. A velké množství firem – mezi nimi třeba i Google – pro tyto úlohy vyvíjí speciální akcelerátory, které by se snaží dodat vyšší výkon. Zcela unikátní mezi nimi ale je počin firmy Cerebras, který tak nějak dává nový význam slovům „hrubá síla“ (odtud onen zprofanovaný přívlastek v nadpisu). Cerebras totiž přišlo s technologií, jak vyrobit čip, který je v efektu velký skoro jako celý křemíkový wafer a tím pádem může mít diametrálně vyšší výkon.

 

Za hranice reticle limitu

Tato firma nyní svůj AI akcelerátor nazvaný Cerebras WSE („Wafer Scale Engine“) prezentovala na konferenci Hot Chips, ovšem design už byl odhalen i dřív, takže jste o něm už mohli slyšet. Název plus minus pojmenovává, co je cílem: prolomit obvyklé limity velikosti čipů, které jsou historicky někde mezi 600–800 mm². To je dáno tzv. reticle limitem, neboli maximální velikostí, kterou může mít jedna instance čipu. Ta je při výrobě zreplikována po celé ploše waferu, jenž je tvořen křemíkovým kotoučem o průměru 300 mm (ve starších továrnách méně, ale špičková výroba jede dnes na tomto rozměru), který se pak rozřezává na jednotlivé kousky.

Pokud by se ovšem tento limit dal překročit a podařilo se využít celý wafer, mohl by výkon takového řešení být mnohem lepší (samozřejmě i příkon, ale protože by plocha k odvodu tepla byla větší, dala by se uchladit i vysoká spotřeba). Wafer Scale Engine není tak velký projekt, aby si mohl dovolit pokus o to, změnit způsob výroby čipů. Místo toho ale přišel s metodou, jak tyto limity obejít.

Cerebras Wafer Scale Engine a GPU Nvidia Volta GV100
Cerebras Wafer Scale Engine a GPU Nvidia Volta GV100

Celý akcelerátor či procesor je vyroben z jedné obdélníkové jednotky, která je na waferu klasicky zreplikována, podle fotek se na wafer vejde blok 7 × 12 těchto bloků. V hotovém procesoru jsou tyto bloky propojené 2D mesh logikou dohromady do jednoho celku. Podmínkou je samozřejmě, že nesmí být třeba nic dalšího (žádné extra „uncore“) mimo tyto bloky.

Prezentace procesoru Cerebras Waffer Scale Engine na Hot Chips 02

Naivně by si člověk řekl, že by bylo možné vyvést propojení po okrajích jednoho bloku, aby na ně vedlejší blok rovnou na stejném místě navázal. Ovšem to by při dnešním výrobním postupu nešlo, protože mezi jednotlivými instancemi je ponechán prostor pro následné rozřezávání desky na jednotlivé části, v těchto oblastech se také nachází různé malé bloky pro výrobní testování. A i pokud by tento problém nebyl, dost možná by se nedalo spolehnout, že se opakující se vzor na okrajích vždy přesně strefí a spojí.

Jednotlivé bloky proto nemohou být propojené přímo na waferu, propojení je realizováno vně křemíku, podobně jako jsou propojené jednotlivé čiplety v procesorech Epyc či Threadripper od AMD. Zde ale asi propojení mohou být poměrně krátká, jelikož bloky tohoto superčipu jsou hned u sebe. Není úplně jasné, zda je propojení v substrátu, nebo je o vodiče nanesené po výrobě zvlášť na horní kovovou vrstvu – Cerebras hovoří o „vodičích přemosťující okraje jednotlivých bloků ve spolupráci s TSMC“.

Přes bilion tranzistorů, plocha skoro 5 decimetrů čtverečních

Cerebras WSE používá pro zjednodušení jen obdélníkovou či čtvercovou plochu vepsanou do kruhového waferu, takže nejde o úplně celý 300mm wafer, ovšem celková plocha je 215 × 215 mm (46 225 mm²). Podle autorů obsahuje hotový akcelerátor 1,2 bilionu tranzistorů proti řádově 10–20 miliardám u největších GPU, výroba je přitom na 16nm procesu TSMC s FinFETy. Na této spojené ploše se nachází celkem 400 000 jader a také 18 GB paměti SRAM přímo přítomné v křemíku jako jejich pracovní paměť/cache, její souhrnná propustnost je 9 PB/s (ale to je opět součet nějakých běžných propustností jednotlivých bufferů) a souhrnná propustnost propojení v tomto procesoru má být 100 Pb/s.

Samotná jádra jsou specializovaná na akceleraci učení neuronové sítě. Tento problém je poměrně náročný na paralelismus, ale má i sériový rozměr, proto ho nelze bezmezně distribuovat například mezi stovku samostatných CPU/GPU a je zde prostor pro takovéto enormně velké procesory, které tím pádem dokáží složitou síť naučit rychleji. Samotné jednotky jader používají tensory a operace FMAC s dataflow schedulingem, využívá se toho, že sítě jsou „sparse“ a přeskakují se výpočty s daty, která mají hodnotu nula, což šetří práci a spotřebu energie. Sítě lzena WSE trénovat pomocí frameworků PyTorch a TensorFlow.

Čip přes celý wafer má unikátní komplikace

Celý kombinovaný procesor není zas tak snadné realizovat, je to spojené s celou řadou dalších problémů. Jedním je například tepelná roztažnost, kdy samotný křemíkový čip ji má rozdílnou proti substrátu, na kterém je napájený. Protože wafer není rozřezaný, nejsou mezi bloky dilatační spáry. Wafer Scale Engine by se tak choval trochu jako bimetalový pásek a buď by popraskal, nebo by se utrhl. Toto je údajně řešené použitím speciálního materiálu pro napojení na substrát, který by měl pružně kompenzovat odlišné roztažnosti. Samozřejmě je pak velice náročné i přesné osazení velečipu na substrát, k tomu bylo údajně třeba vyvinout speciální přístroje.

A výzvou je chlazení a napájení, což ukazuje, že Cerebras nemířili na nějaký konzervativní výkon a nízkou spotřebu na jednotku plochy, ale na co nejvyšší rychlostí trénování. Protože pro chlazení a napájení každého centimetru čtverečního není k dispozici větší půdorys chladiče a substrátu, jako je to v případě normálního procesoru, je chlazení vodní. Se vzduchovým by zřejmě nebylo možné WSE provozovat. Voda neobíhá blokem v rovině jako u chladičů pro PC, ale kolmo, tedy jde do něj shora větším množstvím paralelních vtoků, a hned se zase obrací kolmo zpět k výtokům (blok musí vypadat hodně zajímavě). Podobné je to s napájecími vodiči v substrátu – jdou jím kolmo zespodu přímo k jednotlivým částem velečipu.

Zabudovaná redundance se musí vyrovnat s defekty na waferu

Významným faktorem je také chybovost, které se nelze vyhnout a je prakticky automatické, že na každém waferu nějaké defekty budou (stoprocentně čistý wafer bývá výjimečná věc, pokud se nepletu). To by se normálně řešilo vyhozením postižených kostiček mozaiky, což však Cerebras nemůže. Každý blok je však navržen s vyšším počtem jader, než je třeba, takže defekty se řeší jen deaktivací jádra, na které připadnou. 2D mesh propojení uvnitř bloku lze totiž přeroutovat, takže celková architektura je zachována.

Unikátní, ale drahé řešení

Tento Wafer Scale Engine je dnes opravdu výjimečný kus hardwaru. Bude asi hodně drahý na pořízení, protože jen samotný wafer stojí u TSMC tisíce dolarů a zde je z něj vždy jen jeden procesor (navíc se asi stále někdy při výrobě dojde ke zmetku, kdy je celý wafer odepsán). Ovšem cena zpracování a onoho náročného napájení a chlazení také nebude malá. Nicméně akcelerátor by přesto mohl být hodně žádaný nejmovitějšími klienty. Díky bezkonkurenčnímu množství jednotek, který má agregován do jednoho jediného procesoru, by totiž mohl také povolit bezkonkurenčně rychlé natrénování hodně velké sítě, přičemž za tuto rychlost jsou asi určití zákazníci ochotní zaplatit i nějakou bezkonkurenční cenu (přičemž třeba Google nebo Facebook mohou pak cenu amortizovat aplikací této sítě na velkém množství instancí svých serverů, inference už totiž probíhá na běžném hardwaru).

Podle vyjádření firmy Cerebras je už Wafer Scale Engine v nějaké formě nyní v provozu (zřejmě komerčně), takže nějaké první potvrzení, že nápad funguje, už zde je. Ale samozřejmě až čas ukáže, zda bude tento AI procesor hitem a z Cerebras se stane velké zvíře v AI výpočtech.

Galerie: Cerebras Wafer Scale Engine, prezentace na Hot Chips


Nejbrutálnější AI procesor: unikátní Cerebras WSE tvoří jediný čip velký 21,5 × 21,5 cm
Ohodnoťte tento článek!
5 (100%) 12 hlas/ů

13 KOMENTÁŘE

  1. “ale protože by plocha k odvodu tepla byla větší, dala by se uchladit i vysoká spotřeba”

    Co je to za nesmysl? Klasicky chipy budou mit rozhodne vetsi potencial pro odvod tepla, protoze heatspreader muze byt vetsi, nez samotny kremik (muze jit do stran) – tzn. pokud je samotny chip treba 100mm^2, heatspreader muze byt treba 140mm^2 a tim poskytovat vetsi plochu chladici. Tady to bude naopak o dost horsi, protoze jsou cipy hned vedle sebe, do vsech smeru. Logika …

    • Pořád je to ale lepší, než kdyby ta plocha byla pořád 600 mm2, zatímco by se spotřeba zvyšovala. Když se přidává plocha pro odvod, tak to chlazení pořád může nějak škálovat, i když je to zhoršeno tím, že nemůže být heatspreader a pasiv nad tím větší. To oni řeší tím speciálním vodním blokem, ale kdyby čip byl hypoteticky třeba vrstvený ve stylu NAND, místo poskládání v rovině, a tím pádem měl jenom malou plochu. tak by tomu nepomohlo nic.

      • To co píše Maudit je samozřejmě nesmysl. Heatspreader nepomáhá s odvodem tepla, naopak ho zhoršuje. Proto se GPU dělají bez heatspreaderu (GTX 480 se tuším dělaly s heatspreaderem, jeho odebrání byla častá modifikace která zlepšila teploty o dost). U CPU je heatspreader nutnost, protože chladič je instalován uživatelem a heatspreader má za úkol zabránit poškození křemíku. Ale i odebrání heatspreaderu u CPU přináší zlepšení teplot (protože je odebrán jeden tepelný přechod, a teplo jde přímo z křemíku skrz TIM do chladiče), proto Der8auer nabízí Direct die kity.
        Doporučuju zhlédnout Buildzoidovo video Understanding thermal bottleneck.

        Pan Olšan má pravdu, větší čip znamená jednodušší chlazení. Dostat 400W z 600mm2 je mnohem jednodušší než dostat 400W z 200mm2. Toto je taky důvod, proč se tekutý kov používá na CPU, ale ne na GPU – když si vezmete 2080Ti s plochou 754, která si přetaktovaná řekne dejme tomu o 400W (záměrně nadsazeno), máte hustotu tepla 0,53W na mm2.
        Kdežto 9900K s plochou 177 mm2 a přetaktovaná si řekne o 250W má hustotu tepla 1,41W na mm2.
        GPU si vystačí s normální teplovodivou pastou, kdežto CPU potřebuje kvůli vysoké hustotě tepla tekutý kov.

        Tenhle 3000mm2 čip bude mít odvod tepla jedna báseň.

        • No je pravda, že ten pasiv nebo vodní blok, který může přečuhovat plochu čipu je výhoda, takže může heatspreader i pomoct (třeba u pasivu s direct contact heatpipe).
          Proto v té prezentaci ukazujou, že musí mít speciální vodní blok.

          Ale každopádně na úrovni styku čipu s tím následujícím ten přenos škáluje s plochou.

          • Jenže vyvstává otázka, zda přečuhující vodní blok zvládne vykompenzovat zhoršený přenos tepla vlivem samotné přítomnosti heatspreaderu. U čipů v rozmezí 200mm2-700mm2 je odzkoušeno, že se přítomnost heatspreaderu nevyplatí. Otázka je zda to tak bude i u tohoto 3000mm2 molocha – teoreticky by díky nízké hustotě tepla nemusel být heatspreader úplně na škodu.

            Jestli ve finále čip bude mít heatspreader, podle mě to skoro určitě nebude kvůli odvodu tepla (ten není problém s 3000mm2), ale kvůli pevnosti – při tak velké ploše je reálná hrozba, že se chladič moc utáhne a křemík praskne. Heatspreader by čipu poskytl oporu.
            Navíc v momentě, kdy ten čip bude stát desítky tisíc dolarů, tak by byla dost drahá sranda, aby jen tak praskl při instalaci chladiče.

            • “U čipů v rozmezí 200mm2-700mm2 je odzkoušeno, že se přítomnost heatspreaderu nevyplatí.”
              Je odzkouseno 😀 😀 😀 A kde? V tvoji hlave?

        • Opet ta schopnost AMD fans si z nesouvisejicich kousku vytvorit svoji alternativni realitu 😀

          Takze poporade:
          “To co píše Maudit je samozřejmě nesmysl. Heatspreader nepomáhá s odvodem tepla, naopak ho zhoršuje.”

          Viz. wiki:
          “A heat spreader transfers energy as heat from a hotter source to a colder heat sink or heat exchanger. […] Exemplifying increase of entropy according to the second law of thermodynamics, a passive heat spreader disperses or ‘spreads out’ heat, so that the heat exchanger(s) may be more fully utilized.”
          https://en.wikipedia.org/wiki/Heat_spreader

          “a heatspreader má za úkol zabránit poškození křemíku”
          Ano, a proto se to jmenuje heat spreader a ne chip protector. /sarcarm off

          “proto Der8auer nabízí Direct die kity”
          Ne. Der8bauer nabizi direct die kity jednoduse proto, ze pokud ma zakladna chladice dostatecne kvalitni material s vysokym prenosem tepla, odstrani zbytecne vrstvy – kdyz je heatspreader z medi a tvuj waterblock taky, odstranis jednu vrstvu, ktera nepridava nic navic (a jsou mezi nimi termalni pasty, ktery muzou zpusobovat dalsi problemy).

          https://www.youtube.com/watch?v=-LecJjk-LrI

          “Dostat 400W z 600mm2 je mnohem jednodušší než dostat 400W z 200mm2.”
          Je hezky, jak jsi schvalne pozapomnel na fakt, ze vetsi cip (se stejnou architekturou) bude mit taky pomerove vetsi spotrebu 😉 Ve skutecnosti by to bylo treba 1200W na 600mm2 proti 400W na 200mm2. A tady tenhle velkej AI cip ma mit spotrebu 15kW ..

          😀

          • Ne ten útočný tón prosím. AMD tu nikdo nevytahoval, a to, že úkolem heatspreaderu je mimo rozvodu tepla chránit čip, je taky pravda. V momentě, kdy je uvnitř pasta písto pájky, tak už asi i hlavním. Když na socketu A/370 nebyl, tak si lidi stěžovali na ulámané růžky.

            ” Der8bauer nabizi direct die kity jednoduse proto, ze pokud ma zakladna chladice dostatecne kvalitni material s vysokym prenosem tepla, odstrani zbytecne vrstvy – kdyz je heatspreader z medi a tvuj waterblock taky, odstranis jednu vrstvu, ktera nepridava nic navic (a jsou mezi nimi termalni pasty, ktery muzou zpusobovat dalsi problemy).”

            Není to úplně přesně to, co psal on?

            “Ale i odebrání heatspreaderu u CPU přináší zlepšení teplot (protože je odebrán jeden tepelný přechod, a teplo jde přímo z křemíku skrz TIM do chladiče), proto Der8auer nabízí Direct die kity.”

            • Ne, neni. Kde pise neco o tom, ze musi mit material chladice stejny nebo lepsi prenos tepla, aby melo odebrani heatspreaderu smysl?

            • [PROMAZ] Nizsi vrstva – lepsi chlazeni. Tecka. Prostup tepla materialem ma nejakou hranici – a tudiz cim nizsi heatspreader, tim rychleji se dostane teplo z kremiku do chladice. Bez ohledu na to, jestli je chladic hlinikovej, medenej, titanovej a nebo vyrobenej z tvych kondenzovanych mouder.

              “The IHS is the metal exterior lid of a CPU’s processor. It serves as both a protective shell around the processing silicon and a pathway for heat to be exchanged between the CPU and your CPU cooler.
              Some very intrepid overclockers use a process called delidding to remove their processor’s stock IHS and replace it with even more conductive material.”

            • Jako úplně mimo to taky není, někdy při testech vyjde, že se přímé chlazení nevyplatí nebo dokonce mírně zhoršuje chlazení (ale typicky je to proti použití tekutého kovu jak pod IHS/rozvaděč, tak nad – takže ne stock stav procesoru).

              Příklad, kdy teoreticky může IHS pomoct, jsou chladiče s přímým kontaktem heatpipe, kde při holém čipu nemusí být ty krajní pipe, které se čipu nedotýkají, tak dobře fungovat a chladí to pak o něco hůř, než s heatspreaderem.

              Jinak si ale taky myslím, že předřečník možná přišel do diskuse nabroušený (mám pocit, že když Google uváděl ty TPU, tak to byl podobně) a potřebuje mermomocí někomu vynadat/oponovat – protože to taky vidí dost urputně černobíle. Přitom je to takovej detail.

            • Ale to uz souvisi spis s tim, jakou plochou chladime. Ano, pokud IHS zaroven zvetsi plochu, kterou chladic chladi, pak muze i pomoct. Ale pokud obecne definujeme, ze plocha kterou chladime je stejna, jen te tenci/tlustsi o IHS, pak IHS IMHO nikdy nemuze pomoct. V nejlepsim pripade bych si dovedl predstavit ze neuskodi – a to v pripade kdy by mel lepsi prenos tepla nez chladic, kterej na IHS doseda.