Provoz a náklady · lekce 4 z 6 · 16 min čtení
Náklady, rychlost a volba modelu
Co doopravdy určuje cenu a rychlost AI v provozu, kdy se vyplatí velký a kdy malý model, jak fungují routování, cache promptů a dávkové zpracování, kdy dává smysl vlastní model a jak si spočítat měsíční náklady včetně citlivosti na změny. A proč vlastní test porazí každý žebříček.
Pilot vypadal skvěle: pár desítek lidí, pár stovek dotazů, účet za model v řádu stokorun. Pak se systém pustí na všechny zákazníky, k chatbotovi přibude vyhledávání v dokumentech, někdo zapne „přemýšlivý“ model, protože odpovídá chytřeji, a za měsíc přijde účet, který nikdo nečekal. Zároveň si lidé stěžují, že odpověď trvá dlouho.
V kurzu o AI ve firmě jsi řešil, jestli se AI projekt vůbec vyplatí. Tahle lekce jde o patro níž: z čeho se skládá cena a rychlost jednoho volání modelu, které páky máš k dispozici a jak vybrat model, který je pro tvůj úkol dost dobrý a zároveň ne zbytečně drahý.
Za co se vlastně platí
Z lekce Tokeny víš, že model nečte slova, ale tokeny, a že se přes API platí za tokeny. Teď se na to podíváme z pohledu provozu. Cenu jednoho volání určují dvě čísla: kolik tokenů do modelu pošleš (vstup) a kolik jich model vygeneruje (výstup).
Výstupní tokeny jsou dražší než vstupní. V ceníku velkých dodavatelů je výstup typicky několikanásobně dražší, v době psaní často zhruba pětkrát. Důvod je technický: vstup model zpracuje najednou, ale výstup musí generovat token po tokenu, a každý další token stojí výpočet navíc (víc v DeepDive níže).
To ale neznamená, že výstup tvoří většinu účtu. Často je to naopak, protože vstupu bývá mnohonásobně víc. A tady přichází hlavní zdroje nákladů, které v pilotu nebývají vidět:
- Délka kontextu. Jak víš z lekce Kontextové okno, model si nic nepamatuje a při každém volání dostane znovu všechno: systémový prompt, celou dosavadní konverzaci, dohledané dokumenty. Desátá otázka v konverzaci tedy stojí víc než první.
- Dohledané dokumenty (RAG). Každá pasáž, kterou systém k otázce přiloží, je vstup, za který platíš. Přiložit „pro jistotu“ deset dokumentů místo tří může cenu vstupu snadno zdvojnásobit.
- Opakované pokusy. Když volání selže nebo výstup neprojde kontrolou formátu a systém to zkusí znovu, platíš dvakrát.
- Smyčky agentů. Agent na jeden úkol volá model mnohokrát a při každém kroku mu pošle celý dosavadní průběh, který se postupně prodlužuje. Jeden úkol agenta proto může stát tolik jako desítky obyčejných dotazů.
- Přemýšlivé modely. Modely, které před odpovědí „přemýšlejí“ (reasoning models), generují navíc tokeny úvah. Ty se u velkých dodavatelů účtují jako výstupní tokeny, tedy za vyšší sazbu, a to i když je v odpovědi nevidíš celé. OpenAI i Anthropic to v dokumentaci výslovně uvádějí. Anthropic například píše, že platíš za celý proces přemýšlení, ne za jeho shrnutí, které ti model ukáže.
Do hloubkyProč je výstup dražší a pomalejší než vstup
Když model zpracovává vstup, může všechny jeho tokeny projít najednou, paralelně. Grafické karty (GPU), na kterých modely běží, jsou na takovou souběžnou práci stavěné. U výstupu to nejde: každý nový token závisí na všech předchozích, takže se generují jeden po druhém (proč, vysvětluje lekce Předpověď dalšího slova). Výpočetní kapacita je při tom využitá hůř a každý token zabere čas.
Proto výstup dominuje i v rychlosti. Doba odpovědi se dá zhruba rozdělit na dvě části: čas do prvního tokenu (zpracování vstupu, u přemýšlivých modelů i úvahy) a čas generování zbytku, který roste s délkou odpovědi. Dlouhý vstup prodlužuje hlavně první část, dlouhý výstup tu druhou. Odpověď dvakrát delší trvá zhruba dvakrát déle, kdežto vstup dvakrát delší ji obvykle zpomalí mnohem méně.
Co rozhoduje o rychlosti
- Latence(latency)
- Doba od odeslání požadavku do přijetí odpovědi. U chatbotů se sleduje i čas do prvního slova, protože když odpověď začne „naskakovat“ rychle, uživatel čeká trpělivěji.
Rychlost ovlivňují hlavně tři věci, v tomto pořadí:
- Délka výstupu. Největší a nejsnáze ovlivnitelná páka. Krátká odpověď je rychlá odpověď.
- Velikost modelu. Velké modely jsou chytřejší, ale každý token u nich trvá déle. Dodavatelé to v přehledech modelů obvykle přímo uvádějí (nejmenší model jako „nejrychlejší“, největší jako „pomalejší“).
- Přemýšlení. Model, který si nejdřív stovky nebo tisíce tokenů „promýšlí“, začne odpovídat později. U některých modelů můžeš míru přemýšlení nastavit (například parametrem „effort“), a ušetřit tak čas i peníze u jednoduchých dotazů.
Pro chatbota, kde člověk čeká, je latence často stejně důležitá jako cena. Pro noční zpracování tisíců faktur je skoro jedno, jestli jedna trvá dvě vteřiny, nebo dvacet.
Velký, nebo malý model
Dodavatelé nabízejí rodiny modelů v několika velikostech. Velký model zvládne složitější úvahy, nuance a dlouhé úkoly, ale je dražší a pomalejší. Malý model je rychlý a levný (rozdíl v ceně bývá desetinásobný i větší), ale u složitých úloh chybuje častěji.
| Velký model | Malý model | |
|---|---|---|
| Hodí se na | Složité úvahy, dlouhé dokumenty s nuancemi, náročné agenty, texty pro zákazníky, kde záleží na tónu | Třídění, extrakci údajů, krátké odpovědi z dodaných dokumentů, kontrolu formátu, velké objemy |
| Rychlost | Pomalejší | Rychlý |
| Cena za token | Vysoká | Výrazně nižší |
| Typická past | Používá se „pro jistotu“ i na úlohy, které by zvládl malý | Nasadí se na úlohu, na kterou nestačí, a chyby pak opravují lidé |
Dodavatelé sami doporučují dva rozumné začátky: buď začít s malým modelem a přejít na větší jen tam, kde testy ukážou, že nestačí, nebo naopak začít s velkým, vyladit úlohu a pak zkoušet, jestli ji nezvládne levnější. Oba postupy mají společné jedno: rozhoduje test na tvých úlohách.
Routování: levný model napřed
- Routování(routing)
- Rozdělování požadavků mezi různé modely podle obtížnosti nebo typu. Jednoduché dotazy jdou na malý levný model, složité na velký. O rozdělení může rozhodovat pravidlo, malý klasifikační model, nebo sám malý model, který pozná, že úloha je nad jeho síly.
V praxi se používají hlavně dva vzory:
- Třídič na vstupu. Malý model (nebo jednoduché pravidlo) nejdřív určí, o jaký dotaz jde. „Kde je moje zásilka?“ jde na malý model napojený na systém zásilek. „Chci reklamovat poškozené zboží a jsem naštvaný“ jde na velký model, nebo rovnou na člověka.
- Eskalace. Úlohu nejdřív zkusí malý model. Když neprojde kontrolou (špatný formát, nízká jistota, chybí zdroj), postoupí se velkému. Platíš za velký model jen u menšiny případů.
Routování umí ušetřit hodně, ale přidává složitost a nové místo, kde se může něco pokazit: třídič pošle těžký dotaz na malý model a ten na něj odpoví špatně. Proto i třídič potřebuje vlastní test a v monitoringu chceš vidět, kolik dotazů šlo kam.
Další páky: cache, dávky, kratší prompty
Cache promptů
Když posíláš modelu stále stejný začátek promptu (dlouhé systémové pokyny, příručku, katalog produktů), dodavatel si může jeho zpracování krátce zapamatovat. Při dalším volání se stejným začátkem pak tuhle část nemusí počítat znovu.
- Cache promptů(prompt caching)
- Funkce API, kdy dodavatel na krátkou dobu uloží zpracovaný začátek promptu. Další volání se stejným začátkem jsou rychlejší a tato část vstupu se účtuje za zlomek běžné ceny.
V době psaní ji nabízejí všichni tři velcí dodavatelé (OpenAI, Anthropic, Google), u některých se zapíná automaticky, u jiných ji musí vývojář nastavit. Čtení z cache stojí zlomek běžné ceny vstupu, u ověřených ceníků v době psaní kolem desetiny nebo méně. Zápis do cache může naopak stát o něco víc než běžný vstup a uložený obsah vydrží jen omezenou dobu (minuty až hodiny). Důležitý detail: funguje jen na shodný začátek. Proto patří neměnné části (pokyny, příručka) na začátek promptu a proměnlivé (otázka uživatele) na konec. Přesné podmínky a ceny se liší a mění, ověř je v dokumentaci svého dodavatele.
Dávkové zpracování
Pokud nepotřebuješ odpověď hned (noční zpracování dokumentů, vyhodnocení testovací sady, třídění archivu), můžeš poslat požadavky jako dávku. Dodavatel je zpracuje, až bude mít volnou kapacitu, obvykle do 24 hodin, a v době psaní za to všichni tři velcí dodavatelé účtují zhruba polovinu běžné ceny. Pro chatbota to nepoužiješ, pro všechno, kde člověk nečeká, je to jedna z nejsnazších úspor.
Kratší prompty a kratší odpovědi
- Prořízni systémový prompt. Prompty v provozu mají sklon bobtnat: každá chyba přidá odstavec pokynů. Jednou za čas je projdi a vyhoď, co nepomáhá (a ověř to testovací sadou).
- Přikládej méně, ale lepších dokumentů. Lepší vyhledávání, které najde tři správné pasáže, je levnější i přesnější než deset přibližných.
- Zkracuj historii. U dlouhých konverzací můžeš starší část nahradit shrnutím.
- Omez výstup. Řekni modelu, jak dlouhou odpověď chceš, a nastav technický strop délky výstupu. Šetří to peníze i čas.
Vlastní model: kdy se vyplatí
Vedle modelů, které si pronajímáš přes API, existují modely s otevřenými vahami (open-weight): jejich „naučený obsah“ si můžeš stáhnout a provozovat na vlastním hardwaru nebo u poskytovatele cloudu. Na první pohled to vypadá levně, protože za tokeny nikomu neplatíš. Ve skutečnosti platíš jinak.
Kdy to dává smysl:
- Velký, stálý objem. Když máš tolik požadavků, že grafické karty běží vytížené většinu dne, cena za jeden požadavek může vyjít nižší než u API.
- Kontrola nad daty. Data nikam neodcházejí. Pro některé obory (zdravotnictví, obrana, citlivé interní dokumenty) to může být rozhodující, i když je to dražší.
- Stabilita. Model se ti nezmění ani nezmizí, dokud ho sám nevyměníš.
- Specifická úloha. Menší model doladěný na jednu úzkou úlohu může stačit a být velmi levný na provoz.
Skryté náklady:
- Grafické karty. Výkonné GPU jsou drahé ke koupi i k pronájmu a platíš za ně, i když zrovna nic nedělají. Noc a víkend bez provozu jsou zaplacené prostoje.
- Lidé a provoz. Někdo musí model nasadit, aktualizovat, hlídat výkon, řešit výpadky a bezpečnost. To je trvalá práce, ne jednorázový projekt.
- Kvalita. Nejlepší otevřené modely jsou dnes velmi schopné, ale musíš si sám ověřit, jestli na tvé úloze (a v češtině) stačí. Žádný dodavatel to za tebe neudělá.
- Všechno okolo. Bezpečnostní filtry, škálování při špičkách, monitoring. U API jsou z velké části v ceně.
Pro většinu firem, které s AI začínají, je API rozumnější start. Vlastní provoz se vyplatí zvažovat, až znáš skutečný objem a požadavky. Obecnější rozhodování „koupit, nebo postavit“ probírá lekce Koupit, nebo postavit.
Příklad: kolik bude stát chatbot za měsíc
Teď si to spočítáme. Ceny v příkladu jsou vymyšlené a slouží jen k výpočtu, skutečné ceny se liší mezi dodavateli a mění se. Poměry mezi nimi jsou ale podobné tomu, co v ceníku uvidíš: výstup pětkrát dražší než vstup, malý model desetkrát levnější než velký, čtení z cache za desetinu ceny vstupu.
Předpoklady:
- 20 000 konverzací měsíčně, v průměru 4 dotazy na konverzaci, tedy 80 000 volání modelu.
- Vstup na jedno volání: systémový prompt 2 000 tokenů + dohledané dokumenty 3 000 + dosavadní konverzace v průměru 1 000 = 6 000 tokenů.
- Výstup na jedno volání: 300 tokenů.
- Ilustrační ceny: velký model 80 Kč za milion vstupních a 400 Kč za milion výstupních tokenů; malý model 8 Kč a 40 Kč.
Výpočet pro velký model:
- Vstup: 80 000 × 6 000 = 480 milionů tokenů × 80 Kč = 38 400 Kč
- Výstup: 80 000 × 300 = 24 milionů tokenů × 400 Kč = 9 600 Kč
- Celkem 48 000 Kč měsíčně, tedy 0,60 Kč za jedno volání.
Stejný provoz na malém modelu: 3 840 + 960 = 4 800 Kč.
Všimni si: i když je výstupní token pětkrát dražší, 80 % účtu tvoří vstup. Dokumenty a systémový prompt se posílají s každým dotazem znovu.
A teď to hlavní: co se stane, když se změní jeden předpoklad. Tahle tabulka (citlivostní analýza) ti ukáže, kterých čísel se máš bát:
| Změna proti základu (velký model) | Měsíčně | Proti základu |
|---|---|---|
| Základ | 48 000 Kč | – |
| Cache systémového promptu (2 000 tokenů za desetinu ceny; bez ceny zápisu) | 36 480 Kč | −24 % |
| 10 % volání se opakuje kvůli chybě | 52 800 Kč | +10 % |
| Dvakrát víc dohledaných dokumentů (6 000 místo 3 000 tokenů) | 67 200 Kč | +40 % |
| Dvakrát víc konverzací | 96 000 Kč | +100 % |
| Přemýšlivý model: navíc 1 500 tokenů úvah na volání | 96 000 Kč | +100 % |
| Routování: 70 % dotazů zvládne malý model, 30 % velký | 17 760 Kč | −63 % |
| Agent: 5 kroků na dotaz, v průměru 7 000 vstupních a 200 výstupních tokenů na krok | 256 000 Kč | +433 % |
Co z tabulky plyne:
- Architektura rozhoduje víc než ceník. Přechod na agenta s pěti kroky zvedne náklady víc než zdvojnásobení zákazníků. Routování ušetří víc než jakékoli vyjednávání o ceně.
- Neviditelné tokeny jsou drahé. Přemýšlení přidalo 1 500 výstupních tokenů, které zákazník nikdy neuvidí, a účet se zdvojnásobil.
- Malé optimalizace se sčítají. Cache, kratší historie a méně dokumentů dohromady ušetří desítky procent, aniž by se kvalita musela zhoršit. Musíš to ale ověřit testem.
Jak vybrat model: vlastní test porazí žebříček
Veřejné žebříčky modelů jsou dobré na první orientaci, ale na rozhodnutí nestačí. Měří obecné úlohy, většinou v angličtině, a ne tvoje dokumenty, tvoje zákazníky a tvůj tón. Navíc existuje riziko, že se testové otázky z veřejných sad dostaly do trénovacích dat a model je „zná“. A rozdíl o pár bodů na žebříčku se na tvé úloze nemusí projevit vůbec.
Spolehlivý postup využívá to, co už máš z modulu o evaluaci:
- Vezmi svou testovací sadu se skutečnými dotazy, včetně těžkých a okrajových případů a v češtině.
- Pusť ji na dva až čtyři kandidáty různých velikostí, ideálně od více dodavatelů. Vyhodnoť je podle kritérií z lekce Jak měřit kvalitu odpovědí.
- Zapiš si u každého kvalitu, latenci a cenu na jeden úkol. Ne cenu za token: model s levnějším tokenem, který píše dvakrát delší odpovědi nebo víc přemýšlí, nemusí být levnější.
- Vyber nejlevnější model, který splní tvůj práh kvality, ne ten nejlepší. Kde nestačí, zvaž routování.
- Zvaž i to, co v ceníku není: kde se data zpracovávají a za jakých smluvních podmínek, limity na počet požadavků, plánované datum ukončení modelu, podpora dodavatele. Rozdíl mezi produkty a modely pro firmy shrnuje lekce ChatGPT, Claude, Gemini a Copilot: v čem se liší.
- Test opakuj. Při každé nové verzi modelu, při výrazné změně promptu a jednou za čas i jen tak. Nové modely vycházejí často a dnešní nejlepší volba za půl roku nejlepší být nemusí.
Do hloubkyNa co si dát pozor v ceníku
Ceníky modelů vypadají jednoduše (cena za milion vstupních a výstupních tokenů), ale mají drobné písmo. Pár příkladů, na které v době psaní narazíš u velkých dodavatelů:
- Jiný počet tokenů pro stejný text. Různé modely (i různé verze od stejného dodavatele) dělí text na tokeny různě. Anthropic například uvádí, že tokenizér jeho novějších modelů vytvoří ze stejného textu zhruba o 30 % víc tokenů. Srovnávej proto cenu za úkol, ne za token.
- Příplatky za umístění zpracování. Když chceš, aby zpracování probíhalo jen v určité oblasti, může to stát víc. Anthropic v době psaní účtuje za zpracování výhradně v USA příplatek 10 %.
- Ceny podle délky promptu. U některých modelů se cena za token mění, když prompt přesáhne určitou délku.
- Kombinace slev. Slevy za cache a za dávkové zpracování se u některých dodavatelů dají kombinovat.
- Rychlejší režimy za příplatek. Někteří dodavatelé nabízejí rychlejší generování za vyšší cenu.
Nic z toho si nepamatuj, protože se to mění. Pamatuj si, že ceník je potřeba číst celý, a že nejjistější je pustit malý reálný provoz a podívat se, kolik opravdu stál.
Co si odnést
- Platí se za vstupní a výstupní tokeny. Výstup je dražší za token, ale vstup často tvoří většinu účtu, protože se s každým voláním posílá znovu celý kontext.
- Náklady nejvíc zvedají delší kontext, víc přiložených dokumentů, opakované pokusy, smyčky agentů a tokeny úvah u přemýšlivých modelů, které se účtují jako výstup, i když je nevidíš.
- Rychlost určuje hlavně délka výstupu, velikost modelu a míra přemýšlení.
- Velké páky na cenu jsou architektonické: menší model nebo routování, cache stálého začátku promptu, dávkové zpracování tam, kde nikdo nečeká, kratší prompty a omezený výstup.
- Vlastní model s otevřenými vahami se vyplatí hlavně při velkém stálém objemu nebo kvůli kontrole nad daty. Počítej s cenou GPU (i když nic nedělají) a s lidmi na provoz.
- Model vybírej vlastním testem na vlastních úlohách: nejlevnější model, který splní práh kvality, měřeno cenou za vyřešený úkol. Žebříčky jsou jen orientace.
Zdroje a další čtení
- Anthropic: Choosing the right model – dva postupy výběru modelu (od malého, nebo od velkého) a doporučení stavět na vlastních testech.
- Anthropic: Prompt caching – jak funguje cache promptů, co stojí zápis a čtení a jak dlouho vydrží.
- OpenAI: Prompt caching – automatická cache promptů u OpenAI a její podmínky.
- OpenAI: Batch API – dávkové zpracování se slevou proti běžnému API a lhůtou do 24 hodin.
- OpenAI: Reasoning models – jak přemýšlivé modely pracují a proč se tokeny úvah účtují jako výstup.
Kvíz k modulu
Provoz a náklady
Otázka 1 z 6
Chatbot nad firemními dokumenty odpověděl zákazníkovi chybně. Který zapsaný údaj ti nejvíc pomůže zjistit, jestli chyboval model, nebo vyhledávání dokumentů?