Inferencija je pokretanje već istreniranog modela da bi odgovarao na upite. Kod jezičkih modela ona određuje brzinu odgovora, broj korisnika koje jedan server opslužuje i cenu po upitu. Otvorene modele postavljamo na vaše servere uz vLLM ili SGLang, kvantizaciju i API kompatibilan sa OpenAI formatom.
Šta je LLM inferencija
Svaki odgovor jezičkog modela nastaje u dve faze. U prvoj (prefill) model „čita“ ceo upit: pitanje, istoriju razgovora i pronađene dokumente. U drugoj (decode) generiše odgovor token po token — a za svaki token mora da pročita sve težine modela iz memorije grafičke kartice.
Zato brzinu generisanja pre svega ograničava propusnost memorije, a ne računska snaga. Model od 70 milijardi parametara u 8-bitnoj preciznosti zauzima oko 70 GB. Kartica sa propusnošću od 3,35 TB/s (H100) može da ga pročita najviše oko 48 puta u sekundi — to je gornja granica brzine za jednog korisnika. Umetnost produkcijske inferencije je da se u istom prolazu opsluži mnogo korisnika odjednom.
Grafik se prikazuje uz JavaScript — isti podaci su u tabeli ispod.
Tabela podataka
| Kartica / sistem | Propusnost | Gornja granica |
|---|---|---|
| B200 | 8 TB/s | 444 tok/s |
| H200 | 4,8 TB/s | 267 tok/s |
| H100 SXM | 3,35 TB/s | 186 tok/s |
| RTX 5090 | 1,79 TB/s | 99 tok/s |
| RTX PRO 6000 | 1,79 TB/s | 99 tok/s |
| L40S | 0,86 TB/s | 48 tok/s |
| Mac M3 Ultra | 0,82 TB/s | 46 tok/s |
| DGX Spark | 0,27 TB/s | 15 tok/s |
| Ryzen AI Max+ | 0,26 TB/s | 14 tok/s |
Metrike koje merimo
| Metrika | Šta znači | Tipičan cilj |
|---|---|---|
| TTFT | Vreme do prvog tokena — koliko korisnik čeka da odgovor počne | ispod 1 s za razgovor |
| Brzina generisanja | Tokena u sekundi po korisniku | 20–60 tok/s, brže od čitanja |
| Ukupna propusnost | Tokena u sekundi za sve korisnike zajedno | određuje broj korisnika po serveru |
| p95 latencija | Vreme u kome se završi 95% zahteva | stabilna i pod opterećenjem |
| Cena po 1M tokena | (amortizacija + struja) / obrađeni tokeni | niža od API cene za isti kvalitet |
Kako ubrzavamo i pojeftinjujemo inferenciju
- Kvantizacija — formati FP8, INT4 (AWQ, GPTQ) ili MXFP4 smanjuju potrebnu memoriju dva do četiri puta, uz mali i merljiv gubitak kvaliteta. Isti server tada opslužuje više korisnika ili veći model.
- Continuous batching i PagedAttention — zahtevi različitih korisnika spajaju se u isti prolaz kroz GPU, a memorija za kontekst (KV keš) deli se bez rasipanja.
- Prefix caching — kada svi upiti počinju istim sistemskim uputstvom ili dokumentom, taj deo se računa samo jednom.
- Spekulativno dekodiranje — mali model predlaže tokene, a veliki ih proverava: kraće vreme odgovora bez promene kvaliteta.
- Pravi model za pravi posao — klasifikacija i izdvajanje podataka često odlično rade sa modelom od 8B, a veliki model se čuva za složena pitanja. Ruter između njih može da prepolovi trošak.
- MoE modeli — modeli sa „ekspertima“ (npr. gpt-oss-120b ili Qwen3-30B-A3B) po tokenu aktiviraju samo deo parametara, pa su brzi kao mali modeli — ali memorija i dalje mora da primi sve parametre. Detaljnije u vodiču Koliko VRAM-a treba za LLM.
Izbor softvera
| Alat | Kada ga koristimo |
|---|---|
| vLLM | Podrazumevani izbor za produkciju: širok izbor modela, visoka propusnost, OpenAI-kompatibilan API |
| SGLang | Agenti, strukturisan izlaz i mnogo zajedničkih prefiksa; vrlo visoka propusnost |
| TensorRT-LLM | Maksimum performansi na NVIDIA hardveru kada je model stabilan i dugoročan |
| llama.cpp / Ollama | Razvoj, radne stanice, mali timovi, Apple i CPU hardver |
| Kubernetes / Docker Compose | Orkestracija: Kubernetes za više servera, Compose za jedan |
Ovako izgleda pokretanje otvorenog modela sa vLLM-om i poziv iz aplikacije:
# vLLM: otvoreni model sa OpenAI-kompatibilnim API-jem na portu 8000
docker run --gpus all --ipc=host -p 8000:8000 \
vllm/vllm-openai:latest \
--model openai/gpt-oss-120b \
--max-model-len 32768
# Aplikacija ga poziva kao bilo koji OpenAI endpoint — menja se samo adresa
curl http://llm.interno:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-oss-120b",
"messages": [{"role": "user", "content": "Sažmi ovaj ugovor u pet tačaka."}]}'
Pošto API prati OpenAI format, postojeće aplikacije i biblioteke rade bez izmena. To je ujedno i najjednostavniji put za prelazak sa cloud API-ja na sopstvenu infrastrukturu.
Šta isporučujemo
- Izbor i test modela na vašim podacima: kvalitet, brzina, memorija.
- Produkcijski inference server sa kvantizacijom i podešenim parametrima.
- API gateway: autentikacija, limiti po korisniku i aplikaciji, logovanje.
- Monitoring (Prometheus, Grafana, NVIDIA DCGM): latencija, propusnost, iskorišćenost GPU-a i troškovi.
- Test opterećenja sa izveštajem — koliko korisnika server opslužuje pri ciljnoj latenciji.
- Dokumentaciju i uputstvo za rad na srpskom, za vaš tim.