Czym jest Token?
Token to najmniejsza jednostka tekstu rozumiana przez model językowy. W zależności od stosowanej metody tokenizacji może odpowiadać pojedynczej literze, znakowi interpunkcyjnemu, części słowa lub całemu słowu. Wprowadzenie tokenów pozwala algorytmom pracować na zestandaryzowanych reprezentacjach języka, co ułatwia obliczanie prawdopodobieństw wystąpień i trenowanie modeli na dużych korpusach.
Jak dokładnie działa Token
Proces rozpoczyna się od tokenizera, programu dzielącego surowy tekst na tokeny według z góry ustalonego słownika. W popularnym dziś podejściu byte-pair encoding (BPE), opisanym przez Rico Sennricha i współautorów w 2015 r., słownik tworzony jest w sposób data-driven: rzadkie słowa ulegają dekompozycji, a częste pozostają niepodzielone, co ogranicza długość sekwencji i liczbę nieznanych symboli. Tokeny są następnie mapowane na liczby całkowite, które trafiają do warstwy osadzeń (embedding), zamieniającej je na wektory o stałym rozmiarze. Dzięki temu model operuje w przestrzeni ciągłej, a operacje takie jak uwaga (attention) mogą wychwytywać zależności pomiędzy odległymi fragmentami tekstu.
Kontekst historyczny
Pojęcie tokenu wywodzi się z prac lingwistycznych z połowy XX w., m.in. Claude’a Shannona nad entropią języka. Pierwsze algorytmy komputerowe dzieliły tekst na słowa oddzielone spacjami, jednak rosnące potrzeby analizy języka prowadziły do bardziej złożonych strategii segmentacji. Przełomem okazały się prace opublikowane w 2015 r. przez Google Brain oraz University of Edinburgh, w których BPE pozwoliło znacznie ograniczyć rozmiary słowników przy zachowaniu wysokiej jakości tłumaczeń maszynowych.
Zastosowania w praktyce
Tokeny są podstawą wszystkich współczesnych modeli językowych, od korekty pisowni w edytorach tekstu po generowanie kodu w środowiskach programistycznych. Dla przykładu, chcąc wygenerować podsumowanie artykułu o długości 2000 znaków, system oblicza koszt w tokenach i planuje odpowiednią długość odpowiedzi, co ułatwia rozliczanie zasobów i przewidywanie czasu inferencji.
Zalety i ograniczenia
Największą zaletą tokenów jest ujednolicenie reprezentacji języka, które pozwala trenować modele na wielojęzycznych zbiorach danych. Ograniczeniem bywa arbitralny podział słów, który w skrajnych przypadkach utrudnia interpretację wyników modelu przez człowieka. Dodatkowym wyzwaniem jest dopasowanie długości sekwencji do ograniczeń sprzętowych: zbyt długie wejście wymaga skracania lub dzielenia tekstu, co może wpływać na spójność generowanych odpowiedzi.
Na co uważać?
Przy projektowaniu systemu warto zwrócić uwagę na kompatybilność tokenizera z wybranym modelem. Nawet nieznacznie inny słownik może prowadzić do błędów dekodowania lub obniżenia jakości predykcji. W projektach wielojęzycznych należy monitorować, czy rzadkie znaki diakrytyczne nie zostają nadmiernie fragmentowane, co zwiększa liczbę tokenów i nakład obliczeniowy.
Dodatkowe źródła
Osoby zainteresowane pogłębieniem tematu znajdą bogate omówienie metody byte-pair encoding w artykule „Neural Machine Translation of Rare Words” dostępnym na arXiv. Opis tokenizacji w modelach GPT można przeczytać w dokumentacji OpenAI Tokenizer. Zagadnienia historyczne omawia hasło Wikipedia dotyczące tokenizacji.


