Hardware pro AI: proč vyhrály GPU a kde narazí na zeď paměti
Papírové teraflopy nejsou úzké hrdlo. Proč se z grafické karty stal motor neuronových sítí, co je memory wall a proč o ceně inference rozhoduje propustnost paměti, ne počet operací za sekundu.
Příběh posledních dvou let se dá vyprávět jednou cenou akcie a jedním nedostatkem: výrobce grafických karet se stal nejhodnotnější firmou planety a celý obor si stěžuje, že nemůže sehnat čipy. Z toho vznikl pohodlný mýtus — že umělá inteligence běží na „surovém výkonu", že jde o závod ve FLOPS a že kdo má víc teraflopů, vyhrává. Je to pohled, který vám prodá každý keynote.
Jenže praktik, který skutečně provozuje model, narazí na něco jiného. Drahá akcelerátorová karta mu většinu času počítá výrazně pod svým papírovým výkonem a profiler ukazuje, že čeká. Ne na výpočet — na paměť. Tenhle článek je o tom rozporu: proč u AI vyhrály právě GPU, proč se z grafické karty stal specializovaný maticový stroj, a hlavně proč skutečná zeď, o kterou se dnes AI hardware opírá, není počet operací za sekundu, ale kolik dat za sekundu dokážete dostat z paměti k jádru. Kdo plánuje rozpočet na inferenci nebo trénink, potřebuje vědět, kterou zeď vlastně platí.
Papírový výkon se běžně udává pro nejnižší podporovaný formát (dnes FP8, u nejnovějších generací FP4) a často se započítanou řídkostí (sparsity), což číslo rovnou zdvojnásobí. Dva čipy se stejným „AI FLOPS" tak můžou měřit dvě úplně různé věci. Než vám číslo něco řekne, musíte vědět: v jaké přesnosti, a jestli je v něm sparsity trik.
01Proč zrovna GPU
GPU nevznikla pro AI. Vznikla pro hry — pro zobrazování milionů pixelů, kde se na každý dělá v zásadě stejná aritmetika nezávisle na ostatních. A přesně tahle vlastnost, ne nějaká „inteligence křemíku", z ní udělala motor neuronových sítí.
Rozdíl proti procesoru je architektonický a stojí za to ho říct přesně. CPU je optimalizovaný na latenci: má pár silných jader, velké cache a sofistikovanou logiku predikce skoků, aby jeden sekvenční řetězec instrukcí doběhl co nejrychleji. GPU je optimalizovaná na propustnost: má tisíce jednoduchých výpočetních jednotek, které dělají tutéž operaci nad různými daty (model SIMT — single instruction, multiple threads), a místo aby se snažila čekání zkrátit, ho schovává tím, že přepíná mezi obrovským množstvím vláken. Když jedna skupina čeká na data, počítá jiná. CPU se ptá „jak rychle dokončím tohle jedno vlákno"; GPU se ptá „kolik tisíc vláken můžu mít rozdělaných najednou".
Trénink i běh neuronové sítě je přitom z drtivé části jedna operace: násobení matic (GEMM — general matrix multiply). Každá vrstva je v jádru maticový součin vstupů a vah, prokládaný nelineární funkcí. A násobení matic je učebnicový příklad úlohy, kterou jde rozsekat na tisíce nezávislých násobení a sčítání — tedy přesně to, na co je GPU stavěná. Když v roce 2012 síť AlexNet vyhrála soutěž ImageNet a natrénovala se na dvou herních kartách GeForce, nebyl to šťastný náhodný hack. Byl to okamžik, kdy si obor uvědomil, že tvar úlohy a tvar hardwaru do sebe zapadají.
Druhá polovina příběhu se ale neodehrává v křemíku, ale v softwaru — a často se na ni zapomíná. NVIDIA vydala programovací platformu CUDA už v roce 2007, roky před boomem hlubokého učení, a tím udělala z grafické karty obecně programovatelný výpočetní stroj. Na CUDA postupně narostly knihovny (cuDNN a další), na ně frameworky (PyTorch, TensorFlow), na ně celá výzkumná praxe. Když dnes mluvíme o „náskoku NVIDIE", z velké části nemluvíme o tranzistorech — mluvíme o patnácti letech ekosystému, do kterého je výzkum i produkce zaháknutá. To je důležitý korektiv: konkurenční čip může mít na papíře srovnatelný výkon a stejně neprorazí, protože na něm nikdo nechce přepisovat svůj stack. Hardwarová bitva se z velké části hraje v softwaru.
02Tensor cores: když se GPU specializovala na jednu operaci
Moderní akcelerátor pro AI už dávno není „rychlá grafická karta". Je to zařízení, které se kolem jediné operace přestavělo.
Zlom přišel s tensor cores — specializovanými jednotkami, které NVIDIA zavedla v architektuře Volta v roce 2017. Klasické jádro GPU násobí jednotlivá čísla; tensor core spočítá malý maticový součin a akumulaci (multiply-accumulate) v jednom kroku a v nižší přesnosti. Místo dvou 32bitových čísel pracuje s 16bitovými, dnes běžně s 8bitovými (FP8) a u nejnovějších generací i se 4bitovými (FP4) formáty. Pro neuronovou síť to není problém — ta žádnou vědeckou přesnost nepotřebuje, snese hrubší čísla výměnou za násobně vyšší propustnost.
Tady je dobré se zastavit u jednoho posunu, který tenhle blog rozebírá i jinde. GPU se tím přestala být obecným strojem a stala se akcelerátorem na míru jedné třídě úloh. Je to přesně ten druh „specializace", o kterém mluví Konec Moorova zákona? jako o jedné z náhrad za zmenšování tranzistoru: když přestane stačit dělat všechno rychleji, začne se vyplácet dělat jednu důležitou věc mnohem líp. Cena za to je úzkost záběru — čip vyladěný na maticové násobení v nízké přesnosti je skvělý na transformery a mizerný na cokoli s větvením a nepravidelnou pamětí.
A právě posun do nízké přesnosti je první místo, kde marketingová čísla začnou klamat. Papírový výkon „petaflopy AI" se totiž běžně udává pro nejnižší formát a často se započítanou řídkostí (sparsity), což číslo rovnou zdvojnásobí. Dva čipy se stejným „AI FLOPS" tak můžou měřit dvě úplně různé věci. Je to stejný druh opatrnosti, jakou rozebírá Proč benchmarky AI modelů nestačí u modelů: než vám číslo něco řekne, musíte vědět, co přesně měří.
03FLOPS nejsou úzké hrdlo
Teď k jádru, kvůli kterému tenhle článek vznikl. I kdybyste papírové FLOPS očistili od přesnostních a sparsity triků, pořád byste měli špatnou metriku — protože reálný čip svůj výpočetní strop u většiny AI úloh ani nedosáhne.
Standardní nástroj, jak to vidět, je roofline model (Williams, Waterman, Patterson, 2009). Říká jednoduchou věc: výkon, který z čipu reálně dostanete, je limitovaný buď výpočtem, nebo propustností paměti — podle toho, kolik operací stihnete udělat na každý bajt, který si přečtete. Tomuhle poměru se říká aritmetická intenzita (FLOP na bajt). Když je vysoká, jste „compute-bound" a rozhoduje výpočetní výkon. Když je nízká, jste „memory-bound" a rozhoduje propustnost paměti — a přidat víc FLOPS vám nepomůže ani trochu, protože jádra stejně čekají na data.
Kde leží hranice? Vezměme konkrétní příklad a berme ho jako řádový, ne jako oficiální datasheet. Špičkový akcelerátor (řádu NVIDIA H100) udává kolem 1000 bilionů operací za sekundu v FP16 na tensor cores a má paměť s propustností kolem 3,35 TB/s. Podíl těch dvou čísel — takzvaný bod zlomu roofline — vychází řádově na kolem 300 operací na každý bajt. Tolik výpočtu musíte udělat nad každým načteným bajtem, abyste čip vůbec zaměstnali naplno.
A teď realita generativního modelu. Když velký jazykový model generuje text token po tokenu (autoregresivní dekódování s malou dávkou), musí pro každý jediný token přečíst z paměti všechny své váhy a udělá nad nimi jen pár operací. Aritmetická intenzita téhle fáze je řádově v jednotkách operací na bajt — tedy o dva řády pod bodem zlomu. Výsledek: drahý čip běží hluboko v memory-bound oblasti a jeho výpočetní jednotky jsou většinu času nečinné. Profiler neukazuje vytížený compute, ukazuje vytíženou paměťovou sběrnici.
Praktici tohle měří metrikou MFU (model FLOPs utilization) — kolik procent papírového výkonu model reálně využije. U velkých tréninků se za dobrý výsledek považuje něco kolem 30 až 50 procent; u inference v dekódovací fázi je to běžně mnohem méně. Když vám tedy někdo prodává čip číslem FLOPS, prodává vám strop, ke kterému se vaše úloha nejspíš ani nepřiblíží. To není detail pro hardwarové nadšence — je to přímo důvod, proč „přihodit víc compute" často nezrychlí inferenci ani o píď a proč se cena za vygenerovaný token chová jinak, než by papírový výkon napovídal.
04Zeď paměti
Pokud FLOPS nejsou úzké hrdlo, co tedy je? Propustnost a kapacita paměti. A tady se schovává skutečná zeď, o které mluví titulek.
Problém má dvě podoby. Ta první je kapacita: váhy velkého modelu se musí někam vejít. K nim se v inferenci přidává takzvaná KV cache — mezipaměť, do které si model ukládá kontext už zpracovaných tokenů, a ta roste s délkou kontextu i s počtem souběžných uživatelů. Dlouhý kontext a hodně souběžných požadavků nezabíjí výpočet, zabíjí paměť. Ta druhá podoba je propustnost: jak rychle ta data dostanete k jádrům. Jak jsme viděli, u dekódování je to ona skutečně svazující podmínka.
Odpovědí na obojí je HBM (high-bandwidth memory) — paměť, kde se čipy DRAM skládají na sebe do věží a propojují s výpočetním čipem extrémně širokou sběrnicí přes křemíkový interposer (pokročilé pouzdření, technologie typu TSMC CoWoS — vlastní téma sourozeneckého článku o chipletech). HBM je důvod, proč moderní akcelerátor vůbec dosahuje propustnosti v jednotkách terabajtů za sekundu. Je to taky jeden z hlavních důvodů, proč je tak drahý a proč ho je nedostatek: kapacit na výrobu a pokročilé pouzdření HBM je na světě omezeně a soupeří o ně všichni výrobci akcelerátorů najednou.
A teď ten nejdůležitější trend, který celý článek drží pohromadě. Za poslední roky rostl výpočetní výkon čipů výrazně rychleji než propustnost paměti. Analýza „AI and Memory Wall" (Gholami a kol., IEEE Micro 2024) to vyčíslila: špičkový compute akcelerátorů škáloval řádově trojnásobně za dva roky, zatímco propustnost paměti jen kolem 1,6× a propustnost propojení mezi čipy ještě pomaleji. Nůžky se rozevírají. To znamená, že s každou další generací je stále větší podíl úloh memory-bound — že čím výkonnější výpočetní jádra stavíme, tím větší část času stojí a čekají. Tomuhle rozevírání se říká memory wall a je to dnes hlavní omezení AI hardwaru, ne nedostatek teraflopů.
Je to mimochodem stejný druh příběhu jako u konce Moorova zákona, jen na jiné ose: ne „tranzistor přestal zlevňovat", ale „výpočet roste rychleji, než ho stíháme krmit daty". Obojí je důsledek toho, že jednotlivé části systému škálují různým tempem a ta nejpomalejší určuje výsledek.
05Když škálujete ven: další zeď je síť
Jeden čip dnes na velký model nestačí, takže se akcelerátory spojují do uzlů a uzly do clusterů. A tím se objeví třetí zeď — propojení.
Uvnitř serveru spojuje GPU rychlá sběrnice (u NVIDIE NVLink a přepínač NVSwitch), mezi servery běží specializovaná síť (typicky InfiniBand). Při tréninku si přitom všechny karty musí po každém kroku navzájem sesynchronizovat výsledky — provádějí kolektivní operace jako all-reduce, kde se data od všech sčítají a rozesílají zpět. Jakmile těchhle čipů máte tisíce, začne o celkové rychlosti rozhodovat ne výpočet jednotlivé karty, ale jak rychle se přes síť domluví. A propustnost propojení, jak jsme viděli, škáluje ještě pomaleji než paměť.
Tady stojí za to oddělit dva režimy, které se v debatě často slijí do jednoho:
- Trénink je spíš compute- a interconnect-bound. Pracuje s velkými dávkami, dělá hodně maticových násobení s vysokou aritmetickou intenzitou a hlavní bitva je o to udržet tisíce čipů synchronizované a nakrmené.
- Inference, konkrétně dekódovací fáze, je hlavně memory-bandwidth-bound. Tady se boj vede o propustnost HBM a o kapacitu pro KV cache.
Proto se optimalizace pro jeden režim nedá mechanicky přenést na druhý a proto „výkon na AI" není jedno číslo. Čip skvělý na trénink může být průměrný na levnou inferenci a naopak.
06Co může přijít po současné GPU
Když je úzké hrdlo paměť a propojení, dává smysl, že další generace hardwaru útočí přesně tam — ne na další teraflopy. Žádný z těch směrů není zázrak ani jistota; berte je jako mapu, kudy se obor pokouší zeď obejít.
- Víc a rychlejší paměť blíž k výpočtu. Nejpřímější odpověď: novější generace HBM (HBM4), víc vrstev, širší sběrnice. Posouvá zeď, neruší ji.
- 3D skládání a chiplety. Místo jednoho velkého čipu se systém poskládá z menších dílů a paměť se dostává fyzicky blíž k výpočtu pokročilým pouzdřením. Je to přímá vazba na „More than Moore" z článku o konci Moorova zákona a téma vlastního sourozeneckého článku Chiplety: konec monolitu.
- Výpočet v paměti (processing-in-memory). Radikálnější myšlenka: nepřenášet data k výpočtu, ale počítat přímo tam, kde leží. Adresuje memory wall u kořene, ale je to zatím z velké části výzkum a rané produkty, ne mainstream.
- Optické propojení (silicon photonics). Nahradit část elektrických spojů světlem, aby propustnost mezi čipy přestala být brzdou. Slibné, technologicky náročné, nasazované postupně.
- Jiná architektura než GPU. Specializované čipy, které problém memory wall obcházejí jiným zadáním: systolická pole pro maticové násobení (Google TPU), akcelerátory cloudových firem (AWS Trainium a Inferentia), nebo návrhy, které drží váhy v rychlé statické paměti přímo na čipu místo v HBM (Cerebras se svým wafer-scale čipem, Groq se svou LPU laděnou na nízkou latenci inference). Každý z nich dělá jiný kompromis a žádný zatím nerozbil softwarový náskok GPU.
Společný jmenovatel je posun pozornosti od „kolik operací" k „jak blízko a jak rychle data". To je dobrý filtr na hardwarové novinky: když vám příští keynote ukáže hlavně větší číslo FLOPS, ptejte se, co udělali s pamětí a propojením. Tam se rozhoduje.
07Co si z toho odnést
Pokud čtete novinky o AI hardwaru a chcete je číst střízlivě, stačí pár návyků:
- FLOPS čtěte s nedůvěrou. Vždy se ptejte, v jaké přesnosti je číslo udané a jestli započítává sparsity. Papírový výkon je strop, ke kterému se vaše úloha nejspíš nepřiblíží — reálné využití (MFU) bývá zlomek.
- Rozlišujte tři zdi. Výpočet (FLOPS), propustnost paměti (memory wall) a propojení mezi čipy. U inference jste skoro vždy u té druhé; u velkého tréninku u první a třetí.
- Inference a trénink nejsou totéž. Dekódování generativního modelu je memory-bound — rozhoduje propustnost HBM a kapacita pro KV cache, ne teraflopy. Rozpočet na provoz modelu se řídí jinými čísly než rozpočet na jeho natrénování.
- HBM je skrytý hrdina i skrytá cena. Velká část ceny a nedostatku akcelerátorů sedí v paměti a jejím pouzdření, ne ve výpočetních jádrech. Když je čipů nedostatek, často je to nedostatek HBM a pokročilého pouzdření.
- Náskok je z poloviny softwarový. CUDA a patnáct let ekosystému jsou důvod, proč srovnatelný čip konkurence nemusí stačit. Hardwarovou bitvu nerozhoduje jen křemík.
Mýtus „AI = surový výkon" je pohodlný, protože je jednoduchý a dá se vyjádřit jedním rostoucím grafem. Realita je členitější: výpočetní výkon máme dnes přebytek, jen ho neumíme dost rychle nakrmit daty. Zeď, o kterou se AI hardware opírá, není počet operací za sekundu — je to vzdálenost mezi pamětí a jádrem. A to je problém, který se neřeší větším číslem na slidu, ale lepším inženýrstvím tam, kam se na keynote nedívá kamera.
08Souvislosti
Tento článek je součástí elektronického clusteru blogu a navazuje na jeho vstupní bránu Konec Moorova zákona? — specializace akcelerátorů (tensor cores) je přesně ta „More than Moore" náhrada za zmenšování tranzistoru, o které mluví tamní závěr, a memory wall je sourozenec tamní teze, že různé části systému škálují různým tempem. S dílem Jak vzniká čip sdílí motiv, že skutečný příkop je nakupená znalost a zvládnutá výroba, ne jedna vlastnost na papíře — a právě tam, v pokročilém pouzdření, se vyrábí HBM, o které je tenhle text. Čipová válka vysvětluje, proč na pár továrnách a dodavatelích paměti visí celý AI boom, a grafen připomíná z druhé strany, že vlastnost v tabulce není produkt. Anti-hype přístup sdílí s Jak sledovat nové AI modely bez hypu (číslo na slidu vs. to, co reálně omezuje) a s Proč benchmarky AI modelů nestačí. Sourozenecký díl Chiplety: konec monolitu rozvádí, jak se paměť dostává blíž k výpočtu — a proč je pokročilé pouzdření dnes jedno z nejužších hrdel celého AI řetězce.
Zeď, o kterou se AI hardware opírá, není počet operací za sekundu — je to vzdálenost mezi pamětí a jádrem.
Stav věcí popsaný v článku je k polovině roku 2026; konkrétní generace akcelerátorů, parametry pamětí a tržní pozice se mění řádově po měsících, principy roofline a memory wall ne.