Jak działa tokenizacja Byte-Pair Encoding w GPT i Claude
Źródło: Link
Źródło: Link
Modele takie jak GPT-5, Claude Opus 4.7 czy DeepSeek V4-Pro nie czytają tekstu tak jak Ty. Nie widzą słów ani liter. Widzą tokeny - małe klocki, z których składają język. A sposób, w jaki te klocki powstają, to Byte-Pair Encoding. Algorytm, który powstał do kompresji plików, a skończył jako fundament każdego dużego modelu językowego.
Zastanawiałeś się kiedyś, dlaczego ChatGPT czasem dzieli słowo "nieprawdopodobny" na trzy części? Albo dlaczego emoji potrafią zjeść połowę limitu tokenów? To właśnie przez BPE.
Zanim model zacznie generować tekst, musi go najpierw zrozumieć. Problem? Komputer nie rozumie słów. Rozumie liczby. Tokenizacja to proces zamiany tekstu na liczby - ale nie byle jak.
Moglibyśmy przypisać każdemu słowu w języku unikalny numer. Ale polski ma setki tysięcy słów, a do tego odmiany, czasy, liczby. Angielski podobnie. Taki słownik byłby gigantyczny, a model musiałby znać każde słowo z góry. Co z nowymi słowami? Co z błędami ortograficznymi? Co z emoji?
Byte-Pair Encoding rozwiązuje to inaczej. Zamiast uczyć model całych słów, uczy go fragmentów. Małych klocków, które można składać w dowolne kombinacje. Słowo "nieprawdopodobny" to nie jeden token - to może być "nie", "prawdo", "podobny". Albo inaczej, zależnie od tego, jak model został wytrenowany.

Byte-Pair Encoding to algorytm, który startuje od podstaw i stopniowo uczy się, które fragmenty tekstu warto trzymać razem. Oto jak to wygląda krok po kroku.
Na początku model ma tylko alfabet. Każda litera to osobny token. Słowo "kot" to trzy tokeny: "k", "o", "t". Słowo "koty" to cztery: "k", "o", "t", "y". Proste, ale nieefektywne - każde słowo to długi ciąg pojedynczych liter.
GPT-2 i RoBERTa poszły o krok dalej. Zamiast liter używają bajtów - 256 możliwych wartości, które reprezentują dowolny znak Unicode. Dzięki temu nawet emoji czy chińskie znaki mieszczą się w systemie. Nie ma "nieznanego tokenu" - wszystko da się zakodować.
Teraz algorytm przegląda cały korpus treningowy i liczy: które dwa tokeny najczęściej występują obok siebie? Jeśli trenujesz na polskich tekstach, pewnie "c" + "z" pojawia się bardzo często. Albo "s" + "z". W angielskim może to być "t" + "h".
Najpopularniejszą parę łączysz w jeden nowy token. "c" + "z" staje się "cz". Od teraz w całym korpusie zamiast dwóch osobnych tokenów masz jeden. Słowo "czas" to teraz "cz", "a", "s" - trzy tokeny zamiast czterech.
Proces się powtarza. Znowu szukasz najczęstszej pary - tym razem może to być "cz" + "a". Łączysz. Teraz "cza" to jeden token. Potem może "cza" + "s". I tak dalej, aż osiągniesz ustalony z góry rozmiar słownika - zazwyczaj 30 000-50 000 tokenów.
Efekt? Model ma słownik, w którym popularne słowa ("the", "jest", "to") są pojedynczymi tokenami. Rzadsze słowa są podzielone na fragmenty. A zupełnie nowe słowa? Można je złożyć z mniejszych klocków, nawet jeśli model nigdy ich nie widział.

OpenAI użyło BPE w pierwszym GPT i zostało przy tym. Claude Opus 4.7, Gemini 3.1 Pro, DeepSeek V4-Pro - wszyscy używają wariantów tego samego pomysłu. Dlaczego?
Po pierwsze: elastyczność. Model radzi sobie z błędami ortograficznymi, slangiem, nowymi słowami. Nie potrzebuje aktualizacji słownika co miesiąc. Jeśli napiszesz "kocham pizzę", a model zna "kocham" i "pizz", domyśli się reszty.
Po drugie: efektywność. Zamiast milionów słów w słowniku masz 50 000 tokenów. To mniej pamięci, szybsze przetwarzanie, łatwiejszy trening. Gradient descent działa sprawniej, gdy przestrzeń parametrów jest mniejsza.
Po trzecie: uniwersalność. Ten sam tokenizer działa dla angielskiego, polskiego, japońskiego. Byte-level BPE (wariant używany przez GPT-2 i RoBERTa) koduje wszystko jako bajty, więc nie ma problemu z różnymi alfabetami.
Rozumiesz teraz, dlaczego limity tokenów w API są takie, a nie inne. Claude Opus 4.7 ma kontekst 1 miliona tokenów - ale to nie milion słów. To milion klocków. Polskie słowo "nieprawdopodobieństwo" to może być 4-5 tokenów. Angielskie "unbelievable" - może 2-3. Emoji? Czasem jeden token, czasem pięć, zależnie od tego, jak rzadkie.
Dlatego kiedy płacisz za API (DeepSeek V4-Pro: $1.74 za milion tokenów wejściowych, $3.48 za wyjściowe), nie płacisz za słowa. Płacisz za tokeny. I jeśli Twój tekst ma dużo rzadkich znaków, emoji, kodu - zapłacisz więcej.
Nie musisz zgadywać. OpenAI udostępnia tokenizer online (tiktoken). Wklejasz tekst, widzisz podział na tokeny. Anthropic ma podobne narzędzie dla Claude. Jeśli pracujesz z API i optymalizujesz koszty - to podstawowe narzędzie.
Przykład: zdanie "Cześć, jak się masz?" to w GPT-5 około 7-8 tokenów. To samo po angielsku ("Hi, how are you?") - około 5-6. Polski jest mniej efektywny tokenowo (BPE było trenowane głównie na angielskim korpusie). Nowsze modele (Gemini 3.1, DeepSeek V4) mają lepszy balans dla języków niełacińskich.

BPE nie jest perfekcyjne. Ma swoje dziwactwa.
Pierwsze: bias językowy. Jeśli model był trenowany głównie na angielskim, będzie miał więcej tokenów dla angielskich słów. Polski, czeski, węgierski - będą dzielone na mniejsze fragmenty. To znaczy, że model "myśli" wolniej w tych językach (musi przetworzyć więcej tokenów).
Drugie: dziwne podziały. Czasem BPE dzieli słowo w nieoczywistym miejscu. "Nieprawdopodobny" może być podzielone jako "Nie", "praw", "dopo", "dobny" - co nie ma sensu gramatycznego, ale ma sens statystyczny. To może prowadzić do halucynacji, jeśli model źle zinterpretuje fragment.
Trzecie: emoji i znaki specjalne. Niektóre emoji to jeden token, inne - kilka. Zależy, jak często występowały w korpusie treningowym. Jeśli używasz rzadkich emoji, model może je źle zrozumieć lub zignorować.
BPE to nie jedyny sposób tokenizacji. Są inne algorytmy, które próbują rozwiązać te same problemy.
WordPiece - używany przez BERT i wczesne modele Google. Podobny do BPE, ale zamiast liczyć częstość par, maksymalizuje prawdopodobieństwo korpusu. W praktyce działa bardzo podobnie.
SentencePiece - używany przez nowsze modele (Llama 4, niektóre warianty Gemini). Traktuje tekst jako ciągły strumień bajtów, bez wstępnego dzielenia na słowa. Lepiej radzi sobie z językami bez spacji (chiński, japoński).
Unigram - zamiast budować słownik od dołu (jak BPE), zaczyna od dużego słownika i stopniowo go redukuje. Używany w niektórych modelach tłumaczeniowych.
W praktyce? Większość dużych modeli w 2026 roku - GPT-5, Claude Opus 4.7, DeepSeek V4-Pro - wciąż używa wariantów BPE. Działa, jest szybki i dobrze się skaluje.
Jeśli budujesz system RAG (Retrieval-Augmented Generation), tokenizacja ma znaczenie. Embeddingi - wektorowe reprezentacje tekstu - są tworzone na poziomie tokenów, nie słów.
To znaczy, że jeśli Twój dokument ma dużo rzadkich słów (nazwy własne, terminy techniczne, skróty), będzie podzielony na więcej tokenów. A to wpływa na jakość embeddingów - model może nie złapać pełnego kontekstu, jeśli słowo kluczowe jest rozbite na 4-5 fragmentów.
Dlatego przy budowie systemów RAG:
Nowsze modele (Gemini 3.1 Pro, Claude Opus 4.7) mają konteksty 1M+ tokenów, więc problem jest mniejszy. Wciąż jednak istnieje - szczególnie jeśli Twoje dane są w języku, który nie był priorytetem podczas treningu.
Nie. Tokenizer jest wbudowany w model i nie można go zmienić bez ponownego treningu całego systemu. Możesz natomiast dostosować swoje prompty - unikać rzadkich znaków, skracać teksty, używać prostszego języka - żeby zmniejszyć liczbę tokenów.
Emoji to znaki Unicode, które często nie występowały w korpusach treningowych (albo występowały rzadko). BPE dzieli je na bajty, co może dać 3-5 tokenów na jedno emoji. Nowsze modele (Gemini 3.1, DeepSeek V4) mają lepsze wsparcie dla emoji - były trenowane na nowszych danych z social media.
Tak. Jeśli słowo kluczowe jest podzielone na wiele małych tokenów, model może nie złapać jego pełnego znaczenia. To jeden z powodów, dla których modele działają lepiej w angielskim - angielskie słowa są lepiej reprezentowane w słowniku tokenów.
OpenAI udostępnia narzędzie tiktoken (dostępne online i jako biblioteka Python). Anthropic ma podobne narzędzie dla Claude. Wklejasz tekst, widzisz podział na tokeny i ich liczbę. To podstawowe narzędzie, jeśli optymalizujesz koszty API.
Nie. Są też WordPiece (BERT), SentencePiece (Llama 4), Unigram i inne. BPE (lub jego warianty) to jednak standard w większości dużych modeli językowych w 2026 roku - GPT-5, Claude, DeepSeek, RoBERTa.
Tokenizacja to fundament każdego modelu AI - od ChatGPT po systemy RAG. Na darmowym webinarze pokazuję, jak działa pod maską i jak to wykorzystać w codziennej pracy z AI - bez kodowania i bez matematyki.
Zapisz się na darmowy webinar →Wolisz uczyć się we własnym tempie? Sprawdź kurs AI Evolution
Byte-Pair Encoding to algorytm, który uczy modele AI dzielić tekst na małe, elastyczne klocki. Dzięki temu GPT-5, Claude Opus 4.7 czy DeepSeek V4-Pro radzą sobie z nowymi słowami, błędami ortograficznymi i różnymi językami. Nie jest idealny - ma bias językowy, dziwnie dzieli niektóre słowa, gorzej radzi sobie z emoji. W praktyce działa jednak wystarczająco dobrze, żeby być standardem branżowym.
Jeśli pracujesz z API, optymalizujesz koszty lub budujesz systemy automatyzacji z AI - zrozumienie tokenizacji ma znaczenie. To ona decyduje, ile płacisz, jak szybko model odpowiada i czy w ogóle zrozumie Twój tekst.
Jeden krok na start: Wejdź na tiktoken.io, wklej fragment swojego typowego promptu i zobacz, ile tokenów zjada. Porównaj polski tekst z angielskim. Zobaczysz różnicę - i zrozumiesz, dlaczego optymalizacja promptów ma sens.
Na podstawie: materiałów szkoleniowych AI Evolution
10 gotowych promptów do codziennej pracy + 5 narzędzi + plan na pierwszy tydzień. PDF, 4 strony konkretu.