Jak zbudować własny tokenizator AI blok po bloku
Przejdź do treści i przykładów
Źródło: Link
Mind Architect to 180-dniowy program Jana Gajosa: decyzje, nawyki i granice przeniesione do codziennych reakcji. 180 lekcji w 6 modulach, Manfred AI Coach i powtorki rozlozone w czasie.
Powiedzmy to wprost: większość ludzi, którzy używają ChatGPT czy Claude'a codziennie, nigdy nie zastanawiała się, co dzieje się z ich tekstem, zanim model w ogóle zacznie 'myśleć'. A dzieje się sporo. Zanim jakikolwiek model językowy przeczyta Twoje zdanie, ktoś musiał wcześniej zaprojektować sposób, w jaki ten tekst zamienia się w liczby. Ten proces nazywa się tokenizacją, a narzędzie, które to robi, to tokenizator. Nie trzeba być inżynierem z Doliny Krzemowej, żeby zrozumieć, jak się go buduje - trzeba tylko rozłożyć to na klocki.
Jeśli szukałeś w sieci frazy typu 'jak działa construir un tokenizador bloque por bloque' (tak brzmi hiszpańska wersja tego tematu, popularna w wielu materiałach edukacyjnych), to dobra wiadomość: mechanizm jest identyczny niezależnie od języka, w którym o nim czytasz. Zasady budowy tokenizatora nie zmieniają się w zależności od tego, czy dokumentacja jest po angielsku, hiszpańsku czy polsku.
Wielu ludzi zakłada, że tokenizator to jakiś magiczny algorytm, który sam wie, jak dzielić tekst na fragmenty. Nieprawda. To zestaw konkretnych, wymiennych klocków, które ktoś świadomie poskładał w określonej kolejności. Biblioteka 🤗 Tokenizers (jedna z najczęściej używanych do tego celu) jest zbudowana właśnie na takiej zasadzie - dostajesz gotowe elementy, a Ty decydujesz, jak je połączyć.
To ważne, bo oznacza, że nie musisz uczyć się na pamięć jednego, sztywnego przepisu. Możesz zbudować tokenizator dopasowany do konkretnego zadania: inny do analizy tekstów prawniczych, inny do czatu klienta, inny do kodu programistycznego. Jeśli wcześniej czytałeś o tym, jak tokenizacja w GPT tłumaczy dziwne błędy AI, wiesz już, że sposób podziału tekstu na tokeny bezpośrednio wpływa na to, czy model 'rozumie' pytanie, czy gubi się w szczegółach.
Zanim zaczniesz cokolwiek budować, warto rozłożyć proces na cztery konkretne kroki. Każdy z nich odpowiada za coś innego i każdy można skonfigurować osobno:
Każdy z tych etapów ma swoją osobną 'szufladkę' w bibliotece - normalizery, pre-tokenizery, modele, trenery i procesory końcowe. Możesz je mieszać jak klocki lego, o ile pasują do siebie logicznie.
Tu robi się ciekawie, bo w praktyce nie ma jednego 'słusznego' sposobu na tokenizację. Są trzy główne rodziny algorytmów, z których każda stoi za innym znanym modelem:
Różnica między nimi to nie kwestia akademicka. WordPiece, BPE i Unigram inaczej radzą sobie z rzadkimi słowami, literówkami czy tekstem w językach o bogatej fleksji (jak polski, gdzie jedno słowo ma kilkanaście form). Wybór algorytmu wpływa na to, ile 'kawałków' zajmie jedno zdanie i jak precyzyjnie model odróżni podobne, ale różne wyrazy.
Budowanie tokenizatora od zera (w odróżnieniu od dotrenowania istniejącego) wymaga kilku rzeczy, zanim w ogóle otworzysz narzędzie:
Jeśli dopiero zaczynasz przygodę z modelami językowymi i pojęcia takie jak korpus czy embeddingi brzmią obco, warto najpierw przejrzeć materiał o tym, jak wczytywać duże modele AI bez zapychania pamięci RAM i VRAM - da Ci to lepszy obraz całego łańcucha przetwarzania tekstu, nie tylko samej tokenizacji.
Zwróć uwagę na jedną rzecz na tym etapie: budowanie tokenizatora od zera różni się od dotrenowania istniejącego tokenizatora na nowym korpusie. To druga opcja - prostsza i szybsza, ale mniej elastyczna, bo dziedziczysz ograniczenia oryginalnego modelu. Budowa od podstaw daje pełną kontrolę nad każdym z czterech etapów, kosztem większej liczby decyzji do podjęcia.
Jeśli docelowo planujesz łączyć tokenizację z wyszukiwaniem semantycznym, na przykład budując system, który odpowiada na pytania na podstawie własnej bazy dokumentów, ten sam fundament przyda Ci się przy pracy z embeddingami. Dobrym punktem startowym jest tekst o tym, jak zbudować RAG do rozmów z gośćmi wydarzenia - tam tokenizacja i RAG embeddingi AI spotykają się w jednym, praktycznym projekcie.
Podobna logika 'budowania od klocków' pojawia się też w innych obszarach przetwarzania mowy i tekstu. Jeśli interesuje Cię temat pokrewny, zobacz, jak dostroić model Whisper do rozpoznawania mowy. Tam zamiast tekstu wejściowego masz dźwięk, ale zasada 'najpierw rozłóż na elementy, potem trenuj' jest ta sama.
Wniosek jest prosty: tokenizator nie jest magią zarezerwowaną dla ludzi z doktoratem z informatyki. To zestaw czterech decyzji (normalizacja, pre-tokenizacja, model, post-processing) i jednego wyboru algorytmu bazowego. Reszta to trening na odpowiednim korpusie i testowanie, aż wynik zacznie mieć sens.
Dotrenowanie polega na wzięciu gotowego tokenizatora (np. z BERT) i nauczeniu go nowego słownictwa na Twoim korpusie. Budowa od zera oznacza samodzielne skonfigurowanie wszystkich czterech etapów - normalizacji, pre-tokenizacji, modelu i post-processingu - co daje pełną kontrolę, ale wymaga więcej decyzji.
To zależy od tego, jaki model chcesz zbudować i naśladować. WordPiece pasuje do architektur w stylu BERT, BPE do modeli w stylu GPT-2, a Unigram do rozwiązań w stylu XLNet. Różnice dotyczą sposobu radzenia sobie z rzadkimi słowami i długością finalnych sekwencji tokenów.
Niekoniecznie na etapie nauki i testów - mały korpus (na przykład kilka tysięcy dokumentów) wystarczy, żeby zrozumieć mechanizm i sprawdzić, jak działa każdy etap. Do produkcyjnego modelu potrzebny jest znacznie większy i bardziej reprezentatywny zbiór tekstów.
Tak, jeśli zależy Ci na precyzji - słownictwo, fleksja i częstość występowania fragmentów słów różnią się między językami, więc tokenizator wytrenowany na angielskim korpusie gorzej poradzi sobie z polskimi końcówkami fleksyjnymi niż ten wytrenowany na polskich tekstach.
Tokenizacja to jeden z tych tematów, które brzmią groźnie, dopóki ktoś nie rozłoży ich na czynniki pierwsze. Na darmowym webinarze na żywo pokazuję krok po kroku, jak oszczędzać 10 godzin tygodniowo dzięki AI - bez wiedzy technicznej.
Zapisz się na darmowy webinar →Wolisz uczyć się we własnym tempie? Sprawdź kurs AI Evolution
Tokenizacja to nie jeden algorytm, tylko cztery decyzje ułożone w konkretnej kolejności, plus wybór jednej z trzech głównych metod (WordPiece, BPE, Unigram). Jeden krok na start: zanim zaczniesz cokolwiek konfigurować, otwórz dowolny tekst, który na co dzień przetwarzasz w pracy, i zastanów się, jak Ty sam podzieliłbyś go na sensowne fragmenty. To ćwiczenie robi za Ciebie tokenizator, tylko szybciej i konsekwentniej.
Na podstawie: SukcesAI Course Material