PRZEWODNIK techniczny

Tokenizacja i kodowanie par bajtów

Tokenizacja dzieli tekst na małe jednostki, które faktycznie odczytuje model języka, a popularną metodą budowania tego słownictwa jest kodowanie par bajtów (BPE).

2 minuty czytaniaOstatnia aktualizacja

Przegląd

It balances having a manageable vocabulary against handling any word the model might encounter.

Głębokie nurkowanie

Modele językowe nie widzą surowych znaków ani całych słów — widzą tokeny, identyfikatory całkowite odwzorowane na fragmenty tekstu. Wybór tych elementów jest kompromisem: słowniki na poziomie słów są ogromne i dławią się niewidzialnymi lub błędnie zapisanymi słowami, podczas gdy słowniki na poziomie znaków powodują, że sekwencje są bardzo długie. Kodowanie par bajtów znajduje się pośrodku. Zapożyczony z algorytmu kompresji danych z lat 90. XX wieku, BPE zaczyna się od pojedynczych znaków (lub nieprzetworzonych bajtów) i wielokrotnie łączy najczęściej sąsiadującą parę w nowy token, poszerzając słownictwo w kierunku wspólnych słów podrzędnych. Częste słowa stają się pojedynczymi tokenami, podczas gdy rzadkie słowa dzielą się na fragmenty, które można ponownie wykorzystać. BPE na poziomie bajtów, używane w modelach GPT, działa na nieprzetworzonych bajtach, dzięki czemu może reprezentować dowolny tekst Unicode — w tym emoji i dowolny język — bez błędów związanych ze słownikiem.

Wgląd techniczny

Szkolenie BPE jest zachłanne i oparte na częstotliwości. Zaczynając od alfabetu podstawowego, zlicza sąsiednie pary symboli w korpusie i łączy najczęstszą parę, z reguły rejestrując każde połączenie. Powtarzanie tego tysiące razy tworzy uporządkowaną listę scalania i ustalone słownictwo. Podsumowując, tekst jest kodowany poprzez zastosowanie reguł scalania w odpowiedniej kolejności. Dlatego liczba tokenów rzadko pokrywa się z liczbą słów: spacje, wielkie litery i rzadkie słowa zmieniają sposób, w jaki fragmenty tekstu stają się tokenami, a pojedyncze słowo może stać się kilkoma tokenami.

Wpływ strategiczny

Koszt i budżet

Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.

Jaśniejsze decyzje

Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.

Kontrola jakości

Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.

Przyszłość tokenizacji i kodowania par bajtów

Tokenizacja jest w fazie aktywnego przemyślenia. Modele na poziomie bajtów i znaków, takie jak ByT5, oraz wyłaniające się architektury bez tokenów lub „utajone w bajtach”, mają na celu całkowite porzucenie stałych słowników, aby modele jednolicie obsługiwały wszelkie dane wejściowe i każdy język. Badacze zajmują się także uczciwością tokenizacji — wiele języków innych niż angielski i języków wymagających niewielkich zasobów kosztuje obecnie znacznie więcej tokenów za zdanie, co podnosi cenę i zmniejsza efektywny kontekst. Spodziewaj się tokenizatorów dostrojonych pod kątem kodu, matematyki i równowagi wielojęzycznej, a także ciągłych eksperymentów, które przesuną granicę z powrotem w kierunku surowych bajtów.

Implementacja w świecie rzeczywistym

Modele GPT i Llama wykorzystują tokenizatory w stylu BPE do przekształcania podpowiedzi w identyfikatory tokenów przetwarzane przez sieć.

Ceny interfejsów API i limity okien kontekstowych są mierzone w tokenach, więc tokenizacja wpływa bezpośrednio na koszt i ilość mieszczącego się tekstu.

Z wdziękiem obsługuj emoji, kod i rzadkie słowa, dzieląc je na fragmenty podsłów lub bajtów wielokrotnego użytku.

Obsługa wielu języków w jednym modelu bez osobnego słownika dla każdego języka, poprzez kodowanie na poziomie bajtów.

Zagrożenia i poręcze

Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.

Koszty infrastruktury i utrzymania są często niedoszacowane.

W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.

Plan wdrożenia

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.

Odkrywaj dalej

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Tokenization and Byte Pair Encoding quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Rozpocznij quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Często zadawane pytania

What is Tokenization and Byte Pair Encoding?

Tokenizacja dzieli tekst na małe jednostki, które faktycznie odczytuje model języka, a popularną metodą budowania tego słownictwa jest kodowanie par bajtów (BPE). Równoważy to posiadanie łatwego do opanowania słownictwa i posługiwanie się jakimkolwiek słowem, które model może napotkać.

Co powoduje tokenizacja, aby model języka mógł czytać?

Modele działają na tokenach — identyfikatorach całkowitych, które oznaczają znaki, słowa podrzędne lub słowa — a nie na surowych ciągach tekstowych.

W jaki sposób kodowanie par bajtów buduje swoje słownictwo?

BPE zaczyna się od znaków lub bajtów i zachłannie łączy najczęściej sąsiadujące pary, stopniowo tworząc wspólne tokeny podsłów.

Jaki problem rozwiązują metody podsłów, takie jak BPE, w porównaniu z tokenizacją na poziomie słowa?

Słowniki na poziomie słów zawodzą w przypadku niewidocznych słów; Tokenizacja podsłów dzieli rzadkie słowa na znane części, unikając problemów związanych ze słownictwem, jednocześnie utrzymując słownictwo w zarządzaniu.

Jaka jest zaleta BPE na poziomie bajtów, stosowanego w modelach GPT?

Działanie na nieprzetworzonych bajtach oznacza, że ​​można zakodować każde możliwe wejście, więc nie ma naprawdę nieznanych znaków, niezależnie od języka i symbolu.

Dlaczego liczba żetonów modelu często różni się od liczby słów w zdaniu?

Tokenizacja podsłów może podzielić pojedyncze słowo na wiele fragmentów i jest wrażliwa na odstępy i wielkość liter, dlatego liczba tokenów rzadko jest równa liczbie słów.