Откройте любой BPE-токенизатор и введите слово “paratrooper”. Вот что вернёт GPT-5.x (токенизатор o200k_base): ['par', 'atro', 'oper']. Три бессмысленных слога. Ваш мозг видит para- (около), troop (отряд), -er (деятель) — а токенизатор видит статистический шум.
Это не баг, а особенность работы Byte Pair Encoding — алгоритма, который разрезает текст по частоте встречаемости пар символов, полностью игнорируя лингвистическую структуру слов. GPT-5.x, Claude, Gemini, LLaMA — все используют варианты BPE.
Несколько групп исследователей независимо друг от друга проверили: что будет, если вернуть в токенизацию лингвистику? Если разрезать слова не по статистике, а по морфемам — корням, приставкам, суффиксам?
Результаты: модели с морфемными токенизаторами показывают снижение loss на 2.6—5.7%, выигрыш +25% на LAMBADA, обучаются вдвое быстрее и демонстрируют ускоренную сходимость [2, 3]. Эффект сильнее для морфологически богатых языков (русский, арабский, венгерский), но заметен даже для английского.
Проблема: BPE режет по живому
Если вы работаете с LLM, вы наверняка знаете, что такое BPE. Но давайте убедимся, что мы на одной волне, потому что дьявол — в деталях.
Byte Pair Encoding — алгоритм сжатия данных, разработанный Филиппом Гейджем (Philip Gage) в 1994 году [5], который в 2016-м Рико Зеннрих адаптировал для NLP и превратил в золотой стандарт токенизации [4]. GPT-2 и GPT-3 используют словарь из ~50 тысяч BPE-токенов (точнее, 50 257), GPT-4 — около 100 тысяч (cl100k_base), GPT-5.x — около 200 тысяч (o200k_base), LLaMA — до 128 тысяч. Идея элегантна в своей простоте: начни с отдельных символов, находи самые частые пары, сливай их в новый токен, повторяй до нужного размера словаря.
Почему именно BPE? Потому что это идеальный компромисс. Слишком мало токенов (только буквы) — предложения растягиваются в километровые последовательности, и attention задыхается. Слишком много (целые слова) — словарь раздувается до миллионов, а редкие слова приходится заменять на <UNK>. BPE находит середину: ~50 тысяч субсловных токенов, которые покрывают практически любой текст.
Проблема в том, что BPE слеп к лингвистике. Он оптимизирует статистическую частотность, а не смысл. Вот реальные результаты токенизации GPT-2 (r50k_base) — проверено через tiktoken:
-
“disengage” ->
['dis', 'eng', 'age']. Токен'eng'в “disengage” и'eng'в “engine” для модели одинаковы, хотя между ними нет ничего общего. Правильное морфемное разбиение —['dis', 'en', 'gage'], но BPE его не найдёт, потому что'en'+'gage'встречается реже, чем'eng'+'age'. (GPT-5.x с вдвое бо́льшим словарём (o200k_base, ~200 тысяч токенов) даёт тот же результат:['dis', 'eng', 'age']— удвоение словаря не помогло.)
Для русского ситуация драматичнее. Вот реальные токенизации GPT-5.x (o200k_base):
-
“нерациональный” ->
['нера', 'цион', 'альный']— три токена вместо осмысленных['не', 'рацион', 'альн', 'ый']. Токенов меньше, чем у GPT-4 (было шесть), но ни один по-прежнему не совпадает с морфемой. Приставка “не-” склеена с началом корня ('нера'), корень “рацион” разорван ('нера'+'цион'). -
“играл” ->
['иг', 'рал'], “играла” ->['иг', 'рала'], “игрок” ->['иг', 'рок']— три формы одного корня. У всех есть общий токен'иг', но корень “игр” по-прежнему разорван: часть корня склеена с суффиксами ('рал','рала','рок'). Суффиксы-ал,-ала,-окне выделены как самостоятельные единицы.
И это не просто эстетическая проблема. У неё есть измеримые последствия.
Морфемные границы систематически нарушены. Авторы MorphBPE [2] ввели метрику morphological consistency F1 — она показывает, используют ли слова с общими морфемами общие токены. У стандартного BPE этот показатель катастрофически низок — алгоритм вообще не соблюдает морфемные границы.
Границы морфем нарушены — даже с большим словарём. Возьмём слово “перезагрузка” — GPT-5.x разбивает его на ['пер', 'ез', 'агрузка'], три токена. Морфемное разбиение — ['пере', 'за', 'груз', 'к', 'а']. Словарь вырос вдвое по сравнению с GPT-4, токенов стало меньше, но границы по-прежнему не совпадают с морфемными: приставка “пере-” разорвана ('пер' + часть 'ез'), приставка “за-” тоже ('ез' + начало 'агрузка'). Для агглютинативных языков вроде турецкого ситуация ещё хуже: одно слово может превратиться в 6—8 BPE-токенов с границами посреди суффиксов.
Модели труднее обобщать на словоформы. “Перезагрузка” (['пер', 'ез', 'агрузка']) и “загрузить” (['з', 'агруз', 'ить']) — родственные слова с общим корнем “груз”, но у них нет ни одного общего токена. Корень растворён внутри 'агрузка' и 'агруз' — разных токенов, которые модель воспринимает как несвязанные. Модели приходится тратить параметры и данные, чтобы выучить родство этих слов из контекста.
Для русского, арабского, венгерского, турецкого практически все слова имеют выраженную морфологическую структуру. Чем длиннее слово в морфемах, тем больше мест, где BPE может провести границу неправильно.
Три подхода: как вернуть лингвистику в токенизацию
В 2023—2025 годах появились три независимые работы, которые атакуют проблему с разных сторон. Каждая предлагает свой способ научить токенизатор уважать морфемные границы.
MorphBPE: одна строчка, которая меняет всё
Команда из Qatar Computing Research Institute [2] сделала, пожалуй, самое элегантное решение. Они взяли стандартный алгоритм BPE и добавили одно условие: запретить слияния, которые пересекают морфемные границы.
По сути, это одна проверка if в цикле обучения. Когда BPE хочет слить пару символов в новый токен, MorphBPE смотрит: не проходит ли между ними граница морфемы? Если проходит — пропускаем это слияние и берём следующую по частоте пару.
Для этого нужны данные с размеченными морфемами — авторы использовали SIGMORPHON 2022 (5 млн слов на 9 языках) [6] и MorphyNet (346 тыс. слов с морфологической разметкой) [7].
Результаты на моделях с 300M и 1B параметрами говорят сами за себя. Cross-entropy loss при обучении снижается на 2.6% для английского, 3.5% для русского, 5.3% для арабского и 5.7% для венгерского. Максимальный эффект — для агглютинативных языков, где морфология особенно важна.
Но самая показательная метрика — morphological consistency F1. Она отвечает на вопрос: если два слова имеют общие морфемы, используют ли они общие токены? Для стандартного BPE эта метрика равна нулю на английском и арабском. Буквально ноль — BPE вообще не соблюдает морфемные границы. MorphBPE поднимает её до 0.24 для английского, 0.45 для русского, 0.66 для арабского и 0.87 для венгерского. Разница колоссальна: от нуля до 0.87.
Авторы также предложили метрику Morphological Edit Distance — сколько правок нужно, чтобы превратить BPE-токены в правильные морфемы. MorphBPE даёт на 40-60% меньше правок для всех тестируемых языков. Это значит, что токены MorphBPE объективно “ближе” к лингвистической истине.
И ещё один важный момент: MorphBPE полностью совместим с существующими пайплайнами. Это drop-in замена, не требующая изменений архитектуры модели. Вы берёте свой обычный код обучения, меняете токенизатор — и получаете улучшение. Никаких новых гиперпараметров, никаких изменений в attention или loss function.
MorphPiece: два уровня — морфемы плюс BPE
Харис Джаббар из LMU Munich [3] пошёл другим путём. Вместо модификации BPE он создал двухуровневую архитектуру: таблица морфем (MorphTable) как основной метод, и обычный BPE как fallback.
Как это работает на практике? Процесс построения состоит из двух этапов. Сначала берётся датасет MorphyNet с 346 тысячами размеченных английских слов. Из него выделяются уникальные морфемы, которые встречаются более 5 раз в корпусе — получается 18 304 морфемных токена и 134 943 записи в lookup-таблице. Затем берётся корпус OpenWebText (40GB текста), из него удаляются все слова, которые есть в MorphTable, и на оставшемся обучается обычный BPE — ещё 32 тысячи токенов. Словари объединяются: 18k морфем + 32k BPE = примерно 50 тысяч токенов, как у GPT-2.
При токенизации всё просто: если слово есть в MorphTable, разбиваем по морфемам. Если нет — применяем BPE. Слово “photographers” превратится в ['photo#', '#graph', '#er', '#s'], а незнакомое “xylophone” — в BPE-токены ['xy', 'lo', 'phone'].
Для кодирования типа морфемы используется специальный символ #. Символ # в конце токена означает префикс (dis#), в начале — суффикс (#ing), без # — корень, а отдельный # — разделитель сложных слов. Эта разметка позволяет детокенизатору точно восстановить исходный текст, несмотря на разбиение на морфемы.
Ключевая фишка MorphPiece — канонические формы. BPE работает с поверхностными формами: “batted” -> ['b', 'atted'], “batting” -> ['bat', 'ting'] (реальные токенизации GPT-5.x, o200k_base). Один корень “bat”, но BPE разрезает его по-разному. MorphPiece нормализует: “batted” -> ['bat', '#ed'], “batting” -> ['bat', '#ing']. Корень всегда выделен, суффикс всегда выглядит одинаково — модель быстрее схватывает паттерн.
Результаты MorphGPT (GPT-2, обученная с MorphPiece) на бенчмарке LAMBADA (предсказание последнего слова в параграфе): 58.58% против 46.88% у GPT-2 Base (оценка авторов [3]; официальные результаты OpenAI для GPT-2 отличаются из-за методологии). Причём MorphGPT обучалась вдвое меньше — 200 тысяч шагов против 400 тысяч. Более того, MorphGPT с 200k шагов обучения практически догнала GPT-2 Large (модель в 6 раз больше) — 58.58% vs 58.76%.
На GLUE (zero-shot, без дообучения) MorphGPT выигрывает в 5 из 7 задач. Относительное улучшение доходит до +54% на RTE (логический вывод, с 0.216 до 0.335) и +46% на QNLI (вопрос-ответ, с 0.144 до 0.211) — учитывая, что GPT-2 Base в zero-shot режиме на GLUE показывает слабые абсолютные результаты. На MTEB (58 задач на эмбеддинги) улучшение доходит до +139% в задаче retrieval и +93% в кластеризации.
Это не погрешность. Это качественный скачок.
Сравнение с FLOTA — ещё одним морфемным подходом
Есть ещё FLOTA (Few Longest Token Approximation) [8] — метод, при котором BPE-токенизатор пытается сохранить морфемные границы, выбирая самые длинные подстроки. Отличие от MorphPiece: FLOTA применяется только при fine-tuning, а не при pretrain.
На задаче классификации научных статей ArXiv стандартная GPT-2 показала 42.9%, GPT-2 с FLOTA — 45.4%, а MorphGPT — 58.8%. Разрыв с FLOTA — +20—35%. Причина проста: FLOTA — это заплатка поверх уже обученной модели, а MorphPiece встроен в pretrain. Модель учится с морфемами с первого шага, и это принципиально другое качество представлений.
Unigram + морфологическая пресегментация: другой алгоритм, тот же вывод
Третья работа — от команды из Индии [1] — подошла к вопросу с неожиданной стороны. Вместо модификации BPE они показали, что для морфологически богатых языков сам алгоритм Unigram работает лучше, чем BPE, и добавление морфологической пресегментации усиливает эффект.
Эксперименты проводились на телугу — агглютинативном языке с богатой морфологией, для которого авторы специально создали датасет из 600 деривационных и 7000 флективных форм с gold-сегментациями. Использовались маленькие BERT-модели. BPE baseline показал 78.2% accuracy на классификации текста. BPE с морфологической пресегментацией — 81.5%. Unigram baseline — 83.1%. А Unigram с пресегментацией — 84.9%.
Два вывода. Первый: выбор алгоритма токенизации (Unigram vs BPE) важнее, чем морфологическая информация. Второй: морфологическая информация полезна для обоих алгоритмов, но BPE получает от неё больше — потому что изначально дальше от лингвистической корректности.
Стоит учитывать, что многие современные модели (LLaMA, Gemini) уже используют SentencePiece с Unigram, а не BPE. Авторы MorphBPE [2] в своей работе не сравнивали MorphBPE с Unigram-вариантом, поэтому прямого сопоставления пока нет.
Это важный практический результат. Если вы обучаете модель для морфологически богатого языка (русский, турецкий, финский), переход на Unigram-токенизатор может дать больше, чем добавление морфологической информации к BPE. А если совместить оба — получите максимальный эффект.
Сводная таблица методов
|
Метод |
Принцип |
Снижение loss |
Fertility |
Требования к данным |
|---|---|---|---|---|
|
BPE (baseline) |
Слияние частых пар символов |
0% |
1.0x |
Нет |
|
MorphBPE |
Запрет слияний через границы морфем |
2.6—5.7% |
~1.0x |
Размеченные морфемы |
|
MorphPiece |
MorphTable + BPE fallback |
Сравнимо с MorphBPE |
1.17x |
MorphyNet |
|
Unigram + морф. |
Unigram с пресегментацией |
До +7% accuracy |
? |
Размеченные морфемы |
Почему это вообще работает
Ок, цифры впечатляют. Но почему замена токенизатора даёт такой эффект? Архитектура модели остаётся прежней — те же Transformer-блоки, тот же attention. Но изменение входных данных влияет на качество представлений.
Inductive bias: подсказка вместо зубрёжки
В машинном обучении есть понятие inductive bias — априорные знания, которые вы встраиваете в модель. CNN знает, что соседние пиксели важны (это locality bias). Transformer знает, что все токены могут взаимодействовать (это attention bias).
Морфемная токенизация — это лингвистический inductive bias: “слова состоят из значащих частей”. Вместо того чтобы модель сама выводила это из триллионов токенов (а она выводит, но тратит на это параметры и время), мы сообщаем ей об этом заранее через структуру входных данных.
Аналогия: представьте, что вы учите ребёнка читать, но пишете слова слитно: “играйсдрузьяминаулице”. Он рано или поздно разберётся, где границы слов. Но если сразу написать “играй с друзьями на улице” — он поймёт намного быстрее. Морфемная токенизация делает то же самое, только на уровень глубже — внутри слов.
Канонические формы: порядок вместо хаоса
BPE работает с поверхностными формами. Вот как GPT-5.x (o200k_base) токенизирует прошедшее время: “batted” -> ['b', 'atted'], “played” -> ['played'] (один токен!), “danced” -> ['d', 'anced']. Три слова с одним и тем же суффиксом “-ed”, и ни в одном из них этот суффикс не выделен. Модель видит три совершенно разные структуры для одной грамматической конструкции. Чтобы связать их, ей нужны тысячи примеров.
MorphPiece нормализует: всегда '#ed', всегда '#ing'. Модель увидела 100 слов с '#ing' — и уже понимает паттерн. В BPE ей нужно увидеть 1000 слов, чтобы связать -ing, -ting, -ning как варианты одного и того же.
Для русского это ещё драматичнее. “Бегу”, “бежишь”, “бежит” — три формы одного глагола, и корень меняется (бег/беж). BPE может разрезать их по-разному, теряя связь. Морфемный токенизатор всегда сохранит общий корень.
Статистическая эффективность: меньше шума — меньше данных
Есть теоретическое объяснение из теории обучения: чем больше шума в данных, тем больше параметров и данных нужно для обобщения. BPE вносит лингвистический шум: модель видит 'нера' — первый токен “нерациональный” в GPT-5.x — и должна из контекста понять, что здесь приставка “не-“, склеенная с началом корня. Токен 'нера' как целое не несёт морфемного смысла: приставка и корень смешаны в одном токене, и модель не уверена, где кончается одно и начинается другое.
MorphBPE убирает этот шум. Приставка 'не#' встречается в начале сотен тысяч слов, и модель мгновенно усваивает паттерн.
На практике: кривые training loss в [2] показывают, что MorphBPE достигает того же уровня потерь быстрее, чем стандартный BPE, — модель сходится за меньшее число шагов. При масштабах обучения современных LLM, когда стоимость одного запуска измеряется миллионами долларов, ускорение сходимости — аргумент, который понимают все.
Бонус: интерпретируемость
Представьте: модель выдала неправильный ответ, и вы хотите понять почему. Смотрите на attention-карту.
С BPE: слово “disengagement” разбито на ['dis', 'eng', 'agement'] (GPT-5.x, o200k_base). Токен 'eng' имеет высокий вес. Что это значит? Кусок слова? Часть “engine”? Начало “engagement”? Непонятно.
С MorphPiece: то же слово — ['dis#', 'en#', 'gage', '#ment']. Префикс 'dis#' имеет высокий вес. Теперь ясно: модель фокусируется на отрицательной приставке. Это можно проверить, убрав 'dis#' и посмотрев, как изменится предсказание.
Исследователи MorphGPT обнаружили [3], что модель самостоятельно научилась различать негативные префиксы (un-, dis-) и нейтральные (re-, pre-) — без явного обучения. BPE-модель таких паттернов не выявляла.
Для практика это означает: если ваша модель ошибается, вы можете посмотреть на attention-веса морфемных токенов и понять, какая часть слова повлияла на решение. С BPE — вы смотрите на бессмысленные фрагменты, и interpretability стремится к нулю.
Ограничения: не всё так гладко
Честность требует сказать: морфемная токенизация — не серебряная пуля. У неё есть реальные ограничения.
Нужны размеченные данные
Чтобы обучить MorphBPE, нужен датасет, где каждое слово разбито на морфемы. Для английского, русского, арабского, венгерского такие датасеты есть — SIGMORPHON [6], UniMorph (150+ языков), MorphyNet [7]. Но для множества языков (удмуртский, бурятский, сотни языков Африки и Океании) их просто нет.
Создание качественной морфологической разметки для нового языка — это работа лингвистов-экспертов, измеряемая месяцами. Датасеты вроде SIGMORPHON готовились международными командами. Существуют unsupervised-методы вроде Morfessor [9], но их точность — около 70—80% против 95% у supervised. Ошибки в морфемных границах могут навредить больше, чем отсутствие морфологии вообще.
Морфология — это не семантика
Морфемы не всегда означают то, что кажется. “Малина” — это не “мал-ина” (маленькая Ина). “Забор” — это не “за-бор” (за борьбу). А “бить баклуши” — морфемы ['бить', 'баклуш', 'и'] не объясняют смысл фразы.
MorphPiece использует ручную разметку из MorphyNet, которая учитывает такие случаи. Но автоматические методы ошибаются, и ложные морфемы могут запутать модель.
Есть и проблема омонимии морфем. Приставка “за-” в словах “зайти” (войти), “забор” (ограждение) и “закат” (конец дня) имеет совершенно разные значения. Морфемный токенизатор присваивает им один и тот же токен 'за#', хотя семантика различна. Впрочем, у BPE та же проблема на уровне субслов — и даже хуже, потому что субслова менее предсказуемы.
Fertility: больше токенов на слово
MorphPiece генерирует на 17% больше токенов, чем BPE [3]. Это значит: предложение из 20 слов даст примерно 24 токена вместо 20. Больше токенов — длиннее последовательность, меньше контекста в фиксированном окне.
Парадокс: несмотря на это, модель учится быстрее и показывает лучшее качество. Авторы объясняют это тем, что каждый токен информативнее — он несёт больше семантического содержания. Аналогия: китайские иероглифы — один символ на морфему. Текст на китайском короче в символах, но каждый символ плотнее упакован информацией.
Означает ли 17% больше токенов ровно 17% замедление inference? Не обязательно: если каждый токен информативнее, модели может потребоваться меньше слоёв или параметров для достижения того же качества. Но систематических измерений влияния на latency пока нет — это открытый вопрос.
Тем не менее, для задач, где критична длина контекста (RAG, суммаризация длинных документов), увеличение fertility — это реальная проблема.
Английский — плохой тестовый стенд
Английский — морфологически бедный язык: короткие суффиксы (-ing, -ed, -s), почти нет агглютинации. Для него MorphBPE даёт +2.6% снижения loss — заметно, но не революционно. Для венгерского — +5.7%, для телугу — +7% accuracy. Эффект напрямую зависит от морфологической сложности языка.
Проблема в том, что большинство бенчмарков — на английском. Реальный потенциал морфемной токенизации раскрывается на языках, для которых бенчмарков мало.
Масштабирование на 100+ языков
Современные LLM (GPT-5.x, Gemini) поддерживают 100+ языков. Для каждого нужна своя MorphTable или модель морфологии, свой детокенизатор с правилами склейки. Это инженерная сложность, которой нет у BPE — один и тот же код работает на всех языках без модификаций.
Возможное решение — кросс-языковые морфологические модели [10], которые переносят знания с размеченных языков на неразмеченные. Идея: если модель знает морфологию русского и чешского, она может экстраполировать на украинский или белорусский. Но это пока область активных исследований, и production-ready решений не существует.
Простая инженерная реальность: BPE — это один алгоритм на все языки, один кодовый путь, минимум багов. Морфемная токенизация — это отдельная модель или таблица для каждого языка, отдельный детокенизатор, отдельное тестирование. Для команды из пяти человек, обучающей модель на 100 языках, это разница между “запустить за неделю” и “запустить за полгода”.
Барьеры внедрения в production
Даже если морфемная токенизация даёт выигрыш в экспериментах, путь до production длинный.
Обратная совместимость. Токенизатор нельзя поменять без переобучения модели с нуля. Для компании, вложившей десятки миллионов долларов в обучение текущей модели, это не “обновление зависимости”, а новый проект.
Ecosystem lock-in. Весь пайплайн — fine-tuning, RLHF, инструменты для prompt engineering, evaluation-фреймворки — привязан к конкретному токенизатору. Смена токенизации тянет за собой каскад изменений во всём стеке.
Инженерная сложность. BPE — один алгоритм на все языки. Морфемная токенизация — отдельная модель или таблица для каждого языка, свой детокенизатор, отдельное тестирование. Для мультиязычной модели на 100+ языков это тысячи артефактов, которые нужно создать, протестировать и поддерживать.
Приоритеты бизнеса. Компании вкладываются в масштабирование данных и параметров — это проверенный путь к улучшению качества. Токенизация воспринимается как “решённая задача”, и переключение внимания на неё требует убедительных доказательств ROI.
Что дальше: от эксперимента к production
На февраль 2026 года ландшафт выглядит так: GPT-5.x, Claude, Gemini используют BPE/SentencePiece. Среди первых моделей, использующих MorphBPE, — арабоцентричная LLM Fanar [2, 12].
Но есть несколько причин, по которым ситуация может измениться в ближайшие годы.
Экономика. MorphBPE ускоряет сходимость обучения — а это экономия GPU-часов и денег. При текущей гонке вооружений в AI любое преимущество в стоимости обучения — аргумент.
Мультиязычность. Спрос на мультиязычные модели растёт: бизнес и государства инвестируют в поддержку национальных языков. Для морфологически богатых языков (финский, венгерский, турецкий) морфемная токенизация даёт качественный скачок, который сложно получить простым увеличением данных.
Открытые модели. LLaMA, Mistral и другие open-source модели ищут конкурентные преимущества. Морфемная токенизация — один из тех редких случаев, когда улучшение доступно без увеличения размера модели или объёма данных.
Есть и более спекулятивные направления.
Динамическая токенизация. Сейчас токенизация статична: словарь фиксирован при обучении и не меняется. А что если делать её адаптивной? Модель сама выбирает, как разбить слово в зависимости от контекста. Слово “играл” в контексте спорта — ['игр', '#ал']. В контексте музыки — может, другое разбиение. Для этого нужна differentiable tokenization — градиенты, проходящие через токенизатор. Пока это на уровне ранних экспериментов, но идея захватывающая.
Морфология плюс синтаксис. Морфемы — это микро-уровень. А что с макро-уровнем? Предложение “Мама мыла раму” имеет структуру: подлежащее, сказуемое, дополнение. Современные модели учатся синтаксису имплицитно, из данных. Что если дать его эксплицитно? Токенизатор, который размечает не только морфемы, но и синтаксические роли — это потенциально следующий уровень inductive bias.
Мультимодальные морфемы. Vision Transformers разбивают картинку на patches — квадраты 16×16 пикселей. Но patches не несут семантики, это как буквы, а не морфемы. Есть ли “визуальные морфемы” — части изображений, соответствующие объектам или их частям? Работы вроде SAM (Segment Anything) [11] движутся в этом направлении, но до морфемного уровня пока не дошли.
Как попробовать самому
Если вам интересно поиграть с морфемной токенизацией — вот ресурсы, с которых стоит начать.
-
MorphBPE Tokenizer Playground — tokenizer.llm-lab.org. Веб-интерфейс, где можно ввести текст и увидеть, как MorphBPE разбивает его на токены по сравнению с обычным BPE. Хороший способ интуитивно почувствовать разницу.
-
MorphBPE на GitHub — github.com/llm-lab-org/MorphBPE. Официальный репозиторий с кодом. Пока минималистичный, но это reference implementation из статьи.
-
MorphyNet — github.com/kbatsuren/MorphyNet. База из 13.5 млн морфологических записей на 15 языках (включая русский, английский, венгерский, финский). Это те самые данные, на которых обучаются MorphBPE и MorphPiece.
-
SIGMORPHON 2022 Shared Task — github.com/sigmorphon/2022SegmentationST. Датасет из 5 млн размеченных слов на 9 языках. Содержит gold-стандартные сегментации для обучения и оценки.
-
UniMorph — unimorph.github.io. Морфологические аннотации для 169 языков — от финского и турецкого до навахо и зулу. Если вы работаете с языком, для которого нет готового морфемного токенизатора, это место, где искать данные. Есть даже Python-пакет:
uv add unimorph.
Самый быстрый способ “пощупать” разницу — зайти на MorphBPE Playground и ввести несколько предложений на русском или английском. Вы сразу увидите, как морфемные границы меняют разбиение, и почувствуете, почему это может быть важно для модели.
Заключение: фундамент, о котором забыли
Токенизация — это невидимый фундамент всего AI для текста. Мы годами наращивали количество параметров, данных, GPU-часов. Но не трогали один из первых этапов пайплайна — этап, где текст превращается в числа.
Серия работ 2023—2025 годов показала: если дать моделям морфемно-осознанные токены, они начинают учиться заметно лучше. Конкретные цифры:
-
+25—54% точность на задачах понимания языка (GLUE, LAMBADA)
-
Ускорение сходимости обучения (меньше шагов до целевого loss)
-
+93—139% улучшение эмбеддингов (MTEB, retrieval, clustering)
-
MorphGPT с 200k шагами догоняет GPT-2 Large (6x больше параметров)
И это работает даже для английского. Для морфологически богатых языков — русского, арабского, венгерского, турецкого — эффект ещё сильнее.
Если вы пользователь AI — ждите: модели станут дешевле (меньше вычислений = ниже цены API) и будут лучше работать с русским и другими не-английскими языками.
Если вы разработчик — следите за open-source моделями. Морфемная токенизация — один из способов догнать GPT-5.x без наращивания параметров. Fine-tuning на нишевых языках станет реальнее.
Если вы исследователь — здесь десятки открытых вопросов: динамическая токенизация, кросс-языковая морфология, интеграция с синтаксисом, мультимодальные аналоги морфем.
Главный урок прост: статистика (BPE) плюс лингвистика (морфемы) работает лучше, чем каждое по отдельности. Мы десять лет оптимизировали архитектуры, данные, compute — и забыли про самый первый этап пайплайна. Оказалось, что изменение на уровне входных данных может дать то, что раньше требовало шестикратного увеличения модели.
Мы прошли путь от символов (1980-е) к словам (1990-е), к субсловам (2010-е). Теперь пришло время морфем. А что дальше? Может, синтаксис. Или полный отказ от фиксированных словарей в пользу байтовых и character-level подходов. Но это уже совсем другая история.
Одно ясно точно: токенизация — не просто “технический этап, о котором можно не думать”. Это фундамент. И от того, как вы разрезаете текст на кусочки, зависит, насколько хорошо модель сможет его понять.
—-
References
[1] Vemula, S. R., Dandapat, S., Sharma, D. M., & Krishnamurthy, P. (2025). Rethinking Tokenization for Rich Morphology: The Dominance of Unigram over BPE and Morphological Alignment. arXiv:2508.08424
[2] Asgari, E., El Kheir, Y., & Sadraei Javaheri, M. A. (2025). MorphBPE: A Morpho-Aware Tokenizer Bridging Linguistic Complexity for Efficient LLM Training Across Morphologies. arXiv:2502.00894
[3] Jabbar, H. (2023). MorphPiece: A Linguistic Tokenizer for Large Language Models. arXiv:2307.07262
[4] Sennrich, R., Haddow, B., & Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. Proceedings of ACL, 1715—1725. ACL Anthology
[5] Gage, P. (1994). A New Algorithm for Data Compression. C Users Journal, 12(2), 23—38.
[6] Batsuren, K., Bella, G., Arora, A., et al. (2022). The SIGMORPHON 2022 Shared Task on Morpheme Segmentation. arXiv:2206.07615
[7] Batsuren, K., Bella, G., & Giunchiglia, F. (2021). MorphyNet: a Large Multilingual Database of Derivational and Inflectional Morphology. Proceedings of SIGMORPHON, 39—48. ACL Anthology
[8] Hofmann, V., Schuetze, H., & Pierrehumbert, J. (2022). An Embarrassingly Simple Method to Mitigate Undesirable Properties of Pretrained Language Model Tokenizers. Proceedings of ACL (Volume 2: Short Papers), 385—393. ACL Anthology
[9] Creutz, M., & Lagus, K. (2005). Unsupervised Morpheme Segmentation and Morphology Induction from Text Corpora Using Morfessor. Computer and Information Science Reports, Helsinki University of Technology.
[10] Chi, Z., Dong, L., Wei, F., et al. (2021). Cross-Lingual Natural Language Generation via Pre-Training. Proceedings of AAAI, 12715—12723.
[11] Kirillov, A., Mintun, E., Ravi, N., et al. (2023). Segment Anything. arXiv:2304.02643
[12] FanarTeam, Abbas, U., Ahmad, M. S., et al. (2025). Fanar: An Arabic-Centric Multimodal Generative AI Platform. arXiv:2501.13944
Автор: Rummar


