Przejdź do treści

Lekcja 4 z 6 · 6 min · +100 XP

Czym są tokeny w AI i czemu model czyta słowa w kawałkach?

Tokeny to małe kawałki tekstu, które model językowy czyta i pisze. Tokenizer tnie tekst na częste fragmenty: popularne słowa zostają w całości, a rzadkie słowa, nowe nazwy i długie liczby dzielą się na kilka kawałków. Każdy token zamienia się w liczbę, swoje ID, żeby model mógł na nim liczyć. Długość tekstu i koszt liczy się w tokenach.

▶ Wypróbuj

Dlaczego to ważne

Model nigdy nie widzi liter ani całych słów, tylko ID tokenów. To tłumaczy, czemu ma kłopot z liczeniem liter, czemu długie liczby go mylą i czemu polski tekst kosztuje więcej.

W 6 minut nauczysz się

  • Gdy model myli się w liczeniu liter albo w długiej liczbie, pamiętaj, że widzi kawałki, a nie znaki.
  • Tekst w języku z mniejszą liczbą tokenów na słowo, np. po angielsku, bywa tańszy i szybszy w przetworzeniu.
  • Gdy narzędzie podaje limity albo ceny „za token”, myśl o kawałkach mniej więcej wielkości słowa, a nie o całych słowach.

Co przećwiczysz

  1. Zostań tokenizerem

    Dotykaj przerw między literami, by pociąć każde słowo na tokeny. Potem wciśnij „Tokenizuj” i porównaj. Podziały i ID są przykładowe, jak w typowym tokenizerze.

    1. się → [się] #9117
      Bardzo częste słowa dostają własny token. „Się” pojawia się w polskich tekstach tak często, że dzielenie go marnowałoby miejsce.
    2. niewiarygodny → [nie] #403 [wiary] #33246 [godny] #481
      Długie słowa składają się ze znajomych kawałków: „nie”, „wiary” i „godny” pojawiają się w tysiącach innych słów.
    3. Vireo → [Vir] #53413 [eo] #78
      Nowej nazwy nie ma w słowniku, więc tokenizer składa ją z kawałków, które zna. W ten sposób da się zapisać każde słowo.
    4. 1234567 → [123] #4513 [456] #10961 [7] #22
      Wiele tokenizerów tnie długie liczby na kawałki po maksymalnie trzy cyfry. Model nigdy nie widzi całej liczby naraz, to jeden z powodów, czemu długie rachunki go mylą.
    5. chrząszcz → [ch] #331 [rz] #13915 [ą] #5591 [szcz] #29486
      Tokenizery uczą się głównie z angielskiego tekstu, więc polskie słowa, zwłaszcza z ą, ę czy szcz, dzielą się na więcej kawałków.
    1. To samo znaczenie, dwa języki. Które zdanie kosztuje Vireo więcej tokenów?
      • A: I love cats. → [I] [·love] [·cats] [.] (4 tokeny)
      • B: Kocham koty. → [K] [och] [am] [·k] [oty] [.] (6 tokeny)
      Polskie zdanie potrzebuje więcej kawałków, bo tokenizer widział mniej polskiego. Więcej tokenów to więcej obliczeń, a często i wyższa cena, za to samo znaczenie.
    2. Która wiadomość kosztuje więcej tokenów?
      • A: Do zobaczenia o 7. → [Do] [·zob] [acz] [enia] [·o] [·7] [.] (7 tokeny)
      • B: Do zobaczenia o 19:45:30. → [Do] [·zob] [acz] [enia] [·o] [·19] [:] [45] [:] [30] [.] (11 tokeny)
      Cyfry i znaki interpunkcyjne często kosztują po tokenie. Godziny, kody i długie liczby zaskakująco szybko zapełniają budżet modelu.
  2. Czemu kawałki, a nie słowa?

    Dotknij każdej karty, by zobaczyć, co kryje.

    🔢 Po co zamieniać tekst w liczby?
    Model umie tylko liczyć. Każdy token zamienia się w swoje ID, więc zdanie staje się listą liczb, na których da się liczyć.
    📕 Czemu nie jeden token na słowo?
    Słów jest za dużo: nazwy, literówki, nowy slang, a po polsku jeszcze wszystkie odmiany. Lista słów nigdy nie jest pełna, a z kawałków zbudujesz każde słowo, nawet zupełnie nowe.
    🔤 Czemu nie pojedyncze litery?
    Wtedy każde zdanie robi się bardzo długie i model musi dużo ciężej pracować, by dostrzec sens. Kawałki słów to złoty środek.
    🧮 Skąd się bierze lista tokenów?
    Przed treningiem program przegląda mnóstwo tekstu i raz po raz scala najczęstsze pary kawałków, aż ma stałą listę, często długą na dziesiątki tysięcy tokenów.
  3. Co tłumaczą tokeny

    Zaznacz każde prawdziwe zdanie.

    • Model czyta ID tokenów, nie litery
    • Częste słowa to często jeden token
    • Rzadkie i nowe słowa dzielą się na kawałki
    • Ten sam tekst w innym języku może kosztować więcej tokenów
    • Każde słowo to dokładnie jeden token
    • Tokeny to po prostu sylaby
    • Liczenie liter w słowie to dla modelu łatwizna

Zapamiętaj

Model czyta tekst jako ponumerowane kawałki, czyli tokeny. Częste słowa zostają w całości, rzadkie składają się z części.

Tekst staje się listą ID tokenów. Częste słowa zostają w całości, rzadkie składają się z kawałków.

Najważniejsze fakty

  • Dzielenie rzadkich słów na częste kawałki metodą byte pair encoding wprowadzono do tłumaczenia maszynowego w 2016 roku i dziś to podstawa większości tokenizerów LLM. · Źródło: Sennrich, Haddow & Birch, Neural Machine Translation of Rare Words with Subword Units, ACL 2016
  • Tokenizer GPT-2 miał słownik liczący 50 257 tokenów. · Źródło: Radford et al., OpenAI, Language Models are Unsupervised Multitask Learners, 2019
  • Llama 3 używa tokenizera ze słownikiem 128 000 tokenów, który koduje tekst wydajniej niż jej poprzedniczka. · Źródło: Meta, Introducing Meta Llama 3, 2024
  • Ten sam tekst przetłumaczony na różne języki może wymagać bardzo różnej liczby tokenów, więc przetwarzanie niektórych języków kosztuje więcej. · Źródło: Petrov et al., Language Model Tokenizers Introduce Unfairness Between Languages, NeurIPS 2023

Aktualizacja:

Częste pytania

Ile słów to jeden token?

To zależy od tekstu i tokenizera. Po angielsku token to często krótkie słowo albo część dłuższego, więc 100 tokenów to zwykle trochę mniej niż 100 słów. Po polsku, w kodzie i w liczbach tokenów na słowo jest zwykle więcej.

Czemu AI nie umie policzyć liter w słowie?

Model nigdy nie widzi pojedynczych liter, tylko ID tokenów dla kawałków, np. „trus” i „kawka”. Żeby policzyć litery, musi przypomnieć sobie pisownię każdego kawałka, a łatwo się przy tym pomylić.

Czym jest tokenizer?

Tokenizer to program, który tnie tekst na tokeny i zamienia każdy na jego ID, zanim zobaczy go model. Buduje się go raz, przed treningiem, z najczęstszych kawałków w dużej próbce tekstu.

Czemu za modele AI płaci się od tokenu?

Praca modelu rośnie z liczbą tokenów, które czyta i pisze. Liczenie tokenów mierzy tę pracę uczciwiej niż liczenie słów czy znaków.

Powiązane pojęcia