Wprowadzenie
Tokenizacja to proces przekształcania surowego tekstu w sekwencje tokenów – podstawowych jednostek, na których trenuje się i działa każdy model językowy (LLM). Jakość tokenizacji ma ogromny wpływ na wydajność modelu, rozmiar kontekstu, koszty API oraz zdolność do rozumienia języków.
Dlaczego strategia tokenizacji ma znaczenie?
- Wpływa na długość sekwencji (im lepsze tokeny → mniej tokenów → niższe koszty i dłuższy kontekst)
- Określa jak model radzi sobie z rzadkimi słowami, neologizmami i językami morfologicznymi
- Ma wpływ na jakość rozumienia gramatyki i semantyki
- Bezpośrednio wpływa na wydajność inferencji
Główne strategie tokenizacji
1. BPE – Byte Pair Encoding
Najpopularniejsza metoda. Polega na iteracyjnym łączeniu najczęstszych par bajtów/znaków, aż do osiągnięcia pożądanego rozmiaru słownika. Zaczyna od pojedynczych bajtów, a kończy na popularnych podciągach.
Zalety: bardzo dobry kompromis między rozmiarem słownika a efektywnością.
Wykorzystanie: GPT-2, GPT-3, Llama, Mistral, Qwen i wiele innych.
2. WordPiece
Wariant BPE stworzony przez Google. Zamiast łączyć najczęstszych pary, maksymalizuje prawdopodobieństwo wystąpienia tokena w korpusie (kryterium likelihood).
Wykorzystanie: BERT, DistilBERT, Electra.
3. SentencePiece
Implementacja stworzona przez Google, traktująca tekst jako sekwencję znaków Unicode (bez wcześniejszego podziału na słowa). Obsługuje modele Unigram LM oraz BPE.
Zalety: świetnie radzi sobie z językami azjatyckimi i aglutynacyjnymi (japoński, chiński, koreański, turecki, polski).
Wykorzystanie: T5, ALBERT, Llama 2/3, Gemma, Mistral, Phi-3.
4. Tiktoken (OpenAI)
Biblioteka i tokenizer używany przez OpenAI (GPT-4, GPT-4o, o1, GPT-3.5). Bazuje na BPE, ale jest wysoko zoptymalizowany i zawiera specjalne reguły dla kodu, liczb, emoji itp.
Najważniejsze modele Tiktoken:
cl100k_base– GPT-4, GPT-4oo200k_base– nowsze modele o1p50k_base– GPT-3 / Codex
Porównanie strategii tokenizacji
- BPE – uniwersalny, bardzo popularny
- SentencePiece + Unigram – najlepszy dla języków nieanglojęzycznych
- Tiktoken – najbardziej zoptymalizowany pod kątem kosztów i wydajności GPT
- Character-level – zbyt drobny (wysokie zużycie kontekstu)
- Word-level – słabo radzi sobie z neologizmami i językami fleksyjnymi
Najlepsze praktyki (2026)
- Używaj tokenizerów dedykowanych do konkretnego modelu (zawsze pobieraj z repozytorium modelu)
- Przy fine-tuningu – nigdy nie zmieniaj tokenizer bez bardzo dobrego powodu
- Dla multilingualnych modeli preferuj SentencePiece + Unigram
- Monitoruj rozkład długości tokenów w swoich danych
- Przy pracy z kodem źródłowym – Tiktoken radzi sobie wyjątkowo dobrze
Powiązane pojęcia
Subword Tokenization • Byte-level BPE • Unigram Language Model • Vocabulary Size • Context Length • Tokenizer Training • Hugging Face Tokenizers • Tiktoken • SentencePiece