Obsah

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:

Konkrétní zařízení

Kromě desktopových GPU jsou k dispozici i specializovaná zařízení:

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ěží:

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:

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.

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.

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:

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

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í:

  1. Okamžitě ukončit generování
  2. Snížit hodnotu --ctx-size na 19 000 (pro 32B model na 24 GB VRAM) a restartovat server
  3. Ponechat ~500 MB VRAM volné jako rezervu
  4. 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

  1. Zkontrolovat VRAM stávající grafické karty (minimum 14 GB pro první pokusy, 24 GB pro praxi)
  2. Nastavit MSI Afterburner – undervolting pro ochranu karty při dlouhodobé 100% zátěži (~400 W)
  3. Stáhnout llama-server – aktuální release llama.cpp z GitHubu (verze pro CUDA 12)
  4. Otestovat Qwen 2.5 Coder (32B) ve verzi I1 Q4_K_M z repozitáře mradermacher na Hugging Face; nastavit ctx-size 19 000
  5. Propojit s IDE – nainstalovat Roo Code do VS Code a nakonfigurovat lokální endpoint

Zdroje