OpenAI
Ang page na ito ay isinalin ng AI. Tingnan ang orihinal na artikulo sa English.

Ano ang mga token at paano bilangin ang mga ito?

Na-update: 21 days ago

Ano ang mga token?

Ang mga token ang mga batayang yunit ng text na pinoproseso ng mga modelo ng OpenAI. Maaari silang kasing-ikli ng isang character o kasing-haba ng isang buong salita, depende sa wika at konteksto. Ang mga espasyo, bantas, at bahagi ng mga salita ay lahat nakadaragdag sa bilang ng token. Ganito hinahati ng API ang iyong text sa loob bago gumawa ng tugon.

Mga kapaki-pakinabang na tuntunin bilang gabay para sa English:

  • 1 token ≈ 4 na character

  • 1 token ≈ ¾ ng isang salita

  • 100 token ≈ 75 salita

  • 1–2 pangungusap ≈ 30 token

  • 1 talata ≈ 100 token

  • ~1,500 salita ≈ 2,048 token

Nag-iiba ang pag-tokenize depende sa modelo at encoding. Gamitin ang tool na Tokenizer o tiktoken.encoding_for_model(model) para makuha ang eksaktong bilang para sa target mong modelo.

Mga halimbawa

Narito ang ilang totoong sample ng text kasama ang tinatayang bilang ng token ng mga ito:

  • Sipi ni Wayne Gretzky na “Mamimiss mo ang 100% ng mga tira na hindi mo susubukan” = 11 token

  • Ang OpenAI Charter = 476 token

  • Ang US Declaration of Independence = 1,695 token

Paano kinakalkula ang mga bilang ng token

Kapag nagpapadala ka ng text sa API:

  1. Hinahati ang text sa mga token.

  2. Pinoproseso ng modelo ang mga token na ito.

  3. Ginagawa ang tugon bilang sunod-sunod na mga token, pagkatapos ay kino-convert pabalik sa text.

Sinusubaybayan ang paggamit ng token sa ilang kategorya:

  • Mga input token – mga token sa iyong kahilingan.

  • Mga output token – mga token na ginawa sa tugon.

  • Mga naka-cache na token – mga token na muling ginamit sa history ng pag-uusap (kadalasang sinisingil sa mas mababang rate).

  • Mga reasoning token – sa ilang advanced na modelo, may dagdag na “mga hakbang sa pag-iisip” na isinasama sa loob bago gawin ang pinal na output.

Lumalabas ang mga bilang na ito sa metadata ng iyong tugon sa API at ginagamit para sa pagsingil at pagsubaybay ng paggamit.

Para higit pang tuklasin ang pag-tokenize, maaari mong gamitin ang aming interactive na tool na Tokenizer, na nagbibigay-daan sa iyong kalkulahin ang bilang ng mga token at makita kung paano hinahati ang text sa mga token.

Bilang alternatibo, kung gusto mong i-tokenize ang text sa pamamagitan ng program, gamitin ang Tiktoken bilang mabilis na BPE tokenizer na partikular na ginagamit para sa mga modelo ng OpenAI.

Mga Limitasyon ng Token

May maximum na pinagsamang limitasyon ng token (input + output) ang bawat modelo. Sinusuportahan ng mga kasalukuyang high-capacity na modelo ang hanggang daan-daang libong token sa context, bagama’t maaaring mag-iba ang praktikal na limitasyon depende sa bersyon ng modelo at sa iyong usage tier.

Kung lalampas ka sa limitasyon, maaari mong:

  • Paikliin o baguhin ang pagkakasulat ng mga prompt.

  • Hatiin ang mahahabang text sa mas maliliit na bahagi.

  • Ibuod o i-preprocess ang mga input bago ipadala ang mga ito.

Presyo ng Token

Ang paggamit ng API ay may presyong kada token, na nag-iiba depende sa modelo at kung ang mga token ay input, output, o naka-cache. Tingnan ang pahina ng presyo ng OpenAI para sa mga kasalukuyang rate. Maaaring gumamit ang ilang nangangatwirang modelo ng mas maraming token sa loob, ngunit layunin nilang pahusayin ang kahusayan sa pamamagitan ng pagbawas sa bilang ng token na kailangan sa bawat natapos na gawain.

Paggalugad sa mga token

Tinatrato ng API ang mga salita ayon sa konteksto ng mga ito sa corpus data. Kinukuha ng mga modelo ang prompt, kino-convert ang input sa isang listahan ng mga token, pinoproseso ang prompt, at kino-convert pabalik ang mga hinulaang token sa mga salitang nakikita natin sa tugon.

Ang maaaring magmukhang dalawang magkaparehong salita sa atin ay maaaring mabuo bilang magkaibang token depende sa pagkakaayos ng mga ito sa loob ng text. Isaalang-alang kung paano gumagawa ang API ng mga value ng token para sa salitang ‘red’ batay sa konteksto nito sa loob ng text:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

Sa unang halimbawa sa itaas, kasama sa token na “2266” para sa ‘ red’ ang trailing space (Tandaan, mga halimbawang token ID ito para sa layuning demonstrasyon).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

Ang token na “2296” para sa ‘ Red’ (may leading space at nagsisimula sa malaking titik) ay iba sa token na “2266” para sa ‘ red’ na may maliit na titik.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Kapag ginamit ang ‘Red’ sa simula ng pangungusap, hindi kasama sa nabuong token ang leading space. Iba ang token na “7738” sa naunang dalawang halimbawa ng salita.

Mga obserbasyon:

Kung mas probable/madalas ang isang token, mas mababa ang token number na itatalaga rito:

  • Pareho ang token na ginawa para sa tuldok (“13”) sa lahat ng 3 pangungusap. Ito ay dahil, ayon sa konteksto, halos magkapareho ang paggamit ng tuldok sa buong corpus data.

  • Nag-iiba ang token na ginagawa para sa ‘red’ depende sa puwesto nito sa loob ng pangungusap:

    • Maliit na titik sa gitna ng pangungusap: ‘ red’ - (token: “2266”)

    • Malaking titik sa gitna ng pangungusap: ‘ Red’ - (token: “2297”)

    • Malaking titik sa simula ng pangungusap: ‘Red’ - (token: “7738”)

Nakatulong ba ang artikulong ito?