Kodowanie par bajtów
Kodowanie par bajtów (BPE) to algorytm inspirowany kompresją, który tworzy słownictwo poprzez wielokrotne łączenie najczęściej występujących par symboli.
Przegląd
It is the tokenizer behind GPT models, balancing tiny vocabularies of characters against huge vocabularies of whole words.
Głębokie nurkowanie
BPE rozpoczyna się od potraktowania tekstu jako sekwencji pojedynczych znaków (lub surowych bajtów). Następnie zlicza każdą sąsiadującą parę symboli, łączy najczęstszą parę w nowy token i powtarza to tysiące razy. Każde połączenie jest z reguły rejestrowane. Typowe sekwencje liter, takie jak „th”, „ing” lub całe częste słowa stopniowo stają się pojedynczymi symbolami, podczas gdy rzadkie słowa pozostają podzielone na mniejsze części. Pierwotnie metoda kompresji danych z 1994 r., została zaadaptowana do NLP przez Sennricha i in. w 2016 r. w przypadku tłumaczenia maszynowego. GPT-2 i GPT-4 używają BPE na poziomie bajtów, który działa na bajtach UTF-8, więc każdy znak, emoji lub język może być zawsze zakodowany bez błędów związanych ze słownikiem.
Wgląd techniczny
Szkolenie BPE tworzy uporządkowaną listę reguł scalania. Aby tokenizować nowy tekst, algorytm dzieli go na bajty/znaki i stosuje scalanie zachłannie w tej samej kolejności priorytetów, dopóki żadna reguła nie będzie pasować. BPE na poziomie bajtów gwarantuje rozwiązanie awaryjne: nawet niewidoczny symbol rozkłada się na bajty składowe, więc słownictwo składające się z 256 bajtów plus wyuczone połączenia obejmuje wszystko bez tokena UNK.
Wpływ strategiczny
Szybkość i skala
Przepływy pracy związane z językiem mogą przebiegać szybciej bez utraty spójności.
Dostęp i zasięg
Rozszerza dostęp w różnych językach i stylach komunikacji.
Jaśniejsze decyzje
Zespoły mogą spędzać więcej czasu na ocenie, podczas gdy automatyzacja radzi sobie z powtarzalnością.
Przyszłość kodowania par bajtów
BPE pozostaje narzędziem tokenizującym, ale rośnie presja na modele na poziomie bajtów lub znaków, które pomijają jawną tokenizację, unikając dziwactw, takich jak niezręczne podziały w kodzie, matematyce lub skryptach innych niż angielski. Badania nad architekturami beztokenowymi i poznanymi tokenizatorami mają na celu naprawienie uprzedzeń BPE. Mimo to jego szybkość i wydajność kompresji oznaczają, że słowniki w stylu BPE będą w najbliższej przyszłości zasilać większość produkcyjnych LLM.
Implementacja w świecie rzeczywistym
GPT-2 i GPT-4 używają BPE na poziomie bajtów, więc każdy znak Unicode lub emoji można zakodować bez błędów.
Systemy tłumaczenia maszynowego wykorzystują BPE do dzielenia rzadkich lub złożonych słów na fragmenty podsłów wielokrotnego użytku, wspólne dla różnych języków.
Biblioteka tokenizatorów Hugging Face uczy słowników BPE dla niestandardowych domen, takich jak teksty biomedyczne lub prawne.
Modele kodu tokenizują identyfikatory i słowa kluczowe za pomocą BPE, łącząc częste wzorce, takie jak „def” lub „==” w pojedyncze tokeny.
Zagrożenia i poręcze
Halucynacyjne fakty mogą po cichu trafiać do raportów, strumieni wsparcia lub wyników badań.
Szybka czułość może spowodować niespójne wyniki w przypadku podobnych żądań.
Wrażliwe dane tekstowe mogą zostać ujawnione, jeśli kontrola dostępu jest słaba.
Plan wdrożenia
Zdefiniuj format wyjściowy, ton i standardy jakości przed wdrożeniem.
Zawsze, gdy liczy się dokładność, korzystaj z zaufanych źródeł.
Utrzymuj punkt kontrolny weryfikacji ręcznej w przypadku wyników o wysokiej stawce.
Śledź wzorce niepowodzeń i regularnie powtarzaj monity lub przepływy pracy.
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 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
Tokenizacja i kodowanie par bajtów
Często zadawane pytania
What is Byte-Pair Encoding?
Kodowanie par bajtów (BPE) to algorytm inspirowany kompresją, który tworzy słownictwo poprzez wielokrotne łączenie najczęściej występujących par symboli. Jest to tokenizator modeli GPT, równoważący małe słowniki znaków z ogromnymi słownikami całych słów.
Jaką podstawową operację powtarza BPE, aby zbudować swoje słownictwo?
BPE zlicza sąsiadujące pary symboli i łączy tę najczęstszą w nowy token, powtarzając to tysiące razy.
Jak BPE traktuje tekst na początku szkolenia?
BPE zaczyna od najmniejszych jednostek (znaków lub nieprzetworzonych bajtów) i powiększa większe tokeny poprzez fuzje.
Dlaczego BPE na poziomie bajtów pozwala uniknąć błędów poza słownikiem (UNK)?
Ponieważ słownictwo podstawowe obejmuje wszystkie 256 bajtów, nawet niewidoczne symbole wracają do swojej reprezentacji bajtowej.
Skąd wziął się algorytm BPE, zanim został przyjęty przez NLP?
BPE wprowadzono jako technikę kompresji danych w 1994 r., a później zaadaptowano do tokenizacji podsłów w 2016 r.
W jaki sposób BPE stosuje wyuczone zasady podczas tokenizacji nowego tekstu?
Reguły scalania są uporządkowane, a tokenizacja stosuje je zachłannie według priorytetu, dopóki nie przestaną pasować żadne dalsze reguły.