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).
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
Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.
Test porównawczy w realistycznych warunkach obciążenia i danych.
Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.
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.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Następny poradnik
Kodowanie par bajtów
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.