Кодування пари байтів
Кодування пари байтів (BPE) — це алгоритм на основі стиснення, який створює словник шляхом повторного злиття найпоширеніших пар символів.
Огляд
It is the tokenizer behind GPT models, balancing tiny vocabularies of characters against huge vocabularies of whole words.
Глибоке занурення
BPE починає розглядати текст як послідовність окремих символів (або необроблених байтів). Потім він підраховує кожну сусідню пару символів, об’єднує найчастішу пару в новий токен і повторює це тисячі разів. Кожне злиття записується як правило. Поширені послідовності літер, як-от «th», «ing» або цілі часті слова поступово перетворюються на окремі лексеми, тоді як рідкісні слова залишаються розбитими на менші частини. Спочатку метод стиснення даних з 1994 року, він був адаптований до НЛП Sennrich та ін. у 2016 році для машинного перекладу. GPT-2 і GPT-4 використовують BPE на рівні байтів, який працює з байтами UTF-8, тому будь-які символи, емодзі чи мову завжди можна закодувати без помилок поза межами словникового запасу.
Технічне розуміння
Навчання BPE створює впорядкований список правил злиття. Щоб токенізувати новий текст, алгоритм розбиває його на байти/символи та жадібно застосовує злиття в тому самому порядку пріоритету, доки не знайдеться жодне правило. BPE на рівні байтів гарантує резервний варіант: навіть невидимий символ розкладається на складові байти, тому словник із 256 байтів плюс навчене злиття охоплює все без маркера UNK.
Стратегічний вплив
Швидкість і масштаб
Мовні робочі процеси можуть рухатися швидше без шкоди для узгодженості.
Доступ і охоплення
Це розширює доступ до різних мов і стилів спілкування.
Чіткіші рішення
Команди можуть витрачати більше часу на оцінювання, поки автоматизація справляється з повторенням.
Майбутнє байт-парного кодування
BPE залишається робочою конячкою токенізації, але тиск зростає в бік байтових або символьних моделей, які пропускають явну токенізацію, уникаючи таких примх, як незручне розділення коду, математики або неанглійських сценаріїв. Дослідження архітектури без токенів і навчених токенізаторів мають на меті виправити упередження BPE. Тим не менш, його швидкість і ефективність стиснення означають, що словники у стилі BPE будуть підтримувати більшість виробничих LLM у найближчому майбутньому.
Реалізація в реальному світі
GPT-2 і GPT-4 використовують BPE на рівні байтів, тому будь-які символи Unicode або емодзі можна кодувати без помилок.
Системи машинного перекладу використовують BPE для розділення рідкісних або складних слів на фрагменти підслів для багаторазового використання, які використовуються різними мовами.
Бібліотека токенізаторів Hugging Face тренує словники BPE для користувацьких доменів, таких як біомедичні чи юридичні тексти.
Моделі коду токенізують ідентифікатори та ключові слова за допомогою BPE, об’єднуючи такі часті шаблони, як «def» або «==», в окремі токени.
Ризики та огорожі
Галюциновані факти можуть непомітно входити у звіти, допоміжні потоки або результати досліджень.
Делікатність підказок може створити суперечливі результати для подібних запитів.
Конфіденційні текстові дані можуть бути розкриті, якщо контроль доступу слабкий.
Дорожня карта впровадження
Визначте вихідний формат, тон і стандарти якості перед розгортанням.
Якщо точність має значення, зв’яжіться з надійними джерелами.
Тримайте контрольну точку перевірки людьми для отримання високих ставок.
Відстежуйте моделі збоїв і регулярно перенавчайте підказки або робочі процеси.
Продовжуйте досліджувати
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
Наступний посібник
Токенізація та кодування пар байтів
Часті запитання
What is Byte-Pair Encoding?
Кодування пари байтів (BPE) — це алгоритм на основі стиснення, який створює словник шляхом повторного злиття найпоширеніших пар символів. Це токенізер, що стоїть за моделями GPT, балансуючи крихітні словники символів і величезні словники цілих слів.
Яку основну операцію повторює BPE, щоб створити свій словниковий запас?
BPE підраховує суміжні пари символів і об’єднує один із найпоширеніших у новий токен, повторюючи тисячі разів.
Як BPE розглядає текст, коли починає навчання?
BPE починає з найменших одиниць (символів або необроблених байтів) і нарощує більші токени шляхом злиття.
Чому BPE на рівні байтів уникає помилок поза словником (UNK)?
Оскільки базовий словник включає всі 256 байтів, навіть невидимі символи повертаються до свого байтового представлення.
Звідки взявся алгоритм BPE до того, як його прийняла НЛП?
BPE було представлено як техніку стиснення даних у 1994 році та пізніше адаптовано для токенізації підслів у 2016 році.
Як BPE застосовує вивчені правила під час токенізації нового тексту?
Правила злиття впорядковуються, і токенізація застосовує їх жадібно за пріоритетом, доки не знайдеться жодного відповідного правила.