Dobici:
- Objasniti pojam tokena, razlikovanja ulazno/izlaznih tokena i tokenizacije.
- Može izračunati trošak zahtjeva i mjesečno opterećenje iz broja tokena i jedinične cijene
- Može usporediti utjecaj odabira modela i brze duljine na trošak
Ne možete izgraditi veliko rješenje bez razumijevanja ekonomije LLM API-ja. Demo se izvodi jednom; Glavno je moći predvidjeti koliki će biti račun kada se mjesečno obavi tisuće poziva. U ovoj jedinici postavljamo novčanu stranu stvari: što je token, zašto ulaz i izlaz imaju različite cijene, kako izračunati trošak zahtjeva i kako planirati mjesečno radno opterećenje. Ove vam informacije omogućuju mjerenje povrata tehnika optimizacije (spremanje u predmemoriju, odabir modela, serija) u sljedećim jedinicama.
Što je token?
Token je najmanja jedinica u kojoj model obrađuje tekst. Riječ nije uvijek znak; token je obično dio riječi. Grubo govoreći, u engleskom jeziku 1 token je ≈ 4 znaka ≈ 0,75 riječi. U turskom jeziku i kodu, omjer se razlikuje: turske riječi su često podijeljene na više tokena nego u engleskom jeziku zbog strukture sufiksa i abecede. Stoga je potrebno izmjeriti broj tokena davateljevim alatom za brojanje tokena, a ne pogađati na oči.
Tokenizacija (postupak dijeljenja teksta u tokene) može biti različita za svaki model. To ima dvije praktične posljedice: (1) Isti tekst može dati različit broj tokena u različitim modelima; (2) Predviđanja napravljena s tokenizatorima drugih pružatelja (npr. OpenAI-jeva biblioteka tiktokena) bit će netočna za Claudea — upotrijebite savjet za brojanje tokena za model koji koristite.
Savjet: "Otprilike koliko tokena?" Ne odgovarajte na pitanje slijepo. Proslijedite reprezentativni tekst kroz API za brojanje tokena; Temeljite proračunske odluke na mjerenju.
Ulazni i izlazni žetoni
Faktura se sastoji od dvije stavke:
- Ulazni tokeni: Sve što pošaljete modelu — upit sustava, prošli obilasci, korisnička poruka, dokumentacija ako postoji. Sve se obrađuju odjednom.
- Izlazni tokeni: Odgovor koji proizvodi model. Za svaki izlazni token, model izvodi izračun korak po korak.
Kod većine pružatelja izlaz je nekoliko puta skuplji od ulaza. Razlog je jednostavan: čitanje ulaza odjednom je jeftinije od proizvodnje izlaza token po token. Poznavanje te asimetrije objašnjava zašto su optimizacije poput "zahtijevaju sažete odgovore" toliko učinkovite.
Ogledne cijene (za 1 milijun tokena, USD)
Tablica u nastavku je referenca; Cijene se mogu promijeniti tijekom vremena, molimo potvrdite trenutni popis vlastitog pružatelja usluga.
razred modela
ogledni model
Unos ($/1M)
Izlaz ($/1M)
Tipična uporaba
brzo/jeftino
Haiku 4.5
1,00
5.00
Klasifikacija, označavanje, jednostavan sažetak
uravnotežena
sonet 5
3.00
15.00 sati
Opća namjena, kodiranje, agentski rad
snažna
Opus 4.8
5.00
25.00 sati
Složeno razmišljanje, dugotrajni zadaci
U svakoj klasi, output je 5 puta veći od inputa; Štoviše, čak je i input moćnog modela 5 puta veći od inputa jeftinog modela. Ove dvije osi (ulaz↔izlaz i klasa modela) čine okvir vaših odluka o troškovima.
Kako izračunati trošak?
Formula je jednostavna:
trošak = (input_token / 1.000.000) × input_price + (output_token / 1.000.000) × output_price
Ogledni račun. Zahtjev sa Sonetom 5: 1500 ulaznih tokena, 400 izlaznih tokena.
ulaz = 1,500 / 1,000,000 × 3,00 = 0,0045 USD izlaz = 400 / 1,000,000 × 15,00 = 0,0060 USD ukupno = 0,0105 USD (oko 1 cent)
Jedan poziv izgleda jeftino. Ali pomnožite s količinom: 20 000 poziva dnevno → 210 USD dnevno, ~6 300 USD mjesečno. Ovdje dolazi do izražaja razmjer.
Predložak mjesečnog proračuna
Da biste izdvojili mjesečni trošak radnog opterećenja, upotrijebite ovaj predložak:
1) Prosječni ulazni token po zahtjevu: ......2) Prosječni izlazni token po zahtjevu: ......3) Broj zahtjeva po danu: ......4) Radni dani po mjesecu: ......5) Trošak po zahtjevu = (1)/1M×input_price + (2)/1M×output_price6) Mjesečni trošak = (5) × (3) × (4)
Prebacivanje ovog uzorka u proračunsku tablicu i gledanje kako se zbroj odigrava kada promijenite model utjelovljuje odluke o odabiru modela (jedinica 5) i predmemoriju (jedinica 6).
Skraćivanje upita pomoću predložaka koji se mogu kopirati
Većina troškova dolazi od nepotrebno dugih upita i uzaludnog ispisa. Predlošci u nastavku omogućuju izravnu uštedu.
# Ograničite duljinu izlaza. Odgovorite s najviše 3 stavke. Dodajte obrazloženje ili uvodnu rečenicu.
# Vrati samo traženo polje. Vrati samo sljedeći JSON, ne dodajte nikakav drugi tekst:{"category": "...", "urency": "low|medium|high"}
# Uklonite nepotreban kontekst Uklonite samo datum i iznos iz sljedećeg teksta. Nemojte ponavljati cijeli tekst.Tekst: """{{text}}"""
# Sažeti dugi govor (spremanje unosa) Sažeti ovaj govor u 5 stavki. Koristit ću ovaj sažetak umjesto cijele prošlosti u sljedećim krugovima. Govor: """{{past}}"""
Slab upit / Jak upit (u smislu cijene)
# SLABO (objavljuje izlaz, skupo)Analizirajte ovaj zahtjev za podršku i napišite mi iscrpnu recenziju.
# SNAŽNO (ograničava izlaz, jeftino i predvidljivo) Klasificirajte ovaj zahtjev za podršku. Samo vratite sljedeći JSON:{"category":"invoice|technical|refund|other","urency":"low|medium|high"}Nemojte pisati opis.
Slaba verzija proizvodi možda 500 izlaznih tokena; jaka verzija ~15. Budući da je izlaz skup, ovo je značajna razlika po pozivu i množi se s volumenom.
Tri mini kućišta
Slučaj 1 — Skriveni trošak dugog upita. Kako je računovodstvena automatizacija sortirala svaku fakturu, dodala je "knjigu pravila" od 40 stranica kao unos za svaki zahtjev: ~12 000 ulaznih tokena po zahtjevu. Uz Sonnet 5 12,000/1M×3 = upravo unesenih 0,036 USD. 5000 računa dnevno → 180 USD dnevno. Spremanjem pravilnika u predmemoriju (jedinica 6) ulazni trošak pao je za ~90%.
Slučaj 2 — Isplata smanjenja modela. Jedan tim radio je jednostavno označavanje "pozitivno/negativno" raspoloženja s Opusom 4.8: 300 ulaznih + 10 izlaznih tokena. Opus košta 300/1M×5 + 10/1M×25 = 0,00175 USD. Prelazak na Haiku, 300/1M×1 + 10/1M×5 = $0,00035 — 5x jeftinije, razlika u točnosti bila je nemjerljiva. Na 3 milijuna poziva mjesečno, razlika je 5250 USD → 1050 USD.
Slučaj 3 — Oslobađanje izlaza. Kada je marketinški tim izradio opis proizvoda, nije postavio ograničenja na izlaz; model je ponekad govorio 1500 tokena. Kad sam dodao instrukciju "maksimalno 60 riječi", prosječni rezultat je pao s 900 na 90 tokena. Kako je tiskanje bilo skupo, mjesečni račun smanjen je za trećinu, a tekstovi su postali korisniji.
Uobičajene greške
- Pogađanje tokena na oko: Možete pogriješiti, posebno u turskom i kodu. Mjera.
- Pod pretpostavkom da su input i output isti: Output je obično mnogo skuplji; Većina optimizacije dolazi od skraćivanja izlaza.
- Neka vas ne zavara jeftinost jednog poziva: odluka se donosi prema količini. 0,01 USD × milijun = 10 000 USD.
- Predviđanje s tokenizatorom drugog pružatelja: Daje netočne rezultate; Upotrijebite alat za brojanje tokena modela.
- Neograničeno povećanje povijesti razgovora: Svaki krug se dodaje unosu; sažimaju u dugim razgovorima.
- Držanje `max_tokens` nepotrebno visokim: skriva proračunski plan i rizik od rezanja; Dajte realnu vrijednost.
Dublje: Kontekstni prozor i dugi ulazni trošak
Ključno je vidjeti kako se cijena slaže "u cijelom razgovoru", a ne samo "po zahtjevu". Ukupna količina teksta koju model može obraditi naziva se kontekstni prozor; Zbroj ulaza i izlaza mora stati u ovaj prozor. Moderni modeli nude vrlo velike prozore (stotine tisuća, čak i milijune tokena), ali to ne znači da ga možete "beskonačno puniti" — što god stavite u prozor naplaćuje se kao ulaz.
Zamka u dugim razgovorima je sljedeća: sa svakom novom rundom iznova šaljete cijelu povijest (apatridnost u jedinici 1). U razgovoru od 20 rundi, 20. zahtjev nosi svih prvih 19 rundi kao ulaz. Stoga, kako razgovor postaje duži, cijena po zahtjevu raste kumulativno, a ne linearno. Razgovor od 50 rundi s pomoćnikom agenta može proizvesti ulazne troškove desetke puta više od prve runde.
Postoje dva načina da se to riješi. Prvi je rekapitulacija: sažimanje starijih rundi u jedan blok rekapitulacije, zadržavajući samo nekoliko posljednjih rundi u sirovom obliku. Drugi je brzo predmemoriranje (jedinica 6): čitanje fiksnog konteksta po desetini cijene umjesto opetovane obrade po punoj cijeni. Zajedno, oni značajno smanjuju račun za duga radna opterećenja koja su intenzivna u kontekstu. Dakle, ekonomija tokena odnosi se na dizajn cijele sesije, a ne na jedan zahtjev.
Ukratko
Token je najmanja jedinica u kojoj se obrađuje tekst; input i output se cijene zasebno, a output je često mnogo skuplji. Trošak je broj tokena pomnožen s jediničnom cijenom, a stvarna odluka se donosi prema količini. Skraćivanje upita, ograničavanje izlaza i odabir najlakšeg modela koji ispunjava zadatak najizravnije su poluge koje višestruko smanjuju trošak.
Zadatak aplikacije
Odaberite zadatak za sebe. (1) Odredite broj ulaznih i procijenjenih izlaznih tokena za reprezentativni upit (izmjerite alatom za brojanje tokena ako je moguće). (2) Izračunajte cijenu po zahtjevu za tri klase modela. (3) Procijenite svoj dnevni broj zahtjeva i odredite mjesečni proračun za tri modela. (4) Dodajte uputu za skraćivanje izlaza i zabilježite očekivane uštede.
popis za provjeru
- [ ] Mogu objasniti koncept tokena i da se tokenizacija razlikuje ovisno o modelu.
- [ ] Znam zašto ulazne i izlazne oznake imaju različite cijene.
- [ ] Mogu izračunati trošak zahtjeva pomoću formule.
- [ ] Mogu izraditi mjesečni proračun za radno opterećenje pomoću predloška.
- [ ] Primjerom mogu pokazati korist od skraćivanja izlaza i smanjenja modela.