Než se model dostane do VRAM, musí se přečíst z disku. Llama 3 8B v kvantizaci Q4_K_M zabírá kolem 5 GB, model 70B ve stejné kvantizaci kolem 40 GB. Na disku se sedmi gigabajty za sekundu to je necelá sekunda, respektive šest sekund. Pokud se model vejde do operační paměti, llama.cpp ho při dalším spuštění načte z page cache a disk se nezapojí — s 64 GB RAM se tak 8B model čte z disku jen jednou za start systému.
DRAM cache: mapovací tabulka a co se stane bez ní
Řadič SSD musí vědět, kde přesně na NAND leží každý logický blok. Mapovací tabulku drží v DRAM, typicky v poměru 1 MB paměti na 1 GB kapacity — 1TB disk má tedy kolem 1 GB DRAM.
Disky bez DRAM používají HMB (Host Memory Buffer), kdy si půjčí až 64 MB systémové RAM. Windows to umí od Windows 10, Linux až v novějších jádrech. V NASu nebo serveru se starším kernelem se proto DRAM-less disk chová výrazně hůř než v běžném desktopu.
V praxi to poznáte u smíšené zátěže: příprava datasetu, rozbalování archivů, zápis checkpointů. Bez DRAM musí řadič při každém zápisu dohledávat mapování přímo na NAND, což zvyšuje latenci. U čistě sekvenčního čtení modelu je rozdíl malý.
TBW: kolik dat AI zátěž skutečně zapíše
TBW (Total Bytes Written) je záruční limit zápisu. Samsung 990 Pro má 600 TBW ve verzi 1 TB, 1200 TBW ve 2 TB a 2400 TBW ve 4 TB. Crucial T700 1 TB udává rovněž 600 TBW, WD Black SN850X 1 TB také 600 TBW. Levné QLC disky jsou jinde: Crucial P3 Plus 1 TB má 220 TBW.
Pro inferenci je to jedno, čtení NAND neopotřebovává. Při fine-tuningu se to obrátí. Checkpoint 7B modelu v FP16 má kolem 14 GB. Když ho uložíte čtyřikrát za hodinu, je to přes 1,3 TB zápisu denně. Na disku s 600 TBW se dostanete na hranici záruky zhruba za rok a půl. LoRA adaptéry jsou jiná liga — tam mají checkpointy desítky megabajtů.
PCIe 5.0: kde přinese reálný zisk
PCIe 4.0 x4 dává teoreticky 7,88 GB/s, reálně kolem 7 GB/s (Samsung 990 Pro udává 7 450 MB/s). PCIe 5.0 x4 znamená 15,75 GB/s teoreticky a výrobci dnes slibují až 14 GB/s u modelů jako Crucial T705 nebo Samsung 9100 Pro.
Jenže u náhodného čtení 4K při hloubce fronty 1 — což je typický vzor při načítání tisíců malých souborů datasetu — zůstávají Gen5 disky na 15 až 20 tisících IOPS, tedy zhruba 60 až 80 MB/s. Proti Gen4 je to posun o jednotky procent. Načtení milionu malých obrázků trvá v nejlepším případě kolem minuty bez ohledu na generaci disku.
Cena za Gen5 je teplo a spotřeba. Řadiče Phison E26 berou při zátěži kolem 10 W a bez masivního chladiče přelezou 80 °C, načež throttlují zpět na úroveň Gen4. V notebooku nebo malé skříni to je problém. U Intelu navíc na některých deskách se Z790 sdílí Gen5 M.2 slot linky s grafickou kartou, která pak jede jen na x8.
Jak poskládat disky v AI PC
Osvědčené dělení je systém a modely na TLC disk s DRAM, datasety a checkpointy na velký levný disk. Systémový disk nechcete zaplnit, protože plný QLC disk ztratí pseudo-SLC cache. Crucial P3 Plus 1 TB pak po vyčerpání cache padá ze stovek MB/s na zhruba 100 MB/s. TLC disky typu 990 Pro spadnou po zaplnění SLC cache na přibližně 1,5 GB/s.
Držte 10 až 20 % kapacity volné, u QLC je nadprovisioning důležitější než u TLC. Na Linuxu se vyplatí mount s volbou noatime a pravidelný fstrim, Windows trim spouští automaticky. Pokud na stejném disku běží zápisy systému i čtení modelu, latence při náhodném přístupu citelně narostou.
Pro inferenci stačí Gen4 disk s DRAM. Gen5 má smysl, když pravidelně přesouváte velké datasety nebo na jednom stroji obsluhujete více GPU. Rozdíl v čase načtení 5GB modelu je mezi Gen4 a Gen5 zhruba třetina sekundy. Kdo spouští tentýž model opakovaně a má dost RAM, rozdíl nepozná vůbec — soubor zůstane v page cache a disk se do operace už nezapojí.
Foto: Andrey Matveev / Pexels