Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tokeny to wyrazy, zestawy znaków lub kombinacje wyrazów i znaków interpunkcyjnych generowanych przez duże modele językowe (LLM) podczas rozkładania tekstu. Tokenizacja to pierwszy krok trenowania. Usługa LLM analizuje relacje semantyczne między tokenami, takie jak często używane razem lub czy są używane w podobnych kontekstach. Po treningu LLM używa tych wzorców i relacji do generowania sekwencji tokenów wyjściowych na podstawie sekwencji danych wejściowych.
Przekształcanie tekstu w tokeny
Zestaw unikatowych tokenów, na których trenowany jest LLM, jest znany jako jego słownictwo.
Rozważmy na przykład następujące zdanie:
I heard a dog bark loudly at a cat
Ten tekst może być tokenizowany jako:
I
heard
a
dog
bark
loudly
at
a
cat
Mając wystarczająco duży zestaw tekstu szkoleniowego, tokenizacja może skompilować słownictwo wielu tysięcy tokenów.
Typowe metody tokenizacji
Określona metoda tokenizacji różni się w zależności od metody LLM. Typowe metody tokenizacji obejmują:
- Tokenizacja wyrazów (tekst jest podzielony na poszczególne wyrazy na podstawie ogranicznika)
- Tokenizacja znaków (tekst jest podzielony na poszczególne znaki)
- Tokenizacja subwordów (tekst jest podzielony na częściowe wyrazy lub ciągi znaków)
Na przykład modele GPT, opracowane przez OpenAI, używają typu tokenizacji subwordów, nazywanej kodowaniem bajtów metodą par (BPE). OpenAI udostępnia narzędzie do wizualizacji sposobu, w jaki tekst będzie tokenizowany.
Istnieją korzyści i wady każdej metody tokenizacji:
Rozmiar tokenu | Plusy | Minusy |
---|---|---|
Mniejsze tokeny (tokenizacja na znaki lub podjednostki słów) | — Umożliwia modelowi obsługę szerszego zakresu danych wejściowych, takich jak nieznane słowa, literówki lub składnia złożona. — Może pozwolić na zmniejszenie rozmiaru słownictwa, co wymaga mniejszej ilości zasobów pamięci. |
— Dany tekst jest podzielony na więcej tokenów, co wymaga dodatkowych zasobów obliczeniowych podczas przetwarzania. — Biorąc pod uwagę stały limit tokenu, maksymalny rozmiar danych wejściowych i wyjściowych modelu jest mniejszy. |
Większe tokeny (tokenizacja wyrazów) | — Dany tekst jest podzielony na mniej tokenów, co wymaga mniejszej liczby zasobów obliczeniowych podczas przetwarzania. — Biorąc pod uwagę ten sam limit tokenu, maksymalny rozmiar danych wejściowych i wyjściowych modelu jest większy. |
— Może spowodować zwiększenie rozmiaru słownictwa, co wymaga większej ilości zasobów pamięci. — Może ograniczyć możliwości obsługi nieznanych słów, literówek lub składni złożonej. |
Jak LLM używają tokenów
Po zakończeniu tokenizacji, moduł LLM przypisuje identyfikator do każdego unikalnego tokenu.
Rozważmy nasze przykładowe zdanie:
I heard a dog bark loudly at a cat
Po użyciu metody tokenizacji wyrazów model może przypisać identyfikatory tokenów w następujący sposób:
-
I
(1) -
heard
(2) -
a
(3) -
dog
(4) -
bark
(5) -
loudly
(6) -
at
(7) -
a
(token "a" ma już przypisany identyfikator 3) -
cat
(8)
Przypisując identyfikatory, tekst może być reprezentowany jako sekwencja identyfikatorów tokenów. Przykładowe zdanie będzie reprezentowane jako [1, 2, 3, 4, 5, 6, 7, 3, 8]. Zdanie "I heard a cat
" byłoby reprezentowane jako [1, 2, 3, 8].
W miarę kontynuowania trenowania model dodaje wszelkie nowe tokeny w tekście szkoleniowym do swojego słownictwa i przypisuje mu identyfikator. Na przykład:
-
meow
(9) -
run
(10)
Relacje semantyczne między tokenami można analizować przy użyciu tych sekwencji identyfikatorów tokenu. Wielowartościowe wektory liczbowe, znane jako osadzanie, są używane do reprezentowania tych relacji. Osadzanie jest przypisywane do każdego tokenu na podstawie tego, jak często jest używany razem z innymi tokenami lub w podobnych kontekstach.
Po wytrenowaniu model może obliczyć osadzanie dla tekstu zawierającego wiele tokenów. Model tokenizuje tekst, a następnie oblicza ogólną wartość osadzania na podstawie poznanych osadzań poszczególnych tokenów. Ta technika może służyć do semantycznych wyszukiwań dokumentów lub dodawania magazynów wektorów do sztucznej inteligencji.
Podczas generowania danych wyjściowych model przewiduje wartość wektora dla następnego tokenu w sekwencji. Następnie model wybiera następny token ze swojego słownictwa na podstawie tej wartości wektora. W praktyce model oblicza wiele wektorów przy użyciu różnych elementów osadzania poprzednich tokenów. Następnie model ocenia wszystkie potencjalne tokeny z tych wektorów i wybiera najbardziej prawdopodobną, aby kontynuować sekwencję.
Generowanie danych wyjściowych to operacja iteracyjna. Model dołącza przewidywany token do dotychczasowej sekwencji i używa go jako dane wejściowe następnej iteracji, tworząc końcowy wynik po jednym tokenie naraz.
Limity tokenów
LlMs mają ograniczenia dotyczące maksymalnej liczby tokenów, które mogą być używane jako dane wejściowe lub generowane jako dane wyjściowe. To ograniczenie często powoduje połączenie tokenów wejściowych i wyjściowych w maksymalnym oknie kontekstowym. W połączeniu, limit tokenów modelu i metoda tokenizacji określają maksymalną długość tekstu, który można podać jako dane wejściowe lub wygenerować jako dane wyjściowe.
Rozważmy na przykład model z maksymalnym oknem kontekstu wynoszącym 100 tokenów. Model przetwarza przykładowe zdania jako tekst wejściowy:
I heard a dog bark loudly at a cat
Przy użyciu metody tokenizacji opartej na wyrazach dane wejściowe to dziewięć tokenów. Spowoduje to pozostawienie 91 tokenów słów dostępnych dla danych wyjściowych.
Przy użyciu metody tokenizacji opartej na znakach dane wejściowe to 34 tokeny (w tym spacje). Pozostawia to tylko 66 jednostek znakowych dostępnych dla wyniku.
Ustalanie cen i limitowanie przepustowości oparte na tokenach
Usługi generatywnej sztucznej inteligencji często używają cen opartych na tokenach. Koszt każdego żądania zależy od liczby tokenów wejściowych i wyjściowych. Ceny mogą się różnić między danymi wejściowymi i wyjściowymi. Zobacz na przykład cennik usługi Azure OpenAI Service.
Usługi generowania sztucznej inteligencji mogą być również ograniczone do maksymalnej liczby tokenów na minutę (TPM). Te limity szybkości mogą się różnić w zależności od regionu usługi i LLM. Aby uzyskać więcej informacji na temat określonych regionów, zobacz Limity przydziału i limity usługi Azure OpenAI Service.