Ako si vybrať jazykový model a ustrážiť náklady
Benchmarky vám nepovedia skoro nič užitočné. Čo naozaj rozhoduje pri výbere modelu a kde vznikajú náklady, ktoré nikto nečakal.
Prvá otázka, ktorá padne, býva „ktorý model je najlepší?". Je to pochopiteľné a je to slepá ulička. Neexistuje najlepší model, existuje najlacnejší model, ktorý ešte zvládne vašu úlohu.
Prečo benchmarky nepomôžu
Tabuľky s percentami vyzerajú presvedčivo a rozhodovať sa podľa nich je omyl.
Po prvé, testujú niečo iné než vy potrebujete. Že model rieši matematické olympiády vám nepovie nič o tom, či vytiahne správne IČO z rozmazanej faktúry.
Po druhé, rozdiely na vrchole sú malé a menia sa každé dva mesiace. Model, ktorý bol v marci najlepší, je v máji tretí a v júli má polovičnú cenu. Postaviť rozhodnutie na dnešnom poradí znamená prerábať ho každý kvartál.
Jediný benchmark, ktorý má cenu, je váš vlastný: zoberte päťdesiat reálnych prípadov z vašej firmy, prežeňte ich cez tri modely a porovnajte výsledky. Zaberie to jedno popoludnie a povie vám to viac než všetky tabuľky dokopy.
Čo naozaj rozhoduje
Podľa nášho poradia dôležitosti:
- Zvládne to vôbec? Otestujte na svojich dátach. Ak áno aj u malého modelu, je diskusia u konca — vezmite malý.
- Ako rýchlo? Ak čaká používateľ, dve sekundy sú niečo iné než dvadsať. Ak beží dávka v noci, je to jedno.
- Koľko to bude stáť pri reálnom objeme? Nie pri deme. Vynásobte to skutočným počtom volaní za mesiac.
- Kam idú dáta? Pri citlivých údajoch to môže rozhodnúť za vás skôr než čokoľvek iné.
- Dá sa vymeniť? Toto je najdôležitejšia položka na zozname.
Vymeniteľnosť je dôležitejšia než výber
Trh sa mení príliš rýchlo na to, aby ste sa zaviazali.
Prakticky to znamená jednu vec: v kóde majte tenkú vrstvu, cez ktorú idú všetky volania. Nie SDK jedného providera roztrúsené po dvadsiatich súboroch. Keď o pol roka príde model, ktorý je dvakrát lacnejší, chcete meniť jeden súbor, nie dvadsať.
Rovnaká vrstva vám mimochodom vyrieši aj retry, timeout, meranie nákladov a fallback na iného providera, keď ten prvý spadne. Vyplatí sa napísať ju hneď, kým je to hodina práce.
Kde vznikajú náklady
Platíte za tokeny na vstupe aj na výstupe, pričom výstupné bývajú výrazne drahšie. To má priame dôsledky:
Dlhá konverzácia je drahá exponenciálne. Model si nič nepamätá, takže pri každom ďalšom hovore posielate celú históriu znova. Desiata otázka v chate stojí niekoľkonásobne viac než prvá — nie preto, že by bola zložitejšia, ale preto, že sa s ňou posiela deväť predchádzajúcich.
Systémový prompt sa posiela zakaždým. Tie dve strany inštrukcií, na ktoré ste hrdí, platíte pri každom jednom volaní.
„Vysvetli svoj postup" nie je zadarmo. Keď necháte model uvažovať nahlas, platíte za každé slovo tej úvahy.
Čo s tým reálne funguje
Zoradené podľa pomeru efektu k námahe:
- Cachujte odpovede. Nudné a najúčinnejšie. Rovnaké otázky sa opakujú viac, než si myslíte. Odpoveď, ktorú vrátite z cache, stojí nula.
- Routujte na menší model. Klasifikácia a extrakcia nepotrebujú vlajkovú loď. Rozdiel býva rádový.
- Používajte prompt caching. Providery vedia zľavniť opakujúcu sa časť promptu — dajte stabilné inštrukcie na začiatok a meniace sa dáta na koniec.
- Skráťte, čo posielate. Neposielajte celý dokument, keď stačia tri odseky. Toto je mimochodom presne to, čo rieši RAG.
- Orežte históriu. Staršie časti konverzácie zhrňte namiesto toho, aby ste ich posielali doslova.
- Dávkujte, čo sa neponáhľa. Providery majú lacnejší režim pre úlohy, ktoré môžu počkať.
Merajte to od prvého dňa
Toto je jediná vec z celého článku, ktorú keď spravíte, zvyšok si nájdete sami.
Logujte pri každom volaní: ktorý model, koľko tokenov dnu, koľko von, koľko to trvalo, ktorej funkcie sa to týkalo. Bez toho neviete, či vás zabíja jedna funkcia alebo tisíc malých, a optimalizovať budete naslepo.
A nastavte si strop. Nekonečná slučka v agentovi alebo zle napísaný cyklus dokáže minúť mesačný rozpočet za noc. Nie je to hypotetické, stalo sa to dosť firmám na to, aby to provideri riešili vlastnými limitmi.
Riešite niečo podobné vo vašej firme?
Chcem nezáväznú konzultáciu