Tokeny #
Jeżeli korzystaliście kiedyś z ChatGPT lub innego modelu językowego i zastanawialiście się, dlaczego po pewnym czasie model zapomina, o czym była rozmowa, to odpowiedzią są tokeny.
Wbrew pozorom model taki jak na przykład GPT-4 nie operuje na całych słowach czy zdaniach. Zamiast tego czyta tekst w postaci tokenów, czyli małych fragmentów tekstu. Może to być całe słowo, jego część, znak interpunkcyjny lub nawet pojedyncza litera. Na przykład słowo ,,mikrokontroler’’ zostanie zamienione na jeden lub kilka tokenów w zależności od tego, jak zostało zapisane i jak działa konkretna wersja modelu.
Jakie to ma znaczenie? #
Każdy model ma pewne ograniczenie, tzw. okno kontekstowe, czyli maksymalną liczbę tokenów, jaką jest w stanie przetworzyć naraz. Dla GPT-3.5 limit ten wynosił zaledwie 4096 tokenów, a dla nowszych wersji osiąga zazwyczaj 128 tysięcy lub więcej. W eksperymentalnym modelu Magic LTM-2 Mini wielkość okna to 100 milionów tokenów. Nie jest to jednak model dostępny publicznie, to raczej próba analizy modeli o gigantycznym oknie kontekstowym. Określenie mini bawi mnie niepomiernie, ale odnosi się zapewne do wielkości samego modelu, który ma ograniczoną liczbę parametrów, jednak okno jest gigantyczne!
Bez względu jednak na to ile mamy tokenów do dyspozycji, to zawsze jest to ograniczona przestrzeń. Jeżeli przekroczymy limit, starsze tokeny są usuwane, najczęściej z początku rozmowy. Właśnie dlatego model ,,zapomina’’, o czym rozmawialiśmy wcześniej. Zatem jeżeli chcemy prowadzić długie rozmowy lub operować na dużym tekście, np. fragmencie książki czy innych dużych zbiorach danych, powinniśmy wybierać modele o możliwie jak największym oknie kontekstowym, jak na przykład GPT-4.1, który ma aż milion tokenów do dyspozycji!
Żeby wyobrazić sobie jak tokeny mają się w stosunku do słów, możemy zgrubnie powiedzieć, że 1000 tokenów to około 750 słów. Jest to oczywiście przybliżenie, ponieważ liczba tokenów zależy od języka, długości słów i użytej interpunkcji. Teraz staje się jasne, że długie rozmowy, teksty czy kody źródłowe bardzo szybko pożerają dostępne tokeny.
Liczba dostępnych tokenów wpływa na kilka rzeczy:
-
Rozmiar okna kontekstowego – im więcej tokenów, tym więcej informacji model może zapamiętać jednocześnie.
-
Czas i koszt generowania – przetwarzanie większej liczby tokenów zajmuje więcej czasu i wymaga większej mocy obliczeniowej, a to kosztuje.
-
Dokładność odpowiedzi – jeżeli ważne informacje wylecą z kontekstu, odpowiedzi mogą być błędne lub oderwane od rzeczywistości.
Okno kontekstowe = Wejście + Wyjście #
Kolejnym ważnym aspektem jest to, że całkowita liczba tokenów jest dzielona pomiędzy wejście, a wyjście. Mówiąc prościej, tokeny są rozdysponowywane pomiędzy nasze zapytanie (prompt), tekst rozmowy i dostarczane modelowi pliki oraz odpowiedź samego modelu. Oznacza to, że im dłuższe będzie nasze zapytanie, im dłuższy fragment tekstu czy danych dostarczymy, tym mniej miejsca pozostanie na wygenerowanie sensownej odpowiedzi.
Podsumowanie #
Dlatego warto pamiętać, że ze sztuczną inteligencją nie rozmawiamy tak jak z człowiekiem. Model nie pamięta w klasycznym sensie tego słowa. On po prostu wrzuca to, co ma największe prawdopodobieństwo pojawienia się na podstawie dostępnych tokenów. A kiedy ich zabraknie – zapomina, nawet jeśli my wciąż pamiętamy.
Warto zapamiętać
- Tokeny to podstawowa jednostka tekstu dla modeli AI.
- Tokeny dzielone są pomiędzy zapytanie, tekst rozmowy, dane oraz odpowiedź.
- Każdy model ma ograniczony rozmiar okna kontekstowego.
- Gdy przekroczysz limit, starsze dane są zapominane.
- Większe okno kontekstowe oznacza dłuższe rozmowy i analiza większej objętości danych bez utraty sensu.
Dodatek: Rozmiar okna kontekstowego #
Jako dodatek, poniżej tabela wraz z rozmiarami okna kontekstowego dla poszczególnych modeli sztucznej inteligencji:
Model | Okno kontekstowe (liczba tokenów) |
---|---|
GPT-3 | 2k |
GPT-3.5 turbo | 4k |
GPT-3.5 turbo-16k | 16k |
GPT-4 | 8k |
GPT-4 (32k) | 32k |
GPT-4o (omni) | 128k |
GPT-4.1 | 1M |
GPT-4.1-mini | 128k lub 1M (API) |
GPT-4.5 | 128k* |
o3 | 200k |
o4-mini | 200k |
o4-mini-high | 200k |
Claude 2 / Claude Instant | 100k |
Claude 2.1 / Claude 3 Opus | 200k |
LLaMA 3.1–3.3 | 128k |
LLaMA 4 Maverick | 1M |
LLaMA 4 Scout | 10M |
Qwen (większe modele) | 128k |
Gemini 1.5 Pro / 2.5 Pro | 1M |
Magic LTM-2 Mini | 100M |
*możliwe, że rozmiar okna jest dynamicznie zmniejszany nawet do 32k