Wasz wybór

Powiązane artykuły

Tokeny w AI — co to jest token, tokenizacja i okno kontekstowe

Kiedy wysyłasz wiadomość do ChatGPT lub innego modelu językowego, nie widzi on tekstu tak jak człowiek. Zanim model przetworzy zdanie, musi je najpierw „pociąć” na mniejsze jednostki. To właśnie tokeny — i ich zrozumienie przekłada się bezpośrednio na koszty, limity i jakość wyników, które otrzymujesz.

Token AI to podstawowa jednostka, którą model językowy przetwarza podczas odczytu i generowania tekstu. Nie jest to ani słowo, ani litera — to fragment tekstu o zmiennej długości, wyznaczony przez algorytm tokenizacji. W praktyce jeden token odpowiada mniej więcej 4 znakom lub 0,75 słowa w języku angielskim. Polski, z powodu bogatej fleksji i dłuższych wyrazów, wypada znacznie gorzej.

Tokenizacja BPE — jak model rozkłada polski i angielski tekst

Tokenizacja to proces dzielenia tekstu na tokeny przed przekazaniem go do sieci neuronowej. Najpopularniejszą metodą stosowaną w modelach OpenAI, a także wielu innych architekturach transformerowych, jest Byte Pair Encoding (BPE).

Tokenizacja BPE — jak model rozkłada polski i angielski tekst

Jak działa algorytm BPE na przykładzie

BPE zaczyna od słownika pojedynczych znaków, a następnie iteracyjnie łączy najczęściej występujące pary znaków w nowe tokeny. Słownik BPE trenuje się na ogromnych korpusach tekstu, co oznacza, że częste angielskie słowa („the”, „is”, „and”) stają się pojedynczymi tokenami, podczas gdy rzadsze lub nieznane ciągi rozpadają się na wiele mniejszych jednostek.

Weźmy konkretny przykład. Zdanie angielskie „The cat sat on the mat” to 6 słów i dokładnie 6 tokenów — każde słowo to jeden token. Polskie tłumaczenie „Kot siedział na macie” to 4 słowa, ale już 7-8 tokenów, bo końcówki fleksyjne „-ował”, „-ie” i niestandardowe połączenia liter często nie mają swoich gotowych reprezentacji w słowniku trenowanym głównie na angielskim.

Tokenizacja polskiego tekstu w liczbach

Zróżnicowanie jest jeszcze bardziej widoczne przy dłuższych fragmentach. Techniczna instrukcja w języku polskim licząca 1000 słów zajmuje przeciętnie 1800-2200 tokenów. Ten sam tekst przetłumaczony na angielski to 1300-1500 tokenów. Różnica wynosi 30-50%, co ma bezpośrednie przełożenie na koszty API i dostępne okno kontekstowe.

Fleksja to główny winowajca: „pracować”, „pracuję”, „pracowałem”, „pracowałabym” — każda z tych form może być tokenizowana inaczej, podczas gdy angielskie „work”, „worked”, „working” mają ugruntowane tokeny w słowniku.

Okno kontekstowe — ile stron tekstu zmieści się w modelu

Okno kontekstowe (context window) to maksymalna liczba tokenów, którą model może przetworzyć jednocześnie — zarówno Twój prompt, jak i jego odpowiedź muszą się zmieścić w tym limicie. Przekroczenie okna skutkuje obcięciem wcześniejszych części rozmowy, co model po prostu „zapomina”.

Okno kontekstowe — ile stron tekstu zmieści się w modelu

Limity okna kontekstowego w popularnych modelach różnią się drastycznie:

Limit tokenówPrzybliżona liczba stron A4Odpowiednik tekstu
4 096 tokenów~6 stronKrótki artykuł + odpowiedź
8 192 tokenów~12 stronDłuższy raport
32 768 tokenów~48 stronCienka książka
128 000 tokenów~190 stronPowieść
200 000 tokenów~300 stronGruba powieść lub dokumentacja techniczna

Przelicznik „strony A4” zakłada tekst angielski, czcionkę 12pt i standardowe marginesy — to około 425 słów lub 550 tokenów na stronę. Przy tekście polskim wskazania w tabeli należy zmniejszyć o około 30%.

Praktyczna różnica między 4k a 128k tokenami jest ogromna. Model z oknem 4k nie przeczyta całego rozdziału i odpowie na pytania dotyczące jego końca — będzie miał dostęp tylko do ostatnich kilku akapitów. Model z 128k tokenami zmieści całą dokumentację projektu i utrzyma spójność przez całą sesję pracy.

Warto pamiętać, że duże okno kontekstowe nie oznacza, że model równie dobrze uwzględnia informacje ze środka kontekstu. Badania nad zjawiskiem „lost in the middle” pokazują, że modele wyraźnie lepiej pamiętają informacje z początku i końca okna kontekstowego niż z jego środkowej części.

Tokeny OpenAI a koszty API — jak liczyć przed wysłaniem

Przy korzystaniu z API OpenAI lub innych dostawców, tokeny to waluta rozliczeniowa. Każde zapytanie pobiera opłatę za tokeny wejściowe (Twój prompt) i wyjściowe (odpowiedź modelu), przy czym tokeny wyjściowe są zwykle 2-3 razy droższe.

Tokeny OpenAI a koszty API — jak liczyć przed wysłaniem

Przykładowa kalkulacja dla GPT-4o (ceny z 2025 roku):

  • Tokeny wejściowe: 2,50 USD za 1 milion tokenów
  • Tokeny wyjściowe: 10,00 USD za 1 milion tokenów

Przełóżmy to na konkretny scenariusz. Piszesz aplikację, która analizuje umowy. Każda umowa to 3000 tokenów wejściowych, prompt systemowy zajmuje 500 tokenów, a model generuje 800 tokenów analizy. Łącznie jedno zapytanie to 3500 tokenów wejściowych + 800 tokenów wyjściowych.

Koszt jednej analizy: (3500 / 1 000 000 × 2,50) + (800 / 1 000 000 × 10,00) = 0,00875 + 0,008 = 0,01675 USD, czyli niespełna 7 groszy. Przy 1000 umów miesięcznie to 67 złotych — brzmi tanio, ale przy 100 000 umów robi się już poważna pozycja budżetowa.

Warto optymalizować prompt systemowy, bo jest wysyłany przy każdym zapytaniu. Skrócenie go o 200 tokenów przy 100 000 requestów to oszczędność 0,05 USD × 100 000 / 1000 = 5 USD. Przy intensywnym użyciu precyzja promptów dosłownie przekłada się na pieniądze.

Porównanie tokenizatorów: tiktoken, SentencePiece i Hugging Face Tokenizers

Różne modele AI używają różnych tokenizatorów — i nie są one wzajemnie wymienne. Liczba tokenów dla tego samego tekstu może się różnić w zależności od zastosowanego podejścia, co ma znaczenie przy przełączaniu między modelami lub szacowaniu kosztów.

tiktoken to biblioteka OpenAI używana w modelach GPT-3.5, GPT-4 i nowszych. Opiera się na BPE i jest dostępna jako open-source. Obsługuje kilka kodowań, z których cl100k_base (używane przez GPT-4) ma słownik 100 277 tokenów — znacznie więcej niż starsze p50k_base. Tiktoken jest zoptymalizowany pod kątem szybkości i dobrze radzi sobie z kodem źródłowym. Instalacja w Pythonie i lokalne liczenie tokenów przed wysłaniem requestu to standardowa praktyka przy optymalizacji kosztów.

SentencePiece to tokenizator Google, stosowany w modelach takich jak T5, LLaMA czy Gemma. Oferuje dwa algorytmy: BPE i Unigram Language Model. W odróżnieniu od tiktoken, SentencePiece trenuje tokenizator bezpośrednio na docelowym korpusie, co daje lepsze wyniki dla języków nieanglojęzycznych, gdy korpus treningowy był wielojęzyczny. Modele trenowane z dobrym pokryciem języków europejskich tokenizują polski tekst efektywniej.

Hugging Face Tokenizers to biblioteka obsługująca wiele algorytmów (BPE, WordPiece, Unigram) i kompatybilna z setkami modeli z HuggingFace Hub. Każdy model na HuggingFace ma własny plik konfiguracyjny tokenizatora — „roberta-base” używa BPE, „bert-base-multilingual-cased” używa WordPiece, a modele wielojęzyczne jak XLM-RoBERTa mają słowniki obejmujące ponad 100 języków.

Praktyczne porównanie dla zdania „Zaawansowane modele językowe przetwarzają tekst” (43 znaki):

  • tiktoken (cl100k_base): ~14 tokenów
  • SentencePiece (sentencepiece model wielojęzyczny): ~11 tokenów
  • WordPiece (bert-base-multilingual): ~13 tokenów

Różnice wydają się małe, ale przy milionach promptów sumują się w znaczące kwoty lub ograniczenia pojemności.

Gdzie sprawdzić ile tokenów zużyje tekst — praktyczne narzędzia

Zanim wyślesz kosztowne zapytanie do API, warto wiedzieć, z czym się mierzysz. Dostępne narzędzia pozwalają to ocenić dokładnie lub z rozsądnym przybliżeniem.

Oficjalny tokenizator OpenAI dostępny jest pod adresem platform.openai.com/tokenizer — po wklejeniu tekstu pokazuje kolorowe zaznaczenie poszczególnych tokenów i ich łączną liczbę. To najdokładniejsze narzędzie dla modeli OpenAI, bo używa dokładnie tego samego kodu co API.

Programiści integrujący modele z aplikacjami powinni rozważyć lokalne liczenie tokenów za pomocą biblioteki tiktoken:

`python import tiktoken enc = tiktoken.encoding_for_model(„gpt-4o”) tokens = enc.encode(„Twój tekst tutaj”) print(len(tokens)) `

Taki fragment kodu uruchamia się lokalnie bez opłat i bez opóźnień sieciowych. Przy dynamicznym budowaniu promptów sprawdzenie długości przed wysłaniem requestu pozwala uniknąć błędów przekroczenia limitu kontekstu lub nieoczekiwanych kosztów.

Dla modeli Anthropic (Claude) przydatne jest narzędzie wbudowane w konsolę Anthropic lub client SDK z metodą count_tokens(). Modele Claude z oknem 200k tokenów pozwalają ładować bardzo duże dokumenty, ale każdy token wejściowy ma swoją cenę — świadome zarządzanie długością kontekstu pozostaje ważne.

Przy pracy z modelami open-source na Hugging Face każdy tokenizator ma metodę tokenizer.encode() i len(), co daje natychmiastowy wynik. Warto też skorzystać z narzędzia „Tokenizer” dostępnego bezpośrednio na kartach modeli na HuggingFace Hub — wizualizuje podział na tokeny bez instalacji czegokolwiek lokalnie.

Znajomość tokenów zmienia sposób pracy z modelami AI z eksperymentowania w świadome inżynierowanie. Rozumiejąc, że polski tekst kosztuje więcej tokenów niż angielski, możesz podejmować decyzje o tym, w jakim języku pisać prompty techniczne. Wiedząc, jak liczyć okno kontekstowe, unikniesz sytuacji, gdy model „nie pamięta” początku dokumentu. A kalkulując tokeny przed integracją, nie natkniesz się na nieoczekiwany rachunek na koniec miesiąca.

Natalia Grzybowska
Natalia Grzybowska
Junior SEO Specialist Natalia specjalizuje się w SEO, skupiając się na stabilnym wzroście widoczności stron w wynikach wyszukiwania. Z zaangażowaniem analizuje dane, optymalizuje treści i nieustannie szuka sposobów na poprawę pozycji w Google.
Popularne