Lokální LLM na GPU: grafické karty, llama.cpp a agentic coding
Vytvořeno: 3.5.2026 | Aktualizováno: 04.05.2026 04:52
Zápisek z videa Srigi – Agentic coding (vibing) na grafickej karte o tom, jak vybrat GPU pro lokální provoz LLM, jak nainstalovat llama.cpp na Windows a jak s lokálním modelem pracovat při agentic codingu.
GPU přehled a klíčový parametr: datová propustnost
Při výběru hardwaru pro lokální AI modely není nejdůležitější čistý výpočetní výkon GPU, ale datová propustnost paměti (memory bandwidth) a její kapacita. Propustnost přímo určuje rychlost generování tokenů při inferenci.
Minimum pro smysluplnou práci s pokročilými programovacími agenty je 24 GB VRAM – karty s 12 nebo 16 GB nestačí kvůli malému kontextovému oknu. Pro modely velikosti 14B–32B parametrů se 24 GB pohybuje na hranici využitelnosti.
| GPU / Zařízení | VRAM | Propustnost | Poznámka |
|---|---|---|---|
| RTX 5090 | 32 GB | ~2 TB/s | Extrémně rychlá, ideální pro AI, aktuálně předražená |
| RTX 4090 | 24 GB | ~1 TB/s | Doporučený standard pro lokální běh 32B modelů |
| RTX 5080 | 16 GB | Vyšší než 4090 | Omezená kapacitou – nevejde se 32B model |
| RTX 6000 Ada | 48 GB | Nižší než 4090 | Větší modely, ale pomalejší inference |
| MacBook Air/Pro | Různá | Velmi nízká | Apple Silicon zaostává v propustnosti za dedikovanými GPU |
| Mac Studio | Až 128+ GB | ~1 TB/s | Dosahuje rychlosti RTX 4090, ale za výrazně vyšší cenu (okolo 10 000 $) |
Rychlost generování tokenů
RTX 4090 dosahuje při spuštění 32B modelu (Qwen 2.5 Coder, kvantizace Q4_K_M, ctx 19 000) rychlosti 47 tokenů za sekundu. Karta přitom během generování odebírá přibližně 400 W – to je hlavní důvod, proč je undervolting při takovéto zátěži důležitý.
Orientační hranice použitelnosti pro agentic coding:
- 40+ tokenů/s – pohodlná práce, plynulý vibing
- ~20 tokenů/s – prakticky nepoužitelné, odezva je příliš pomalá
Konkrétní zařízení
Kromě desktopových GPU jsou k dispozici i specializovaná zařízení:
- NVIDIA DGX Spark – Kompaktní krabička se 128 GB sjednocené paměti. Nevýhodou je výrazně nižší propustnost paměti (273 GB/s) oproti desktopovým GPU (~1 TB/s), což vede k pomalejší odezvě při inferenci.
- Externí GPU (eGPU) – Možné řešení pro notebooky, ale limituje ho rychlost sběrnice.
- Doporučený setup: Herní PC s RTX 4090 připojené k síti jako server, ke kterému se přistupuje z notebooku.
Instalace llama.cpp na Windows
Autor důrazně varuje před používáním Ollama (označuje ho za proprietární obálku) a doporučuje přímé použití llama.cpp – čistý C++ runtime bez závislosti na Pythonu, který umožňuje přímé ladění a plné využití výkonu GPU.
Krok za krokem
1. Ovladače NVIDIA
Stačí standardní herní ovladače – není potřeba speciální Studio nebo Enterprise edice.
2. Undervolting přes MSI Afterburner
LLM při generování odebírá stovky wattů, proto je vhodné kartu chránit před dlouhodobou zátěží:
- Otevřít Voltage Frequency Curve Editor zkratkou
Ctrl+F - Snížit napětí (např. z 1050 mV na 975 mV) a mírně upravit takt jádra a paměti
- Cíl: snížit spotřebu o 50–100 W a teplotu bez ztráty výkonu
3. Stažení llama.cpp
Z GitHub releases stáhnout binárky pro CUDA 12. Release obsahuje 3 specifické DLL soubory (CUDA knihovny) – jsou součástí archivu.
⚠ Pozor: Windows Defender může tyto DLL smazat jako falešný poplach (podobnost s krypto-malwarem). Je nutné dočasně vypnout ochranu nebo nastavit výjimku pro složku.
4. Spuštění serveru
Použít soubor llama-server.exe:
llama-server.exe --model [cesta_k_modelu] --n-gpu-layers 99 --ctx-size 19000 --host 0.0.0.0 --port 8080
Parametr --n-gpu-layers 99 zajistí načtení celého modelu do VRAM. --ctx-size nastavuje délku kontextového okna v tokenech – pro 32B model na 24GB kartě je bezpečný limit 19 000 (viz sekce o výběru modelu).
Výběr modelu: doporučení a kvantizace
Výběr správného modelu je nejkritičtější a zároveň nejobtížnější krok – autor ho označuje za „hotovou alchymii„. Ne každý model je vhodný pro kódování. Záleží na tom, zda je model finetuningovaný na programování a zda má správný chat template s podporou nástrojů.
Kategorie modelů
Autor rozlišuje tři typy modelů podle způsobu uvažování:
| Kategorie | Charakteristika | Kdy použít |
|---|---|---|
| Dumb (Hloupý) | Styl GPT-3.5, žádná fáze přemýšlení, rovnou generuje výstup | Jednoduché dotazy bez potřeby hlubší logiky |
| Thinking (Přemýšlející) | Explicitní fáze přemýšlení, sledovatelná v průběhu generování, uvažuje o edge cases | Komplexní refaktoring, složité logické problémy |
| Reasoning (Uvažující) | Zlatá střední cesta – model uvažuje inline, bez dlouhé oddělené fáze | Běžný agentic coding; rychlejší než Thinking, kvalitnější než Dumb |
Pro agentic coding v IDE (Cursor, Roo Code) je nejlepší typ Reasoning – dává dobré výsledky a nebrzdí práci nadměrným přemýšlením. Thinking modely rychle vyčerpávají kontext, což je problém.
Co dělá model schopným kódovat
Ne každý model LLM umí pracovat s editorem kódu. Rozdíl spočívá ve dvou věcech:
- Chat Template – sada speciálních značek (např.
<user>,<assistant>,<system>), na které je model natrénovaný. Runtime (llama.cpp) tyto značky využívá k řízení konverzace. - Tool Support – modely pro kódování mají složitější chat template s pojmy jako
tool_callatool_response. Díky tomu model rozumí, že má číst soubory, vytvářet komponenty, pracovat s výstupy příkazů.
Modely bez tool support nepochopí instrukce z editoru a nelze je pro agentic coding použít.
Původ modelů (Lineage)
Modely mají hierarchii: Base model (např. Qwen 2.5) → Coder (fine-tuning na programování) → Instruct (schopnost následovat instrukce). Existují i Merge modely – spojení několika sítí specializovaných na různé oblasti (SQL, TypeScript, obecné kódování).
Konkrétní doporučené modely
Qwen 2.5 Coder Instruct (32B)
Špičkový model pro kódování od Alibaby, finetuningovaný na programování a tool calling.
- RTX 4090: 47 tokenů/s při ctx 19 000 a kvantizaci Q4_K_M
- Na 24GB kartě se vejde „na těsno“ – bezpečný kontext max. 19 000 tokenů
- V SafeTensors formátu má 32B model ~70 GB (14 souborů × 5 GB) – na 24GB kartu se bez kvantizace nevejde
DeepSeek Coder (14B)
Jeden z mála 14B modelů, který skutečně „thinkuje„ – přemýšlí o problému před generováním kódu.
- Vejde se do VRAM s velkou rezervou → lze nastavit větší kontext
- Nevýhoda: jako Thinking model rychle vyčerpává kontext budget při složitějších úlohách
JosefFeed (14B)
Aktuálně velmi úspěšný model pro programování. Klíčová výhoda: umožňuje nastavit kontext až 50 000 tokenů, což je zásadní pro pochopení celých větších souborů.
O1 (Merge)
Velmi schopný model vzniklý sloučením specializovaných sítí. Těžko dohledatelný pod názvem „coder“ – vyžaduje znalost komunity a konkrétního repozitáře.
Kvantizace a výběr souboru na Hugging Face
Modely ve formátu GGUF jsou k dispozici v repozitáři mradermacher na Hugging Face, který automatizovaně kvantizuje tisíce modelů.
Jak číst název souboru:
- I1 – označení pro i-matrix kvantizaci. Vždy hledejte tuto variantu – zachovává vyšší přesnost u důležitých vah (podobné variabilnímu bitrate u videa).
- Q4_K_M – doporučená volba: 4-bitová kvantizace, snižuje velikost modelu ~8× oproti Float32 při ztrátě přesnosti jen 1–2 %.
- IQ4_XS – pozor: autor má s touto variantou zkušenost s halucinacemi. Preferovat Q4_K_M.
- Označení velikosti: XS, S, M, L – analogie k oděvním velikostem. M je zpravidla dobrý výchozí bod.
Agentic coding v praxi
Agentic coding znamená, že LLM nepíše jen útržky kódu, ale aktivně pracuje s celými soubory jako agent – čte je, upravuje a spouští příkazy.
Setup
- Nástroj: VS Code extension Roo Code – v nastavení zvolit „OpenAI Compatible„ a zadat IP adresu a port lokálního
llama-server. - Kontextové okno: Kritický parametr. Pro RTX 4090 a 32B model je bezpečné nastavení 19 000 tokenů – při 25 000 dochází k přetečení VRAM a hardware akcelerace se vypíná.
Přetečení kontextu
Pokud kontext přeteče kapacitu VRAM, model začne halucinovat – například generuje nekonečné řady div tagů nebo jen opakující se tečky. Příznaky přetečení jsou stejné jako u příliš nízké kvantizace, proto je důležité nejdřív ověřit nastavení kontextu. Řešení:
- Okamžitě ukončit generování
- Snížit hodnotu
--ctx-sizena 19 000 (pro 32B model na 24 GB VRAM) a restartovat server - Ponechat ~500 MB VRAM volné jako rezervu
- Případně přejít na menší model (14B), který dává více prostoru pro kontext
Promptování
Lepší výsledky přináší připravit modelu plán před samotnou úlohou místo jednoho složitého promptu. Příklad: „Nejdříve vyextrahuj kód do nového souboru, pak ho importuj, až pak smaž původní soubor.“
Akční body
- Zkontrolovat VRAM stávající grafické karty (minimum 14 GB pro první pokusy, 24 GB pro praxi)
- Nastavit MSI Afterburner – undervolting pro ochranu karty při dlouhodobé 100% zátěži (~400 W)
- Stáhnout llama-server – aktuální release llama.cpp z GitHubu (verze pro CUDA 12)
- Otestovat Qwen 2.5 Coder (32B) ve verzi I1 Q4_K_M z repozitáře mradermacher na Hugging Face; nastavit ctx-size 19 000
- Propojit s IDE – nainstalovat Roo Code do VS Code a nakonfigurovat lokální endpoint

