„Provozovat AI“ zahrnuje dvě potřeby, které nevyžadují stejnou velikost serveru. Aplikace, která volá model přes API, se dimenzuje jako kterákoli webová aplikace; model spuštěný přímo na serveru se dimenzuje především podle paměti. Tento průvodce oba případy odděluje, uvádí paměťové nároky běžných modelů a způsob, jak je spočítat.
Většina aplikací, které „využívají AI“ (asistenti, agenti, shrnutí, extrakce dat, vyhledávání v dokumentech), volá model hostovaný jeho poskytovatelem přes API. Výpočet probíhá u něj; váš server připraví požadavek, počká na odpověď a zpracuje ji. Dimenzuje se proto jako kterákoli webová aplikace: podle jazyka, databáze a počtu souběžných uživatelů.
Druhým případem je model spuštěný přímo na serveru, s Ollamou, llama.cpp nebo knihovnou v Pythonu. Důvody jsou známé: data, která zůstávají na vaší infrastruktuře, pevné náklady bez ohledu na počet požadavků, zpracování velkých objemů na pozadí, specializovaný model. Tady se celý model musí vejít do paměti a velikost určuje právě on.
| Co server dělá | Rozhodující prostředek | Výchozí bod |
|---|---|---|
| Volá model přes API (asistent, agent, chatbot) | Paměť aplikace | 2 vCPU, 4 GB |
| Počítá také embeddingy a dotazuje se vektorové databáze (pgvector) | Paměť pro vektory a jejich index | 2 až 4 vCPU, 6 až 8 GB |
| Spouští malý model s 1 až 4 miliardami parametrů pro zpracování na pozadí | Paměť, pak procesor | 4 vCPU, 8 GB |
| Spouští model se 7 až 8 miliardami parametrů pro několik uživatelů | Paměť a její propustnost | 6 až 8 vCPU, 16 GB |
| Spouští model s 12 až 14 miliardami parametrů, s dlouhým kontextem | Paměť | 8 vCPU, 24 GB |
Požadavek na model přes API trvá od jedné do několika desítek sekund, zvlášť když se odpověď posílá průběžně (streaming). Po tu dobu váš server skoro nic nepočítá: čeká. Rozhoduje jeho schopnost držet mnoho čekajících požadavků, aniž by blokoval ostatní:
proxy_read_timeout).Paměť se plánuje pro aplikaci a její databázi: 4 GB pokryjí aplikaci v Pythonu nebo Node.js s PostgreSQL v době spuštění. Běžná sestava, tedy rozhraní v Next.js, API ve FastAPI a databáze PostgreSQL, které volají model přes API, se vejde do 6 až 8 GB, včetně sestavení rozhraní.
Aplikace, která vyhledává ve vašich dokumentech (RAG, retrieval-augmented generation), převede každou pasáž na vektor a pak k otázce vyhledá ty nejbližší. Dimenzovat je třeba dvě položky:
Typ halfvec v pgvector ukládá každou dimenzi do 2 bajtů místo 4: poloviční paměť při kvalitě vyhledávání, která zůstává velmi blízká.
Jazykový model je soubor vah, který se pro odpovídání celý načte do paměti. Jeho velikost závisí na počtu parametrů a na kvantizaci, tedy přesnosti, s jakou je každá váha uložena. Formát GGUF, který používají llama.cpp a Ollama, nabízí kvantizace od 2 do 16 bitů; varianta Q4_K_M, kolem 4 bitů, je běžným kompromisem mezi velikostí a kvalitou.
| Velikost modelu | Příklady | 4 bity (Q4_K_M) | 8 bitů (Q8_0) | 16 bitů |
|---|---|---|---|---|
| 1 až 3 miliardy parametrů | Llama 3.2 3B, Qwen2.5 3B | 1 až 2 GB | 1,3 až 3,5 GB | 2,5 až 6,5 GB |
| 7 až 8 miliard | Mistral 7B, Llama 3.1 8B, Qwen2.5 7B | 4,4 až 5 GB | 7,7 až 8,5 GB | 14,5 až 16 GB |
| 12 až 14 miliard | Mistral Nemo 12B, Qwen2.5 14B | 7,5 až 9 GB | 13 až 16 GB | 25 až 30 GB |
| 32 miliard | Qwen2.5 32B | zhruba 20 GB | zhruba 35 GB | zhruba 65 GB |
| 70 miliard | Llama 3.3 70B | zhruba 43 GB | zhruba 75 GB | zhruba 140 GB |
K těmto vahám se přidávají dvě položky:
Příklad. Llama 3.1 8B ve 4bitové kvantizaci, dvě souběžné konverzace po 8 000 tokenech a malá aplikace: 5 GB pro model, 2 GB pro kontext, 2 GB pro aplikaci a systém, celkem 9 GB, a s rezervou 25 % zhruba 12 GB.
Pro vytvoření každého tokenu model znovu přečte všechny své váhy v paměti. Na procesoru je rychlost generování proto omezena spíše propustností paměti než počtem jader: model o 5 GB na stroji, který čte 25 GB za sekundu, dosáhne nanejvýš zhruba 5 tokenů za sekundu, a to ještě před započtením samotného výpočtu.
Rozlišují se dvě fáze:
V praxi vytvoří model se 7 až 8 miliardami parametrů kvantizovaný na 4 bity na několika vCPU několik tokenů za sekundu. To pohodlně stačí pro zpracování na pozadí (třídění zpráv, extrakce polí z dokumentu, noční shrnutí toho, co přišlo během dne) i pro interního asistenta. Interaktivní použití ve velkém měřítku a modely s několika desítkami miliard parametrů běží na grafické kartě (GPU).
Rozhodne měření: llama-bench, dodávaný s llama.cpp, změří rychlost obou fází na vašem serveru a pro váš model.
llama-bench -m model-Q4_K_M.gguf -p 512 -n 128
Model zabírá na disku zhruba tolik jako v paměti: 5 GB pro model s 8 miliardami parametrů ve 4bitové kvantizaci. Počítejte s místem pro dva nebo tři modely či verze, vektorové indexy, zdrojové dokumenty a databázi. SSD NVMe načte model během několika sekund při spuštění služby, což se projeví při každém restartu.
Řádově: 50 GB pro aplikaci, která volá model přes API, 80 až 120 GB, jakmile na serveru žije model a jeho dokumenty.
S Ollamou se spuštění vejde do dvou příkazů:
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3.1:8b
Ollama ve výchozím nastavení naslouchá na 127.0.0.1:11434, tedy jen pro samotný server. Toto nastavení si ponechte: její API nevyžaduje žádné ověření a instance otevřená do internetu obslouží kohokoli, na vaše prostředky. Vaše aplikace na stejném serveru s ní komunikuje lokálně; pokud se na ni musí obracet jiný server, použijte proxy, která požadavky ověřuje, nebo privátní síť.
Pak nastavte velikost kontextu (num_ctx) podle toho, co vaše požadavky potřebují: právě ona zvětšuje obsazenou paměť, konverzaci po konverzaci.
VPS Pro běží na procesorech Intel Xeon, paměti ECC a zrcadlených SSD NVMe, s přístupem root pro instalaci Ollamy, llama.cpp, pgvector nebo vlastního stacku. Komplexní podpora je v ceně: popište nám svůj projekt, ať jde o API, nebo model na serveru, doporučíme vám velikost a pak u každé otázky stanovíme diagnózu a řekneme vám, co udělat, od systému až po kód vaší aplikace.
Ano. llama.cpp a Ollama spouštějí kvantizované modely na procesoru. Model se 7 až 8 miliardami parametrů ve 4bitové kvantizaci potřebuje zhruba 5 GB paměti a na několika vCPU vytvoří několik tokenů za sekundu, což vyhovuje zpracování na pozadí i interním asistentům.
Zhruba 5 GB pro model kvantizovaný na 4 bity (Q4_K_M), plus 1 GB na každou konverzaci o 8 000 tokenech, plus aplikace a systém. Server s 8 GB utáhne samotný model; 16 GB nechá místo pro aplikaci, databázi a několik konverzací.
API zpřístupňuje nejvýkonnější modely bez zvláštního serveru, s náklady za každý požadavek. Model na serveru drží data u vás a náklady má pevné, s kompaktnějším modelem. Mnoho aplikací obojí kombinuje: embeddingy a třídění na serveru, psaní textů přes API.
Zhruba 50 GB pro aplikaci, která volá model přes API. Jakmile na serveru žije model, počítejte s 80 až 120 GB: model s 8 miliardami parametrů ve 4bitové kvantizaci má 5 GB a často se uchovává několik jeho verzí, spolu s dokumenty a jejich vektorovými indexy.
Simafri
Promluvme si o vašem záměru
Řekněte nám v pár slovech, co potřebujete: rychle se vám ozveme.
Děkujeme! Vaše zpráva byla odeslána. Brzy se vám ozveme.
Máte raději e-mail? Napište nám na support@simafri.com.