🎯 Definicja

Tokenizacja to proces dzielenia tekstu na mniejsze jednostki zwane tokenami, które mogą odpowiadać słowom, znakom interpunkcyjnym, lub (w kontekście dużych modeli językowych) — fragmentom słów czy sylab. Tokeny stanowią podstawową strukturę wejściową dla modeli NLP (ang. Natural Language Processing), takich jak BERT, GPT, czy RoBERTa.

🔑 Kluczowe punkty

  • Tokeny to elementarne jednostki przetwarzane przez model językowy.
  • Token może oznaczać np. słowo: “kot”, interpunkcję: ”,”, kawałek słowa: “pre”, “fix”.
  • Różne modele wykorzystują różne strategie tokenizacji.
  • Tokenizacja jest krok wstępnym przed trenowaniem lub używaniem modelu NLP.
  • Liczenie tokenów ma znaczenie dla limitów wejściowych w LLM (np. GPT: 4k–128k tokenów).

📚 Rodzaje tokenizacji

1. Tokenizacja słów (word-level)

  • Najprostsza forma: dzielenie tekstu na słowa po spacjach.
  • Używana w tradycyjnych systemach NLP, np. ["To", "jest", "przykład", "."]

2. Tokenizacja znakowa (char-level)

  • Każdy znak w tekście to odrębny token.
  • Przydatna w modelach leksykalnych, ortograficznych lub językach bez separatorów (np. chiński).

3. Tokenizacja sub-słowna (subword)

  • Dzieli tekst na części słów w oparciu o algorytmy, np. BPE (Byte Pair Encoding).
  • Przykład: słowo "unbelievable"[ "un", "believ", "able" ]
  • Modele: GPT, T5, BERT

4. Tokenizacja oparta o bajty (byte-level)

  • Tokenizacja niezależna od języka i alfabetu — koduje sekwencję bajtów.
  • Wykorzystywana np. przez GPT-3.5/4 (tiktoken), BLOOM, T5x.

🧠 Przykład tokenizacji GPT

Słowo:

"ChatGPT is amazing!"

Tokeny (dla GPT-3.5, za pomocą biblioteki tiktoken):

["Chat", "G", "PT", " is", " amazing", "!"]

Liczba tokenów: 6

Dla porównania:

  • „To jest świetne!” może zająć 4–6 tokenów, w zależności od języka.
  • Przekroczenie 4096 tokenów może obciąć tekst (dla GPT-3.5-turbo).

💡 Praktyczne zastosowanie

  • Modele tekstowe: wejścia i wyjścia są mierzone w tokenach (nie znakach czy słowach).
  • Limity API: np. OpenAI, Claude, Gemini określają limit w tokenach.
  • Koszt tokenów: fakturowanie za GPT/Claude bazuje na ilości użytych tokenów.
  • Detekcja długości pętli rozmowy w interfejsach konwersacyjnych.
  • Fine-tuning i przetwarzanie korpusów.

🧰 Narzędzia i biblioteki

  • Hugging Face Tokenizers: tokenizers (Rust/Python)
  • OpenAI tiktoken: do GPT-3.5, GPT-4
  • spaCy, NLTK
  • SentencePiece (Google)
  • BPE, Unigram, WordPiece

📌 Źródła

👽 Brudnopis

  • token ≠ słowo
  • tokeny = wektory/indeksy → embeddingi
  • modele LLM trenują na milionach tokenów, nie zdań
  • tokenizer = preprocesor danych tekstowych → liczby
  • przekroczenie limitu = ucięcie promptu lub błędy API