PRZEWODNIK Językowy AI

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.

2 minuty czytaniaOstatnia aktualizacja

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

1

Zdefiniuj format wyjściowy, ton i standardy jakości przed wdrożeniem.

2

Zawsze, gdy liczy się dokładność, korzystaj z zaufanych źródeł.

3

Utrzymuj punkt kontrolny weryfikacji ręcznej w przypadku wyników o wysokiej stawce.

4

Ś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.

Rozpocznij quiz

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.