Данные и токенизация 18 просмотров

BPE

Byte Pair Encoding

BPE (Byte Pair Encoding) — алгоритм токенизации, разбивающий текст на подслова путём итеративного слияния самых частых пар символов. Основа токенизаторов GPT, LLaMA и большинства современных LLM.

Что такое BPE

BPE (Byte Pair Encoding) — алгоритм сжатия, адаптированный для NLP (Sennrich et al., 2015). Строит словарь подслов (subwords) снизу вверх: начинает с символов и итеративно объединяет самые частые пары.

Алгоритм обучения

Исходный текст: "low lower lowest"
Начальный словарь: {l, o, w, e, r, s, t, _}

Шаг 1: Самая частая пара (l, o) → merge → "lo"
Шаг 2: Самая частая пара (lo, w) → merge → "low"
Шаг 3: Самая частая пара (e, r) → merge → "er"
Шаг 4: Самая частая пара (e, s) → merge → "es"
...

Результат: "low" = 1 токен, "lower" = "low" + "er", "lowest" = "low" + "es" + "t"

Размеры словарей

Модель Токенизатор Словарь
GPT-2 BPE 50,257
GPT-4 BPE (cl100k) 100,256
LLaMA 3 BPE (tiktoken) 128,256
BERT WordPiece 30,522

Byte-level BPE

Современные токенизаторы (GPT-4, LLaMA 3) работают на уровне байтов, а не символов. Это позволяет обрабатывать любой текст (включая код, emoji, любые языки) без OOV (out-of-vocabulary) токенов.

Влияние на стоимость

Токенизация напрямую влияет на стоимость API:

"Привет, мир!" → GPT-4: 5 токенов → $0.00015 (input)
"Hello, world!" → GPT-4: 4 токена → $0.00012 (input)

Русский текст обычно токенизируется в 1.5-2× больше токенов, чем английский.

Связанные термины

Используется в

Попробуйте на практике

Арендуйте GPU и запустите ML-модели в Intelion Cloud

Начать работу