Model nigdy nie widzi twojego tekstu. Widzi ciąg numerów. Token to jeden taki numer — i podstawowa jednostka, w której liczy się wszystko, co dotyczy modelu: kontekst, koszt i limity.
Czym jest token
Token to element słownika modelu — najczęściej fragment słowa, czasem całe słowo, czasem pojedynczy znak lub spacja. Słownik jest stały, wyliczony raz przed treningiem i liczy zwykle od kilkudziesięciu do kilkuset tysięcy pozycji. Tekst na wejściu zostaje rozbity na tokeny, a każdy z nich zamieniony na swój numer w słowniku. Dopiero ten numer trafia do modelu.
Dlaczego to nie to samo co słowo
Podział nie idzie po granicach słów ani sylab, tylko po częstości występowania w danych treningowych. Częste słowo bywa jednym tokenem, rzadkie rozpada się na kilka. Dlatego liczba tokenów nie wynika wprost z liczby znaków ani wyrazów i różni się między modelami — ten sam tekst policzony tokenizerem dwóch różnych modeli da dwa różne wyniki.
Dlaczego polski kosztuje więcej
Słowniki większości modeli powstały na danych zdominowanych przez angielski. Polska fleksja sprawia, że jedno słowo występuje w kilkunastu formach, z których każda jest rzadsza niż jej angielski odpowiednik — więc tnie się na więcej tokenów. Ten sam tekst po polsku ma zwykle wyraźnie więcej tokenów niż po angielsku, a skoro rozliczenie idzie za token, przekłada się to bezpośrednio na rachunek i na zużycie okna kontekstu.
Co z tego wynika praktycznie
Limit okna kontekstu, cennik API i limity odpowiedzi są wyrażone w tokenach, nie w znakach. Przy szacowaniu kosztów licz tokeny narzędziem właściwym dla konkretnego modelu, a nie przelicznikiem z angielskiego. Model nie widzi też liter wewnątrz tokenu, co jest mechaniczną przyczyną tego, że nie potrafi wiarygodnie policzyć znaków w słowie.