Jakiś czas temu pisałem o tym, czym są tokeny w odniesieniu do okna kontekstowego i jak to wpływa na prowadzenie rozmowy i możliwości sztucznej inteligencji.
Tokeny jednak nie tylko wpływają na to jak długą możemy prowadzić rozmowę, i jak dużo danych może analizować model, ale również ile za to zapłacimy. W przypadku tworzenia narzędzi opartych na modelach językowych jest to jedno z podstawowych kryteriów.
Przypomnijmy, że modele językowe nie pracują bezpośrednio na słowach czy zdaniach. Ich światem są liczby. Gdyby modele pracowały na pełnych słowach, musiałyby znać absolutnie wszystkie możliwe ich formy. W językach fleksyjnych, takich jak polski, oznaczałoby to miliony kombinacji. Dlatego zamiast tego wykorzystuje się podziały na mniejsze fragmenty, które można łatwo łączyć w różne konfiguracje.
Tekst, zanim trafi do modelu, musi zostać przetworzony na sekwencję tokenów. Token to najmniejsza porcja danych na jakiej pracuje model. Może to być całe słowo, jego fragment, znak interpunkcyjny, spacja, a nawet ikonka emoji. W większości przypadków jednak token nie jest odpowiednikiem całego słowa lub litery.
Tokenizacja #
Podział tekstu na tokeny to proces nazywany tokenizacją. To właśnie dzięki niemu modele potrafią działać w różnych językach i poprawnie radzić sobie z odmianą czy długimi tekstami.
Do najczęściej stosowanych algorytmów należą:
-
BPE (ang. Byte Pair Encoding) – algorytm, który zaczyna od pojedynczych znaków i stopniowo łączy najczęściej występujące pary, tworząc coraz większe jednostki (np. „elek”, „tron”, „ika”). Krótkim słowom zazwyczaj przypisywany jest jeden token, natomiast dłuższe rozbijane są na kilka tokenów. Twórcą algorytmu jest Philip Gage. Początkowo był to algorytm kompresji danych, który nie był tworzony z myślą o NLP. Wyniki swoich badań opublikował w artykule: A new algorithm for data compression. C Users J. 12, 2 (Feb. 1994), 23–38. Kolejnym krokiem było zaadaptowanie algorytmu do potrzeb tokenizacji, co uczynili w 2016 roku Rico Sennrich, Barry Haddow i Alexandra Birch, a wyniki opisali w Neural Machine Translation of Rare Words with Subword Units (Sennrich et al., ACL 2016). Algorytm BPE wszedł do użycia jako tokenizer w pierwszych transformatorach językowych jak GPT-2.
-
SentencePiece – rozwiązanie używane m.in. w modelach Google’a, w którym tokenami mogą być zarówno całe słowa, jak i części słów, a wszystko działa na poziomie znaków Unicode, co ułatwia pracę z wieloma językami i alfabetami. Nie musi polegać na znakach typu whitespace, czyli np. spacjach. Dobrze działa w każdym języku, włącznie z takimi językami jak chiński czy japoński. Rozwiązanie to bazuje na algorytmach BPE lub Unigram LM. SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing (Kudo & Richardson, EMNLP 2018)
Same algorytmy BPE i SentencePiece mają wiele odmian. Na przykład firma OpenAI używa czegoś, co nazywa się Tiktoken. Bazuje on na BPE i jest jednym z najszybszych tokenizerów. Kod można pobrać z GitHub lub wprost zainstalować z poziomu Pythona:
1pip install tiktoken
W efekcie działania tokenizera słownik obejmuje setki tysięcy fragmentów. Każdy token ma przypisany unikalny numer i to właśnie nim posługuje się model sztucznej inteligencji.
Weźmy na przykład następujące zdanie: ,,Mikrokontrolery są fascynujące’’. Możemy rozbić je na: ,,Mikro’’, ,,kontrol’’, ,, ery’’, ,, są’’, ,, fascyn’’, ,,ujące’’, ,,.’’. Każdy z tych fragmentów otrzymuje własny unikalny identyfikator liczbowy np. 10452, 2078, 991 itd. Dla modelu nie są to już słowa, ale ciąg liczb. Tak przetworzony tekst trafia dalej do sieci neuronowej, która działa już wyłącznie na liczbach.
Jak liczyć tokeny? #
Jeżeli chcielibyśmy orientacyjnie przeliczyć ile tokenów przypada na daną liczbę słów, to możemy posłużyć się uproszczonymi regułami:
-
W języku angielskim na jeden token przypada około 3/4 słowa, czyli jedno słowo to około 1,33 tokenu. Przyjmuje się, że 1000 tokenów to mniej więcej 750 słów.
-
W języku polskim, ze względu na odmianę oraz występowanie dłuższych słów możemy powiedzieć, że jedno słowo to około 1,5 tokenu. Dlatego 1000 tokenów to zazwyczaj około 600-700 słów.
-
Znaki specjalne, takie jak liczby, adresy URL, fragmenty kodu czy ikony emoji mogą zostać rozłożone na wiele tokenów, a tym samym znacząco zwiększyć ich liczbę.
Te proste zasady pozwalają oszacować, ile tokenów zajmie nasz tekst i jakie koszty mogą się z tym wiązać.
Poniższa tabela przedstawia przybliżone wartości przeliczników, dzięki którym możemy oszacować liczbę tokenów. Wystarczy pomnożyć liczbę słów przez odpowiedni współczynnik α.
Język | α (liczba tokenów / słowo) | Liczba słów na 1 tys. tokenów |
---|---|---|
Polski | 1.4–1.6 | 625–715 |
Angielski | 1.3–1.4 | 715–770 |
Francuski | 1.3–1.4 | 715–770 |
Hiszpański | 1.3–1.4 | 715–770 |
Włoski | 1.3–1.4 | 715–770 |
Niemiecki | 1.5–1.7 | 590–670 |
Turecki | 1.5–1.7 | 590–670 |
Fiński | 1.6–1.8 | 555–625 |
Ukraiński | 1.6–1.9 | 525–625 |
Chiński | 2.0–2.6 | 385–500 |
Japoński | 2.2–2.8 | 360–455 |
Koszty tokenów #
Ponieważ każde działanie modelu opiera się na tokenach, to stały się one podstawową jednostką rozliczeniową w świecie sztucznej inteligencji. Tokeny dzielą się na wejściowe, czyli to co wysyłamy do modelu, oraz wyjściowe, czyli dane zwracane przez model. Dostawcy modeli wyceniają je zwykle osobno: tokeny wejściowe są tańsze, a wyjściowe (generowane) droższe, bo wymagają większej mocy obliczeniowej.
Poniżej znajduje się tabela z orientacyjnymi kosztami za wykorzystanie 1 miliona tokenów w zależności od modelu.
Model | Cena wejściowa (1M tokenów) |
Cena wyjściowa (1M tokenów) |
---|---|---|
OpenAI GPT-5 | $1.25 | $10.00 |
OpenAI GPT-5 mini | $0.25 | $2.00 |
Google Gemini 2.5 Pro | $1.25 (≤200k) $2.50 (>200k) |
$10.00 (≤200k) $15.00 (>200k) |
Google Gemini 2.5 Flash | $0.30 (tekst/obraz/wideo) $1.00 (audio) |
$2.50 |
Anthropic Claude Opus 4.1 | $15.00 | $75.00 |
Anthropic Claude Sonnet 4 | $3.00 | $15.00 |
xAI Grok-4 | $3.00 | $15.00 |
Perplexity Sonar Pro | $3.00 | $15.00 |
Podsumowanie #
Tokeny to niewielkie fragmenty tekstu, które stały się fundamentem działania modeli językowych. To one określają, ile tekstu może przetworzyć model, jak rozumie nasz język i wreszcie ile zapłacimy za korzystanie z usługi. Zrozumienie, czym są tokeny i jak je liczyć, pozwala nie tylko efektywniej planować pracę z modelami, ale również świadomie kontrolować koszty.
Można śmiało powiedzieć, że tokeny stały się nową walutą sztucznej inteligencji.