Definice
Inference je výpočetní proces, při němž se spouští natrénovaný model umělé inteligence, aby z nových, dosud neviděných vstupů vytvořil výstupy (předpovědi, klasifikace, generovaný text nebo rozhodnutí). Na rozdíl od tréninku, který upravuje parametry modelu opakovaným průchodem daty s cílem minimalizovat ztrátovou funkci, inference používá pevné naučené parametry a převádí vstupy na výstupy dopředným průchodem neuronovou sítí modelu. V produkčních systémech zahrnuje inference celou pipeline: předzpracování vstupu a tokenizaci, sestavení tenzorů, dopředné šíření vrstvami modelu, vzorkování či dekódování výstupu a dodatečné zpracování výsledků do formátu, se kterým pracuje aplikace.
Výkon inference charakterizují tři hlavní rozměry: latence (doba do prvního tokenu a doba do dokončení u generativních modelů, celková doba odpovědi u klasifikačních modelů), propustnost (tokeny nebo požadavky za sekundu, které systém udrží) a efektivita využití prostředků (spotřeba paměti, využití GPU/CPU a energie na jednu inferenci). Tyto rozměry jsou v napětí – optimalizace propustnosti dávkováním zvyšuje latenci jednotlivých požadavků, minimalizace latence vyhrazenými prostředky snižuje propustnost a zvyšuje cenu. Produkční systémy musí mezi nimi volit podle požadavků aplikace: interaktivní aplikace upřednostňují latenci, dávkové pipeline propustnost.
Rozdíl mezi tréninkem a inferencí má zásadní důsledky pro architekturu. Trénink je dávkový proces, který hodiny či dny vyžaduje obrovské výpočetní prostředky a vytváří artefakt modelu. Inference je služba v reálném čase, která po celou dobu provozu aplikace vyžaduje trvalé zpracování s nízkou latencí. Proto jsou tréninková infrastruktura (clustery GPU, distribuované datové pipeline) a inferenční infrastruktura (obslužné frameworky, vyvažovače zátěže, cache modelů) zásadně odlišné systémy optimalizované pro odlišné úlohy.
Pozor na dvojznačnost: v logice a epistemologii znamená inference odvozování závěru z premis (usuzování). Toto heslo popisuje technický význam z oblasti strojového učení; epistemickým významem se v knize zabývají například EA-4.3.4 Přerušení inferenčního řetězce, EA-5.1.16 Inferenční paralýza a Brandom: inferenční sémantika.
Přehled
Prostředí inference se rychle proměnilo s rozšířením velkých jazykových modelů (LLM) a nástupem lokálních běhových prostředí. Kde dříve inference vyžadovala cloudové instance GPU za tisíce dolarů měsíčně, umožňují dnes techniky kvantizace a optimalizovaná běhová prostředí provozovat modely se 7–20 miliardami parametrů na běžném hardwaru s přijatelnou latencí. Toto zpřístupnění dovoluje platformám udržet funkce AI s menší závislostí na cloudu, lepší ochranou dat a předvídatelnými náklady.
Fáze inferenční pipeline
| fáze | popis | typická latence | optimalizace |
|---|---|---|---|
| předzpracování | validace vstupu, tokenizace, vyhledání embeddingů | 1–5 ms | cache tokenů, dávková tokenizace |
| prefill | zpracování všech vstupních tokenů vrstvami attention | 50–500 ms | FlashAttention, tenzorový paralelismus |
| generování | autoregresivní generování tokenů (LLM) | 20–100 ms/token | KV-cache, spekulativní dekódování |
| dodatečné zpracování | dekódování tokenů, formátování a validace výstupu | 1–5 ms | streamování výstupu, předčasné ukončení |
Techniky optimalizace modelu
| technika | úspora paměti | vliv na rychlost | vliv na kvalitu |
|---|---|---|---|
| FP16 | 50 % oproti FP32 | 1,5–2× rychlejší | zanedbatelný |
| kvantizace INT8 | 75 % oproti FP32 | 2–3× rychlejší | malý (< 1 % perplexity) |
| kvantizace INT4 (GPTQ/AWQ) | 87,5 % oproti FP32 | 3–4× rychlejší | střední (1–3 % perplexity) |
| GGUF (llama.cpp) | proměnlivá (typicky Q4_K_M) | optimalizováno pro CPU | podle úrovně kvantizace |
| spekulativní dekódování | žádná | 2–3× rychlejší generování | bezztrátové |
| KV-cache | paměť zvyšuje | nutná pro generování | bezztrátová |
| průběžné dávkování | žádná | 2–5× vyšší propustnost | bezztrátové |
Architektury inference
+-----------------------+
| Request Router |
| (load balancing, |
| rate limiting) |
+----------+------------+
|
+----------------+----------------+
| | |
+--------v------+ +-----v--------+ +---v-----------+
| Local Runtime | | Cloud API | | Hybrid |
| (Ollama) | | (Claude, | | (local first, |
| - 7B-20B | | GPT) | | cloud |
| - < 8GB RAM | | - Any size | | fallback) |
| - Privacy | | - Fastest | | - Balanced |
+----------------+ +--------------+ +---------------+Technické podrobnosti
Tokenizace a zpracování vstupu
Inference začíná převodem surového vstupu do formátu, který model očekává. U LLM jde o tokenizaci – převod textových řetězců na celočíselná ID tokenů podle slovníku modelu:
| tokenizér | velikost slovníku | průměr tokenů na slovo | používají |
|---|---|---|---|
| BPE (Byte Pair Encoding) | 32K–100K | 1,3–1,5 | GPT, Llama |
| SentencePiece | 32K–64K | 1,2–1,4 | T5, Gemma |
| WordPiece | 30K–50K | 1,4–1,6 | BERT |
| Tiktoken | 100K+ | 1,1–1,3 | GPT-4 (OpenAI) |
Hodnoty tokenů na slovo platí orientačně pro angličtinu; u češtiny bývají vyšší.
Správa KV-cache
Při autoregresivním generování věnuje každý nový token pozornost všem předchozím tokenům. Bez cache by bylo nutné v každém kroku znovu spočítat attention pro celou sekvenci (složitost O(n²)). KV-cache ukládá mezivýsledky klíčů a hodnot attention a opětovným použitím snižuje generování jednoho tokenu na O(n):
| délka sekvence | bez KV-cache | s KV-cache | paměťová cena (7B FP16) |
|---|---|---|---|
| 512 tokenů | 512 dopředných průchodů | 1 průchod + 511 z cache | ~500 MB |
| 2048 tokenů | 2048 dopředných průchodů | 1 průchod + 2047 z cache | ~2 GB |
| 8192 tokenů | 8192 dopředných průchodů | 1 průchod + 8191 z cache | ~8 GB |
Strategie dávkování
| strategie | popis | latence | propustnost | použití |
|---|---|---|---|---|
| bez dávkování | jeden požadavek najednou | nejnižší | nejnižší | interaktivní, jeden uživatel |
| statické dávkování | pevná velikost dávky, čeká se na naplnění | vyšší | střední | dávkové zpracování |
| průběžné dávkování | dynamické přidávání a dokončování | střední | nejvyšší | produkční obsluha |
| spekulativní dávkování | návrhový model generuje, hlavní model ověřuje | nízká | vysoká | generování citlivé na latenci |
Srovnání s alternativami
| rozměr | lokální inference (Ollama) | cloudové API (Claude/GPT) | inference na okraji sítě | vlastní trénink |
|---|---|---|---|---|
| latence | 1–5 s (7B), 3–10 s (20B) | 0,5–3 s (optimalizováno) | 10–100 ms | různá |
| soukromí | úplná lokalita dat | data se posílají poskytovateli | v zařízení | podle nastavení |
| náklady | amortizace hardwaru | cena za token | cena zařízení | cena clusteru GPU |
| kvalita modelu | dobrá (rozsah 7–20B) | nejlepší (velké modely) | omezená (1–3B) | doménově specifická |
| škálovatelnost | omezená hardwarem | prakticky neomezená | podle zařízení | podle clusteru |
| dostupnost | 99 %+ (lokální hardware) | 99,9 % (podle SLA) | 100 % (offline) | různá |
Osvědčené postupy
- Volit velikost modelu podle úlohy: doplňování kódu a klasifikace často dobře zvládnou modely 7B, složité usuzování a vícekrokové plánování těží z větších modelů. Nesahat automaticky po největším modelu, když stačí menší.
- Zavést zpětný tlak (backpressure): nikdy nedovolit, aby požadavky na inferenci překročily kapacitu systému. Omezené fronty, omezování rychlosti a jističe brání vyčerpání prostředků. Model předávání zpráv v BEAM podporuje zpětný tlak přirozeně prostřednictvím časových limitů volání GenServer.
- Sledovat spotřebu prostředků: využití GPU/CPU, paměť a latenci inference vést jako telemetrické metriky. Nastavit upozornění, když se paměť blíží limitu (> 90 % rozpočtu 8 GB) a latence překročí prahy (> 5 s u interaktivních požadavků).
- Navrhnout řízený ústup: při přetížení nebo nedostupnosti lokální inference automaticky směrovat na cloudové poskytovatele; při nedostupnosti cloudu degradovat řízeně na odpovědi z cache nebo zjednodušené heuristiky.
- Ukládat do cache s rozmyslem: u deterministických vstupů ukládat výsledky inference. Pro přibližné zásahy cache používat shodu podle sémantické podobnosti.
- Streamovat odpovědi: u generativních modelů posílat tokeny klientovi průběžně. Snižuje to vnímanou latenci a umožňuje předčasné ukončení.
Případy užití
- Generování a analýza kódu: inference pohání generování kódu pro vývoj platformy, návrhy oprav kvality a detekci vzorů. Modely jako qwen3-coder a deepseek-coder jsou optimalizovány pro porozumění kódu v Elixiru a jeho generování.
- Analýza OSINT: inference zpracování přirozeného jazyka extrahuje entity, vztahy a sentiment z nestrukturovaných dat OSINT a předává strukturované zpravodajství do znalostního grafu.
- Bezpečnostní klasifikace: modely klasifikují bezpečnostní hrozby, hodnotí závažnost zranitelností a vytvářejí popisy rizik pro bezpečnostní hodnocení Prismatic Perimeter.
Význam pro Kompendium
Pro knihu je inference modelů AI podstatná proto, že výstupy jazykových modelů se stávají zdrojem tvrzení, které lidé přebírají. Model nevypovídá o světě; generuje pravděpodobné pokračování textu. Kompendium popisuje rizika, která z toho plynou: EA-9.1.1 Praní halucinací, EA-9.1.8 Zesilování konfabulací a EA-9.1.6 Obcházení přiřazení zdroje. Obranou je zacházet s výstupem modelu jako s hypotézou, ne jako se svědectvím, a ověřovat jej proti zdrojům (detekce obsahu generovaného AI).
Související
Kde se pojem v knize potkává s praxí
- OSINT – oblast, v níž inference extrahuje entity a vztahy.
Kniha
- EA-9.1.1 Praní halucinací – když se výstup modelu stane „faktem“.
- EA-5.1.16 Inferenční paralýza – inference ve smyslu usuzování.
- Detekce obsahu generovaného AI – obrana jednotlivce.
Mimo knihu (web a repozitář platformy)
- Ollama – lokální běhové prostředí AI pro modely platformy.
- Backpressure – řízení toku, které brání přetížení inference.
- Rate Limiting – omezování požadavků chránící prostředky.
- Telemetry – metriky výkonu inference.
- Observability – infrastruktura sledování stavu inference.
- BEAM – virtuální stroj pro souběžné zpracování požadavků.
- GenServer – chování OTP, které implementuje koordinátor inference.
- Node – uzel BEAM.
- prismatic_ollama – lokální běhové prostředí inference přes Ollama.
prismatic_agents(aplikace platformy, není součástí tohoto repozitáře) – systém agentů využívající inferenci.- app_ai_safety – sledování bezpečnosti výstupů inference.
- app_ai_interpretability – analýza interpretovatelnosti výsledků.
- prismatic_telemetry – telemetrie výkonu inference.
- Architecture – architektura AI inference a integrační vzory.
- Capabilities – schopnosti AI a strojového učení.