tokenizacja

Deterministyczny algorytm zamieniający tekst na ciąg numerów tokenów według stałego słownika (najczęściej BPE). Nie ma wag i niczego się nie uczy — to krok przed siecią neuronową. Jest przyspawany do modelu: podmiana tokenizera psuje adresowanie embeddingów.

W Polsce nazywane też:

tokenizacjatokenizatordzielenie na tokeny

Tokenizacja to jedyny krok w całym przebiegu modelu, w którym nic się nie uczy. Zwykły algorytm ze stałą listą — i mimo to decyduje o rachunku, który dostaniesz.

Czym jest tokenizacja

Tokenizacja to zamiana ciągu znaków na ciąg numerów tokenów przy użyciu stałego słownika. Najpopularniejsza rodzina metod to BPE i jej warianty: słownik buduje się raz, przed treningiem modelu, scalając najczęściej współwystępujące pary znaków w coraz dłuższe fragmenty. Efektem jest lista kilkudziesięciu do kilkuset tysięcy fragmentów, która potem już się nie zmienia.

To nie jest część sieci neuronowej

Tokenizer nie ma wag i niczego się nie uczy podczas pracy. Jest deterministyczny — ten sam tekst zawsze da ten sam wynik. Znaczenie pojawia się dopiero krok dalej, gdy numer tokenu służy do wyciągnięcia wiersza z macierzy embeddingów, a ta jest już częścią modelu i powstała w treningu. Rozbijanie jest algorytmem, nadawanie znaczenia jest siecią.

Tokenizer jest przyspawany do modelu

Numer tokenu to adres wiersza w macierzy embeddingów. Podmiana tokenizera sprawia, że te same numery wskazują inne wiersze, więc model przestaje działać sensownie. Dlatego tokenizer nie jest wymiennym narzędziem, tylko integralną częścią wydania modelu — i dlatego liczby tokenów nie da się przenosić między modelami.

Anglocentryczność i koszt polskiego

Słowniki powstają na danych treningowych, w których dominuje angielski, więc angielskie słowa częściej mieszczą się w jednym tokenie. Języki fleksyjne rozbijają się gęściej: każda forma gramatyczna jest osobnym, rzadszym ciągiem znaków. Praktyczny skutek dla polskich wdrożeń to wyższy koszt i szybsze zapełnianie okna kontekstu przy tej samej treści.