Yksikkö 2 / 11

Token ja hinnoittelulogiikka

Voitot:

  • Selitä tunnuksen käsite, syöttö/tulostusmerkkien erottelu ja tokenointi.
  • Osaa laskea pyynnön kustannusten ja kuukausittaisen työmäärän tokenien lukumäärästä ja yksikköhinnasta
  • Osaa verrata mallin valinnan ja kehotteen pituuden vaikutusta kustannuksiin

Et voi rakentaa laajaa ratkaisua ymmärtämättä LLM-sovellusliittymien taloudellisuutta. Demo suoritetaan kerran; Tärkeintä on osata ennakoida laskun suuruutta, kun puheluita tulee tuhansia kuukaudessa. Tässä osiossa määritämme asioiden rahapuolen: mikä on token, miksi panos ja tuotos hinnoitellaan eri tavalla, miten pyynnön hinta lasketaan ja kuinka budjetoidaan kuukausittainen työmäärä. Näiden tietojen avulla voit mitata optimointitekniikoiden tuottoa (välimuisti, mallin valinta, erä) seuraavissa yksiköissä.

Mikä on Token?

Token on pienin yksikkö, jossa malli käsittelee tekstiä. Sana ei aina ole merkki; token on yleensä osa sanaa. Karkeasti sanottuna englanniksi 1 merkki on ≈ 4 merkkiä ≈ 0,75 sanaa. Turkissa ja koodissa suhde vaihtelee: turkin sanat jaetaan usein useampaan merkkiin kuin englannin kielessä sen pääterakenteen ja aakkosten vuoksi. Siksi on välttämätöntä mitata merkkien määrä palveluntarjoajan tokeninlaskentatyökalulla sen sijaan, että arvattaisiin silmällä.

Tokenointi (tekstin jakaminen tunnuksiksi) voi olla erilainen jokaisessa mallissa. Tällä on kaksi käytännön seurausta: (1) Sama teksti voi tuottaa eri määrän tunnuksia eri malleissa; (2) Muiden palveluntarjoajien (esim. OpenAI:n tiktoken-kirjaston) tokenizerillä tehdyt ennusteet ovat epätarkkoja Claudelle – käytä käyttämäsi mallin merkkien laskentavinkkiä.

Vihje: "Kuinka monta merkkiä?" Älä vastaa kysymykseen sokeasti. Välitä edustava teksti token Counting API:n kautta; Perusta budjettipäätökset mittaukseen.

Syöttö- ja lähtötunnukset

Lasku koostuu kahdesta osasta:

  • Syöttötunnukset: Kaikki mitä lähetät malliin – järjestelmäkehote, menneet kierrokset, käyttäjäviestit, mahdolliset asiakirjat. Nämä käsitellään kerralla.
  • Tulostustunnukset: Mallin tuottama vastaus. Jokaiselle lähtötunnisteelle malli suorittaa laskutoimituksen vaihe vaiheelta.

Useimmilla palveluntarjoajilla tulos on useita kertoja kalliimpaa kuin syöttö. Syy on yksinkertainen: syötteen lukeminen kerralla on halvempaa kuin tulosteen tuottaminen merkkikohtaisesti. Tämän epäsymmetrian tunteminen selittää, miksi optimoinnit, kuten "vaatii ytimekkäitä vastauksia", ovat niin tehokkaita.

Esimerkkihinnat (per 1 miljoonaa merkkiä, USD)

Alla oleva taulukko on viite; Hinnat voivat muuttua ajan myötä, vahvista oman palveluntarjoajasi nykyinen luettelo.

malliluokka

malli malli

Syöte ($/1 milj.)

Tuotos ($/1 milj.)

Tyypillinen käyttö

nopea/halpa

Haiku 4.5

1.00

5.00

Luokittelu, merkinnät, yksinkertainen yhteenveto

tasapainoinen

sonetti 5

3.00

15.00

Yleiskäyttöinen, koodaus, agenttityö

vahva

Opus 4.8

5.00

25.00

Monimutkainen päättely, pitkän kantaman tehtävät

Jokaisessa luokassa lähtö on 5 kertaa syöttö; Lisäksi jopa tehokkaan mallin syöttö on 5 kertaa halvan mallin syöttö. Nämä kaksi akselia (input↔output ja malliluokka) muodostavat kehyksen kustannuspäätöksillesi.

Kuinka laskea kustannukset?

Kaava on yksinkertainen:

hinta = (syöttötunnus / 1 000 000) × syöttöhinta + (lähtötunnus / 1 000 000) × lähtöhinta

Esimerkkitili. Pyyntö Sonnet 5:n kanssa: 1 500 syöttötunnusta, 400 lähtömerkkiä.

tulo = 1 500 / 1 000 000 × 3,00 = 0,0045 $ lähtö = 400 / 1 000 000 × 15,00 = 0,0060 $ yhteensä = 0,0105 $ (noin 1 sentti)

Yksi puhelu näyttää halvalta. Mutta kerrotaan äänenvoimakkuudella: 20 000 puhelua päivässä → 210 dollaria päivässä, ~ 6 300 dollaria kuukaudessa. Tässä mittakaava tulee peliin.

Kuukausibudjettimalli

Voit poimia työkuorman kuukausikustannukset käyttämällä tätä mallia:

1) Keskimääräinen syöttötunnus pyyntöä kohti: ......2) Keskimääräinen lähtötunnus pyyntöä kohden: ......3) Pyyntöjen määrä päivässä: ......4) Työpäivät kuukaudessa: ......5) Pyyntökohtainen hinta = (1)/1M×panoshinta + (2)/1M×tuotoshinta6) Kuukausikustannus = (5) × (3) × (4)

Tämän kuvion kaataminen laskentataulukkoon ja summan näyttäminen mallia vaihtaessasi ilmentää mallin valintaa (yksikkö 5) ja välimuistia (yksikkö 6) koskevia päätöksiä.

Kehotteen lyhentäminen kopioitavilla malleilla

Suurin osa kustannuksista aiheutuu tarpeettoman pitkistä kehotuksista ja hukkaan heitetystä tuotosta. Alla olevat mallit tarjoavat suoria säästöjä.

# Rajoita ulostulopituutta. Vastaa enintään kolmella kysymyksellä. Lisää perustelu tai johdantolause.

# Palauta vain pyydetty kenttä. Palauta vain seuraava JSON, älä lisää muuta tekstiä:{"category": "...", "urgency": "low|medium|high"}

# Poista tarpeeton kontekstiPoista vain päivämäärä ja summa seuraavasta tekstistä. Älä toista koko tekstiä.Teksti: """{{text}}"""

# Tee yhteenveto pitkästä puheesta (syötteen säästö) Tee tästä puheen yhteenveto 5 kohdassa. Käytän tätä yhteenvetoa koko menneisyyden sijaan seuraavilla kierroksilla. Puhe: """{{past}}"""

Heikko kehote / Vahva kehote (kustannusten suhteen)

# HEIKKO (julkaisee tuotantoa, kallis) Analysoi tämä tukipyyntö ja kirjoita minulle kattava arvostelu.

# VAHVA (rajoittaa tuotantoa, halpa ja ennustettava) Luokittele tämä tukipyyntö. Palauta vain seuraava JSON:{"category":"lasku|tekninen|hyvitys|other","urency":"low|medium|high"}Älä kirjoita kuvausta.

Heikko versio tuottaa ehkä 500 lähtömerkkiä; vahva versio ~15. Koska lähtö on kallista, tämä on merkittävä ero puhelua kohden ja moninkertaistuu äänenvoimakkuudella.

Kolme minikoteloa

Tapaus 1 – Pitkän kehotteen piilokustannukset. Kun kirjanpitoautomaatio lajitteli jokaisen laskun, se lisäsi jokaiseen pyyntöön syötteeksi 40-sivuisen "sääntökirjan": ~12 000 syöttötunnusta pyyntöä kohti. Sonnet 5:llä 12 000/1M×3 = 0,036 dollaria juuri syötetty. 5 000 laskua päivässä → 180 dollaria päivässä. Tallentamalla sääntökirjan välimuistiin (yksikkö 6) syöttökustannukset putosivat ~90 %.

Tapaus 2 – Mallin koon pienentämisen voitto. Yksi tiimi teki yksinkertaista "positiivisen/negatiivisen" tunteen merkitsemistä Opus 4.8:lla: 300 tuloa + 10 lähtömerkkiä. Opus maksaa 300/1M×5 + 10/1M×25 = 0,00175 dollaria. Vaihtaminen haikuksi, 300/1M×1 + 10/1M×5 = 0,00035 dollaria – 5x halvempi, ero tarkkuus oli mittaamaton. 3 miljoonalla puhelulla kuukaudessa ero on $ 5 250 → $ 1 050.

Tapaus 3 — Ulostulon vapauttaminen. Kun markkinointitiimi laati tuotekuvauksen, se ei aseta rajoja tuotoksille; malli sanoi joskus 1500 rahaketta. Kun lisäsin "60 sanaa maksimi" -ohjeen, keskimääräinen tulos putosi 900:sta 90:een. Koska painaminen oli kallista, kuukausilasku pieneni kolmanneksella ja tekstit tulivat hyödyllisempiä.

Yleisiä virheitä

  • Tokenin arvaaminen silmästä: Voit olla väärässä etenkin turkin ja koodin kielessä. Mitata.
  • Olettaen, että tulo ja lähtö ovat samat: Lähtö on yleensä paljon kalliimpaa; Suurin osa optimoinnista tulee ulostulon lyhentämisestä.
  • Älä mene lankaan yhden puhelun halvuudesta: Päätös tehdään äänenvoimakkuuden mukaan. 0,01 × miljoonaa dollaria = 10 000 dollaria.
  • Ennustaminen toisen palveluntarjoajan tokenisaattorilla: Antaa vääriä tuloksia; Käytä mallin merkkien laskentatyökalua.
  • Keskusteluhistorian rajoittamaton laajennus: Jokainen kierros lisätään merkintään; tiivistää pitkiin keskusteluihin.
  • "Max_tokens"-arvon pitäminen tarpeettoman korkeana: Piilottaa budjettisuunnitelman ja leikkaamisen riskin; Anna realistinen arvo.

Syvemmällä: kontekstiikkuna ja pitkä syöttökustannukset

On tärkeää nähdä, kuinka hinta nousee "keskustelun aikana" eikä vain "pyyntöä kohti". Tekstin kokonaismäärää, jonka malli voi käsitellä, kutsutaan kontekstiikkunaksi; Tuloksen ja lähdön summan tulee mahtua tähän ikkunaan. Nykyaikaisissa malleissa on erittäin suuret ikkunat (satoja tuhansia, jopa miljoonia tokeneita), mutta se ei tarkoita, että voit "täyttää sen loputtomasti" - mitä tahansa laitat ikkunaan, laskutetaan syötteenä.

Loukku pitkissä keskusteluissa on tämä: jokaisella uudella kierroksella lähetät koko historian uudelleen (valtiottomuus yksikössä 1). 20 kierroksen keskustelussa 20. pyyntö sisältää kaikki ensimmäiset 19 kierrosta syötteenä. Näin ollen keskustelun pidentyessä pyyntökohtainen hinta kasvaa kumulatiivisesti eikä lineaarisesti. 50 kierroksen keskustelu agenttiassistentin kanssa voi tuottaa panoskustannuksia kymmeniä kertoja ensimmäisellä kierroksella.

On kaksi tapaa hallita tätä. Ensimmäinen on yhteenveto: vanhempien kierrosten pakkaaminen yhdeksi yhteenvetolohkoksi, jolloin vain muutama viimeinen kierros pysyy raakana. Toinen on nopea välimuisti (yksikkö 6): kiinteän kontekstin lukeminen kymmenesosalla hinnasta sen sijaan, että sitä käsiteltäisiin toistuvasti täydellä hinnalla. Yhdessä ne vähentävät merkittävästi pitkien, kontekstiintensiivisten työkuormien laskua. Token Economicsissa on siis kyse koko istunnon suunnittelusta, ei yksittäisestä pyynnöstä.

Yhteenvetona

Token on pienin yksikkö, jossa tekstiä käsitellään; panos ja tuotos hinnoitellaan erikseen, ja tuotanto on usein paljon kalliimpaa. Hinta on rahakkeiden määrä kerrottuna yksikköhinnalla, ja todellinen päätös tehdään volyymin mukaan. Kehotteen lyhentäminen, tehon rajoittaminen ja tehtävän suorittavan kevyimmän mallin valitseminen ovat suorimpia vipuja, jotka vähentävät kustannuksia moninkertaisesti.

Sovellustehtävä

Valitse oma tehtäväsi. (1) Määritä edustavan kehotteen syöte- ja arvioitu lähtötunnisteiden määrä (mittaa merkkien laskentatyökalulla, jos mahdollista). (2) Laske kustannus per pyyntö kolmelle malliluokalle. (3) Arvioi päivittäinen pyyntöjen määrä ja laske kuukausibudjetti kolmelle mallille. (4) Lisää ohje lyhentääksesi tulosta ja huomioi odotetut säästöt.

tarkistuslista

  • [ ] Pystyn selittämään tokenien käsitteen ja että tokenointi vaihtelee mallin mukaan.
  • [ ] Tiedän, miksi syöttö- ja lähtötunnukset hinnoitellaan eri tavalla.
  • [ ] Pystyn laskemaan pyynnön kustannukset kaavalla.
  • [ ] Voin luoda kuukausibudjetin työmäärälle mallin avulla.
  • [ ] Voin näyttää esimerkillä tehon lyhentämisen ja mallin pienentämisen edut.