RAM a VRAM: jak spolu souvisí v AI serveru
První otázka, kterou kupující u AI serveru položí, zní „kolik GPU“. Druhá „jaké CPU“. Otázka, která ale ve skutečnosti rozhoduje o tom, jestli stroj bude fungovat dobře — a kterou většina specifikací zamlčuje — je, jak jsou obě paměťové soustavy dimenzované vůči sobě. Stroj se čtyřmi GPU, 192 GB VRAM a 32 GB systémové RAM je nefunkční. Tentýž stroj s 1 TB systémové RAM jsou u většiny workloadů vyhozené peníze. Správná odpověď leží někde mezi tím a závisí na tom, co na něm skutečně provozujete.
Tento článek vysvětluje, co VRAM a systémová RAM dělají, jak spolu souvisejí, kde jsou úzká hrdla propustnosti a jaké poměry obstojí v praxi. Je určen kupujícím a integrátorům, kteří sestavu dimenzují, nikoli inženýrům píšícím CUDA kernely.
Co ve VRAM doopravdy leží
Když je model „načtený na GPU“, drží se ve VRAM tři věci:
- Váhy modelu. Model se 70B parametry má ve formátu FP16 140 GB, v INT8 70 GB a v INT4 (běžná kvantizace pro vlastní provoz) 35–40 GB podle použitého schématu.
- KV cache. Paměťová režie mechanismu attention na každý požadavek. U modelu se 70B parametry a kontextem 8K v jednom proudu jde o 1–2 GB, při 32K o 4–8 GB. Při dávkovém provozu (10–20 souběžných požadavků) vám zbývající VRAM zaplní právě ona, nikoli váhy.
- Aktivace a pracovní prostor. Mezivýsledky dopředného průchodu, pomocná paměť pro attention, pracovní prostor kernelů. Při inferenci jde o několik GB, při tréninku podstatně více, protože se aktivace ukládají pro zpětný průchod.
U tréninku k tomu přičtěte stav optimalizátoru (Adam drží dvě hodnoty FP32 na každou váhu — zhruba 8× velikost vah ve FP16) a gradienty (1× velikost vah). Právě proto trénink modelu se 70B parametry od nuly vyžaduje uzly s 8× H100 nebo A100 80 GB a není to disciplína pro stroj od Kentina. Doladění pomocí LoRA či QLoRA je jiný příběh a pohodlně se vejde do sestavy se čtyřmi 5090 nebo Pro 6000 Blackwell.
Praktický důsledek: velikost modelu ve VRAM není „počet parametrů × bajtů na parametr“. Pro nasazení modelu se 70B parametry v INT4 s kontextem 8K počítejte s 40 GB na váhy + 20–40 GB na KV cache při reálné dávce + 4 GB režie = zhruba 70 GB. To se vejde na jedinou RTX Pro 6000 Blackwell Server Edition (96 GB), nebo si při jakékoli rozumné dávce vyžádá 3–4 karty RTX 5090. Na „celkové VRAM“ záleží méně než na tom, „kolik VRAM má jedna karta a jak jsou karty propojené“.
Propustnost VRAM: číslo, které rozhoduje o rychlosti generování tokenů
Generování tokenů u transformerového LLM je omezené propustností, nikoli výpočetním výkonem. Každý vygenerovaný token přečte přes paměťovou sběrnici celý model z VRAM. Údaj TFLOPS z katalogového listu je pro inferenci do značné míry nepodstatný; rozhoduje propustnost paměti v GB/s.
| GPU | VRAM | Typ paměti | Propustnost | Zdroj |
|---|---|---|---|---|
| RTX 4090 | 24 GB | GDDR6X | 1.01 TB/s | Specifikace NVIDIA |
| RTX 5090 | 32 GB | GDDR7 | 1.79 TB/s | Specifikace NVIDIA |
| RTX Pro 6000 Blackwell (workstation) | 96 GB | GDDR7 ECC | 1.79 TB/s | Specifikace NVIDIA |
| RTX Pro 6000 Blackwell Server Ed. | 96 GB | GDDR7 ECC | 1.79 TB/s | Specifikace NVIDIA |
| L40 | 48 GB | GDDR6 ECC | 0.86 TB/s | Specifikace NVIDIA |
| L4 | 24 GB | GDDR6 | 0.30 TB/s | Specifikace NVIDIA |
| H100 SXM (pro srovnání, neprodáváme) | 80 GB | HBM3 | 3.35 TB/s | Specifikace NVIDIA |
| H200 SXM (pro srovnání, neprodáváme) | 141 GB | HBM3e | 4.8 TB/s | Specifikace NVIDIA |
Kentino H100 ani H200 neprodává; uvádíme je pro poctivé srovnání. Zůstávají králi propustnosti a právě proto je hyperscaleři kupují. Cenový rozdíl je 6–10×, rozdíl v propustnosti u jednoproudové inference 2×. Pro workloady mimo hyperscale tahle matematika pro HBM nevychází.
Hrubé pravidlo pro generování tokenů v INT4 v jednom proudu: tok/s ≈ propustnost (GB/s) / velikost modelu (GB), vynásobeno koeficientem účinnosti stacku 0.6–0.8. Model se 70B parametry v INT4 (zhruba 40 GB) na jediné 5090:
1790 GB/s × 0.7 / 40 GB ≈ 31 tok/s (jeden proud, bez dávkování)
To odpovídá tomu, co naměříme na testovací stolici. Dávkování zvedne souhrnnou propustnost na 50–100 tok/s, rychlost jednoho proudu ale zůstane blízko stropu daného propustností paměti. Žádné množství systémové RAM na tomto čísle nic nezmění.
ECC ve VRAM: u tréninku zásadní, u inference méně podstatné
Řada RTX Pro 6000 Blackwell má VRAM s ECC (samoopravnými kódy). Spotřebitelské karty (5090, 4090) ji nemají. Marketing z toho dělá klíčovou vlastnost; skutečnost je méně černobílá.
VRAM s ECC detekuje a za chodu opravuje jednobitové paměťové chyby. Bez ní se překlopený bit šíří dál — při inferenci obvykle neviditelně (jeden token vyjde trochu jinak), při tréninku občas katastrofálně (šíření hodnot NaN, divergence, zmařený běh).
Kdy na ECC záleží:
- Dlouho běžící trénink. U několikadenních úloh dělá objem paměťového provozu z tiché chyby reálnou pravděpodobnost. Přijít o 48hodinový běh kvůli neodhalené chybě je mnohem horší než kvůli chybě opravené.
- Numerické workloady bez člověka v procesu. Simulace, modelování a vše, co se dál zpracovává bez kontroly zdravým rozumem.
- Regulované workloady. Pokud váš compliance režim vyžaduje reprodukovatelnost na úrovni bitů, je ECC povinné.
Kdy je ECC spíš kosmetika:
- Provoz inference LLM. Četnost překlopených bitů u moderní GDDR7 je tak nízká, že dopad na kvalitu výstupu leží pod úrovní šumu. Spotřebitelské karty 5090 provozujeme pod silnou inferenční zátěží měsíce, aniž bychom zaznamenali anomálie, které by šlo přičíst chybám VRAM.
- Generování obrázků a videa. Práh vnímaného šumu jednobitovou chybu pohltí.
- Vývoj a experimenty. Restartovat a spustit znovu je levné.
Upřímně řečeno: pokud je workload převážně inferenční, příplatek za Pro 6000 platíte za 96 GB VRAM a validované ovladače, nikoli za ECC. Pokud jde o trénink, ECC se vyplatí. Prodáváme obojí a po telefonu vám řekneme totéž.
Systémová RAM: kolik jí a jak to je s offloadem na CPU
Systémová RAM plní v AI serveru čtyři úkoly:
- Zprostředkuje načtení modelu z disku do VRAM. Soubor modelu se 70B parametry putuje NVMe → page cache → systémová RAM → VRAM. Je-li systémová RAM menší než soubor, načítání buď selže, nebo se utopí ve swapování.
- Drží operační systém, inferenční server (vLLM, llama.cpp, Triton) a pomocné služby (vektorová databáze, monitoring, fronta požadavků).
- Uchovává stav tokenizéru, fronty požadavků a buffery pro před- a post-zpracování.
- Volitelně hostí vrstvy odsunuté na CPU. Právě tuhle roli lidé přeceňují.
Offload na CPU v llama.cpp a podobných runtimech umožňuje provozovat model větší, než je VRAM: část vrstev zůstane na CPU a ke každému tokenu se protáhne přes GPU. Funguje to. V téměř každém reálném případě je to zároveň utrpení.
Čísla: 5090 má propustnost VRAM 1.79 TB/s. Dvanáctikanálová platforma EPYC Genoa s DDR5-4800 dodá v souhrnu zhruba 460 GB/s. Offload na CPU je na token optimisticky 4–6× pomalejší než plné umístění ve VRAM — a to za předpokladu dokonalé lokality v rámci NUMA a procesoru, který se zároveň nezabývá režií obsluhy požadavků.
Měření na stroji se 4×5090 a vyladěným parametrem --n-gpu-layers:
- Celý model na GPU (70B v INT4 rozložený přes 4×24 GB): 28–32 tok/s v jednom proudu.
- 80 % na GPU, 20 % na CPU: 6–9 tok/s.
- 50/50: 2–4 tok/s.
Nejde o názor Kentina. Takhle se prostě má propustnost DDR5 k propustnosti GDDR7. Řešením situace „model se nevejde do VRAM“ je více nebo lepších GPU, nikoli systémová RAM s offloadem. Výjimkou je platforma AMD Ryzen AI Max 300 se sjednocenou pamětí, což je jiná kategorie a mimo rámec tohoto textu.
Systémovou RAM kupujte v objemu potřebném pro načtení a obsluhu, nikoli pro výpočty.
Kolik systémové RAM konkrétně
Osvědčené pravidlo pro sestavy Kentino AI:
Systémová RAM ≈ 1.5 × celková VRAM, zaokrouhleno nahoru na nejbližší standardní konfiguraci.
Pro sestavu se čtyřmi GPU:
| Sestava | Celková VRAM | Doporučená systémová RAM |
|---|---|---|
| 4× RTX 4090 (celkem 96 GB) | 96 GB | 128 GB |
| 4× RTX 5090 (celkem 128 GB) | 128 GB | 192 GB |
| 4× RTX Pro 6000 BW (celkem 384 GB) | 384 GB | 512 GB |
| 4× L40 (celkem 192 GB) | 192 GB | 256 GB |
U sestav s osmi GPU neroste potřeba RAM striktně lineárně — kde to jde, zůstaňte v kanálech jednoho socketu. Ve výchozím stavu dáváme 256 GB k 8× 5090 a 512 GB k 8× Pro 6000 Blackwell.
Pravidlo selhává ve dvou krajních polohách:
- Poddimenzováno: 64 GB na stroji s osmi GPU. Model se načítá pomalu, page cache neudrží váhy pro rychlé opětovné načtení a souběžná obsluha spolu s pomocnými službami (pgvector, monitoring) začne swapovat.
- Předimenzováno: 2 TB na inferenčním stroji se čtyřmi GPU. Funguje to bez problémů, jen jste utratili 4 000–8 000 € za paměť, která stránkuje vzduch. Výjimkou je hostování mnoha modelů a jejich střídání mezi VRAM a RAM — pak velká systémová RAM slouží jako horká cache. Mimo výzkumné laboratoře je to vzácné.
Případ „64 GB stačí“ existuje: stroj se dvěma GPU, jeden model v jednu chvíli, žádná souběžnost, žádné pomocné služby. Není to seriózní server, ale je to seriózní vývojářský workstation.
Kanály u EPYC: odkud se propustnost skutečně bere
Propustnost systémové RAM u AMD EPYC (základ téměř všech našich serverů s osmi GPU) roste s počtem osazených paměťových kanálů, nikoli s katalogovou rychlostí modulů. Kanály jsou na socket a osazují se po jednom modulu na kanál.
| Platforma | Kanálů na socket | Rychlost DIMM (typická) | Propustnost na socket |
|---|---|---|---|
| EPYC 9004 (Genoa) | 12 | DDR5-4800 | ~460 GB/s |
| EPYC 9005 (Turin) | 12 | DDR5-6000 | ~576 GB/s |
| EPYC 9005 Turin Dense | 12 | DDR5-6400 | ~614 GB/s |
| Xeon SP 5. generace | 8 | DDR5-5600 | ~358 GB/s |
Z této tabulky plynou dvě věci:
- Osaďte všech dvanáct kanálů na platformě EPYC Genoa/Turin, chcete-li dosáhnout deklarované propustnosti. Osm modulů ve dvanáctikanálovém systému dá propustnost osmi kanálů, ne dvanácti. V terénu na tuhle chybnou konfiguraci narážíme neustále.
- Počet modulů určuje nejmenší rozumnou kapacitu RAM. 12 × 16 GB = 192 GB. 12 × 32 GB = 384 GB. „Úsporné“ konfigurace s nedoosazenými kanály (šest modulů po 32 GB pro 192 GB) nechávají polovinu propustnosti ležet ladem. Nedělejte to.
Dvousocketová sestava dá celkem 24 kanálů; souhrnná propustnost se zdvojnásobí, ale jen pokud workload respektuje NUMA.
NUMA: co stojí překročení hranice
Dvousocketový server EPYC má dvě procesorová pouzdra, každé s vlastními paměťovými řadiči, sloty pro moduly a kořenovým komplexem PCIe. Přístup z paměti jednoho socketu ke GPU na druhém socketu vede přes Infinity Fabric — rychle, ale ne tak rychle jako lokálně.
Hrubá, ale užitečná čísla:
| Cesta | Propustnost | Nárůst latence oproti lokálnímu přístupu |
|---|---|---|
| CPU socket 0 → lokální DIMM | ~576 GB/s | 1× (základ) |
| CPU socket 0 → vzdálený DIMM (přes fabric) | ~256–320 GB/s | 1.6–2× latence |
| GPU na socketu 0 → lokální DIMM (přes PCIe + DMA) | ~28 GB/s (PCIe 5.0 x16) | 1× |
| GPU na socketu 0 → DIMM na socketu 1 | ~14–20 GB/s | 1.5–2× latence |
U inference je penalizace NUMA obvykle neviditelná — jakmile je model ve VRAM, provoz do systémové RAM je jen pramínek. NUMA začne hrát roli, když:
-
Načítáte model. Načtení 100 GB ze špatného uzlu trvá znatelně déle. Svažte proces nástrojem
numactlnebo nastavte afinitu v runtime kontejnerů. - Probíhá předzpracování na CPU (tokenizace ve velkém, dekódování obrazu, převzorkování zvuku). Vytížený tokenizér na socketu 0 s GPU zavěšenými na socketu 1 ztrácí 20–40 % propustnosti.
- Trénujete se stavem optimalizátoru odsunutým na CPU (DeepSpeed Zero-Offload). Stav v cizím uzlu NUMA zdvojnásobí dobu jednoho kroku. Připněte všechno.
Praktická odpověď: u inferenčních serverů volte ve výchozím stavu jeden socket, pokud nemáte konkrétní důvod jít do dvou. Dvousocketovou variantu v nabídce máme (Kentino AI 256 Turin Dual), protože některé workloady — souběžný trénink s inferencí, velká vektorová úložiště v paměti, osm GPU vyžadujících dva kořenové komplexy — ji skutečně potřebují. Většina ne. Jednosocketový Turin s 12 kanály a 384–512 GB zvládne většinu inferenčních nasazení.
DDR5 RDIMM vs. LRDIMM a ECC
Serverová paměť je v roce 2026 jednotně DDR5 s ECC. Volba stojí mezi RDIMM a LRDIMM:
- RDIMM (registrované): standardní serverová paměť s bufferovanou příkazovou cestou a ECC. Bez komplikací do modulů 64 GB, na některých platformách do 128 GB.
- LRDIMM (se sníženou zátěží): přidává paměťový buffer, který snižuje zatížení sběrnice a umožňuje vyšší kapacitu na kanál. Nutné u modulů 128 GB a větších. Mírně vyšší latence, v reálných workloadech zanedbatelná.
Výchozí volba Kentino: moduly RDIMM 32 GB nebo 64 GB v rychlosti DDR5-4800 (Genoa) nebo DDR5-6000 (Turin). LRDIMM jen tehdy, když sestava vyžaduje 1 TB a více, což je mimo trénink a hostování více modelů vzácné. ECC je nediskutovatelné — serverové moduly bez ECC se na platformách, které dodáváme, nevyskytují.
Co se pokazí, když je paměť špatně
Předvídatelné projevy, zhruba v pořadí podle četnosti:
- Pomalé načítání modelu na poddimenzované RAM. Model se 70B parametry má na disku zhruba 40 GB. S 32 GB systémové RAM načítání zahltí page cache a ze 40sekundového studeného startu jsou 4 minuty. Náprava: minimálně 1.5× celkové VRAM.
- Poloviční propustnost kvůli nedoosazeným paměťovým kanálům. Šest modulů ve dvanáctikanálovém EPYC. Předzpracování omezené výkonem CPU tiše klesne na polovinu. Náprava: osaďte všechny kanály.
-
Přístup do cizího uzlu NUMA na dvousocketové sestavě se špatně nastavenou afinitou. Náprava:
numactl --cpunodebind=0 --membind=0, případně režim frameworku, který NUMA zohledňuje. -
Vyčerpání paměti při velké dávce kvůli podceněné KV cache. Parametr
--gpu-memory-utilization 0.9ve vLLM ponechá 10% rezervu, ale 64 souběžných požadavků s kontextem 32K kartu s 24 GB stejně přeteče. Náprava: kratší kontext, menší dávka, nebo více VRAM. - Offload na CPU sestavu „zachrání“ a zničí propustnost. „Server je pomalý“ — a ukáže se, že 30 % vrstev sedí na CPU, protože VRAM byla těsná. Chyba v dimenzování, ne v ladění. Kupte správný počet GPU hned na začátku.
Nic z toho není exotické. Všechno se projeví během prvního měsíce provozu nové instalace.
Čemu věnovat pozornost
U čistě inferenčních nasazení:
- Které modely potřebujete hostovat souběžně? Sečtěte jejich velikost v INT4. Přidejte 40–60 % na KV cache při cílové dávce a kontextu. To je vaše minimální VRAM.
- Jaký je váš cíl latence na token? Velikost největšího modelu dělená propustností jedné karty vám řekne, zda potřebujete jednu rychlou kartu, čtyři střední, nebo osm menších.
- Minimum systémové RAM: 1.5× celková VRAM, osazená napříč všemi paměťovými kanály. Zaokrouhlete nahoru na nejbližší standardní konfiguraci.
- Jeden socket, nebo dva? Výchozí volbou je jeden. Do dvou jděte jen tehdy, když potřebujete osm GPU na dvou kořenových komplexech PCIe nebo kombinujete rozsáhlý trénink s inferencí.
- ECC? Ano, pokud je trénink reálnou součástí workloadu nebo to vyžaduje compliance. Při čisté inferenci a napjatém rozpočtu ho můžete vynechat.
U sestav určených i pro trénink se pravidlo posouvá na 2–3× celkovou VRAM — DeepSpeed, Megatron a podobné frameworky se během jednoho kroku o systémovou RAM opírají. Disciplína v NUMA přestává být volitelná.
Navazující články pokrývají zbytek sestavy: topologii PCIe a přidělování linek (W02), riser karty pro GPU a jejich poruchy (W03), dimenzování zdroje a realitu dvou zdrojů (W04) a návrh tepelného rozpočtu (W05). Paměť je první věc, kterou je třeba mít správně, protože stojí mezi všemi ostatními komponentami — špatně zvolená paměť zdánlivě rozbije všechno ostatní.
Toto je součást Kentino Wiki, referenční série o výpočetním výkonu pro AI, o robotice a o systémech, které je propojují. Připomínky a opravy uvítáme na info@kentino.com.