OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

Co jsou tokeny a jak je počítat?

Aktualizováno: 3 hours ago

Co jsou tokeny?

Tokeny jsou základní stavební prvky textu, které zpracovávají modely OpenAI. Mohou být krátké jako jeden znak nebo dlouhé jako celé slovo, podle jazyka a kontextu. Mezery, interpunkce i části slov se započítávají do počtu tokenů. Takto API interně rozdělí váš text před vygenerováním odpovědi.

Užitečná orientační pravidla pro angličtinu:

  • 1 token ≈ 4 znaky

  • 1 token ≈ ¾ slova

  • 100 tokenů ≈ 75 slov

  • 1–2 věty ≈ 30 tokenů

  • 1 odstavec ≈ 100 tokenů

  • ~1 500 slov ≈ 2 048 tokenů

Tokenizace se liší podle modelu a kódování. Přesný počet pro cílový model zjistíte pomocí nástroje Tokenizer nebo tiktoken.encoding_for_model(model).

Příklady

Zde je několik ukázek textu z praxe s jejich přibližným počtem tokenů:

  • Citát Waynea Gretzkyho „You miss 100% of the shots you don’t take“ = 11 tokenů

  • Charta OpenAI = 476 tokenů

  • Deklarace nezávislosti USA = 1 695 tokenů

Jak se počítá počet tokenů

Když odešlete text do API:

  1. Text se rozdělí na tokeny.

  2. Model tyto tokeny zpracuje.

  3. Odpověď se vygeneruje jako sekvence tokenů a poté se převede zpět na text.

Využití tokenů se sleduje v několika kategoriích:

  • Vstupní tokeny – tokeny ve vašem požadavku.

  • Výstupní tokeny – tokeny vygenerované v odpovědi.

  • Tokeny z mezipaměti – znovu použité tokeny v historii konverzace (často účtované za sníženou sazbu).

  • Tokeny uvažování – u některých pokročilých modelů se před vytvořením konečného výstupu interně zahrnují další „kroky přemýšlení“.

Tyto počty se zobrazují v metadatech odpovědi API a používají se k fakturaci a sledování využití.

Chcete-li tokenizaci prozkoumat podrobněji, můžete použít náš interaktivní nástroj Tokenizer, který umožňuje vypočítat počet tokenů a zobrazit, jak se text na tokeny rozděluje.

Případně, pokud chcete text tokenizovat programově, použijte Tiktoken jako rychlý tokenizér BPE určený speciálně pro modely OpenAI.

Limity tokenů

Každý model má maximální kombinovaný limit tokenů (vstup + výstup). Současné vysokokapacitní modely podporují v kontextu až stovky tisíc tokenů, praktické limity se však mohou lišit podle verze modelu a vaší úrovně využití.

Pokud limit překročíte, můžete:

  • Zkrátit nebo přeformulovat prompty.

  • Rozdělit velký text na menší části.

  • Shrnout nebo předzpracovat vstupy před jejich odesláním.

Ceny tokenů

Využití API se účtuje za token a cena se liší podle modelu a podle toho, zda jde o tokeny vstupní, výstupní nebo z mezipaměti. Aktuální sazby najdete na stránce s cenami OpenAI. Některé modely s uvažováním mohou interně používat více tokenů, ale usilují o vyšší efektivitu snížením počtu tokenů potřebných na dokončený úkol.

Zkoumání tokenů

API zachází se slovy podle jejich kontextu v datech korpusu. Modely vezmou prompt, převedou vstup na seznam tokenů, prompt zpracují a převedou predikované tokeny zpět na slova, která vidíme v odpovědi.

To, co se nám může jevit jako dvě totožná slova, může být vygenerováno jako různé tokeny podle toho, jak jsou v textu strukturována. Podívejte se, jak API generuje hodnoty tokenů pro slovo „red“ podle jeho kontextu v textu:

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

V prvním příkladu výše token „2266“ pro „ red“ obsahuje koncovou mezeru (poznámka: jde o ukázková ID tokenů pro demonstrační účely).

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

Token „2296“ pro „ Red“ (s úvodní mezerou a počátečním velkým písmenem) se liší od tokenu „2266“ pro „ red“ s malým písmenem.

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

Když je „Red“ použito na začátku věty, vygenerovaný token neobsahuje úvodní mezeru. Token „7738“ se liší od dvou předchozích příkladů tohoto slova.

Pozorování:

Čím je token pravděpodobnější nebo častější, tím nižší číslo tokenu je mu přiřazeno:

  • Token vygenerovaný pro tečku je stejný („13“) ve všech 3 větách. Je to proto, že kontextově se tečka v datech korpusu používá velmi podobně.

  • Token vygenerovaný pro „red“ se liší podle jeho umístění ve větě:

    • Malé písmeno uprostřed věty: „ red“ - (token: „2266“)

    • Velké písmeno uprostřed věty: „ Red“ - (token: „2297“)

    • Velké písmeno na začátku věty: „Red“ - (token: „7738“)

Byl tento článek užitečný?